/* Public hero contract: full logo on the left, one H1 and content on the right.
   Home and entity cards retain their compact content/media layouts. */
.pm-hero-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  min-width: 0;
  width: 100%;
}
.pm-hero-heading .pm-hero-heading__logo {
  display: block;
  width: min(100%, 300px);
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: left center;
  flex: none;
}
.pm-hero-heading .pm-hero-heading__title {
  display: block;
  margin: 0;
  width: 100%;
  max-width: 100%;
  color: var(--pm-ink-900);
  font-family: var(--pm-font-heading);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.pm-site-section-hero { width: 100%; min-width: 0; }
.pm-site-section-hero .pm-site-section-hero__card {
  display: grid;
  grid-template-columns: clamp(220px, 24vw, 300px) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(32px, 4vw, 56px);
  row-gap: 16px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid var(--clinic-line, #c7dbff);
  border-radius: 28px;
  background: #fff;
}
/* The neutral wrapper lets logo, title and summary share the same two columns. */
.pm-site-section-hero .pm-hero-heading { display: contents; }
.pm-site-section-hero .pm-hero-heading__logo {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  width: 100%;
  margin-top: 0;
}
.pm-site-section-hero .pm-hero-heading__title { grid-column: 2; grid-row: 1; }
.pm-site-section-hero__card > :not([hidden]) ~ :not([hidden]) { margin-top: 0; }
.pm-site-section-hero .pm-site-section-hero__summary {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 16px;
  align-content: center;
  min-width: 0;
  max-width: none;
  width: 100%;
  grid-column: 2;
  grid-row: 2;
  min-height: 0;
  padding: 0;
  border: 0;
}
.pm-site-section-hero__summary .styles-module-scss-module__3PyzfW__description {
  width: 100%; max-width: none; margin: 0;
  color: var(--pm-ink-700);
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.pm-site-section-hero__summary > form,
.pm-site-section-hero__summary > [class*="-hero-actions"],
.pm-site-section-hero__summary > .pm-appointment-hero-picker {
  width: 100%; max-width: 100%; min-width: 0;
  height: auto;
}
.pm-site-section-hero__summary > [class*="-hero-actions"] {
  display: flex; flex-wrap: wrap; gap: 12px;
}
.pm-site-section-hero__summary > [class*="-hero-actions"] > :is(a,button) {
  flex: 1 1 180px; width: auto; max-width: 100%; min-width: 0;
  min-height: 48px; height: auto; padding: 14px 18px;
  white-space: normal; text-align: center; line-height: 1.35; border-radius: 12px;
}
.pm-site-section-hero__summary .pm-site-search-form {
  display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 10px;
}
.pm-site-search-form .pm-services-hero-search__field { width: 100%; min-width: 0; }
.pm-site-search-form .pm-services-hero-search__button { min-width: 0; padding-inline: 16px; }
.pm-hero-file-note { margin: 0; font-size: 14px; line-height: 1.5; color: var(--pm-ink-700); }

.pm-home-page .pm-home-unified-hero {
  display: grid; gap: 24px; min-width: 0;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid var(--clinic-line, #c7dbff); border-radius: 28px; background: #fff;
}
.pm-home-unified-hero .pm-home-hero-summary { margin: 0; max-width: none; }
.pm-home-page .pm-home-unified-hero .styles-module-scss-module__3PyzfW__description {
  margin: 0; max-width: none; font-size: 16px; line-height: 1.6;
}
.pm-home-unified-hero .styles-module-scss-module__3PyzfW__button {
  display: flex; flex-wrap: wrap; gap: 12px; margin: 0;
}
.pm-home-unified-hero .pm-home-hero-secondary-cta-wrap { margin: 0; }
.pm-home-page .pm-home-unified-hero :is(.pm-home-hero-primary-cta,.pm-home-hero-secondary-cta) {
  min-height: 48px; height: auto; max-width: 100%; min-width: 0;
  padding: 14px 18px; font-size: 16px; line-height: 1.35; white-space: normal;
}
.pm-site-section-hero__summary .styles-module-scss-module____zJ0a__brown { color: #fff; }
.pm-site-section-hero__summary .pm-cooperation-link { color: var(--clinic-primary, #0a55a6); }

.pm-brandbook > .pm-site-section-hero { margin-bottom: 32px; }
.pm-feedback-page { gap: clamp(16px, 1.6vw, 24px); }
@media (max-width: 700px) {
  .pm-site-section-hero .pm-site-section-hero__card { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .pm-site-section-hero .pm-hero-heading { display: flex; gap: 20px; }
  .pm-site-section-hero .pm-hero-heading__logo { width: min(100%, 240px); align-self: auto; margin-top: 0; }
  .pm-site-section-hero .pm-site-section-hero__summary {
    grid-column: 1; grid-row: auto;
    padding-top: 20px; border-top: 1px solid var(--clinic-line, #c7dbff);
  }
}
@media (max-width: 520px) {
  .pm-hero-heading { gap: 20px; }
  .pm-hero-heading .pm-hero-heading__title { font-size: clamp(26px, 6.5vw, 32px); }
  .pm-site-section-hero .pm-site-section-hero__card { padding: 20px; gap: 20px; border-radius: 22px; }
  .pm-site-section-hero .pm-site-section-hero__summary { gap: 14px; padding-top: 20px; }
  .pm-site-section-hero__summary > [class*="-hero-actions"] { flex-direction: column; }
  .pm-site-section-hero__summary > [class*="-hero-actions"] > :is(a,button) { flex: none; width: 100%; }
  .pm-site-section-hero__summary .pm-site-search-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pm-site-search-form .pm-services-hero-search__field { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .pm-home-page .pm-home-unified-hero { padding: 20px; gap: 20px; border-radius: 22px; }
  .pm-home-unified-hero .styles-module-scss-module__3PyzfW__button { flex-direction: column; }
  .pm-home-page .pm-home-unified-hero :is(.pm-home-hero-primary-cta,.pm-home-hero-secondary-cta) { width: 100%; }
}
