/* Shared page refinements */
.price-quick-links { display: none; }

.about-documents .about-document-card {
  min-width: 0; min-height: 280px; padding: 32px; background: #fff; border-radius: 22px;
  display: flex; flex-direction: column; transition: transform .2s ease, background .2s ease;
}
.about-documents .about-document-card:hover { background: var(--brand-mint-soft); transform: translateY(-4px); }
.about-documents .about-document-card h3 { max-width: 100%; margin: 38px 0 12px; font-size: 26px; line-height: 1.15; overflow-wrap: anywhere; }
.about-documents .about-document-card p { margin: 0 0 24px; font-size: 17px; line-height: 1.45; color: #526b84; }
.about-documents .about-document-card b { margin-top: auto; padding-left: 10px; border-left: 3px solid var(--brand-accent); font-size: 16px; color: var(--blue); }
.about-documents .about-document-card:nth-child(3n+1)>span { width: max-content; padding: 4px 10px; border-radius: 999px; background: var(--brand-accent); color: var(--navy); }

@media (max-width: 760px) {
  body[class^="page-"] .page-hero { padding: 24px 0 16px; }
  body[class^="page-"] .page-hero .container { padding: 24px 20px; }
  body[class^="page-"] .page-hero h1 { max-width: 100%; font-size: 30px; line-height: 1.08; letter-spacing: -.015em; }
  body[class^="page-"] .page-hero .kicker { margin-bottom: 8px; font-size: 16px; line-height: 1.3; }
  body[class^="page-"] .page-hero p { margin: 16px 0 0; font-size: 16px; line-height: 1.4; }
  body[class^="page-"] .page-hero + .section { padding-top: 20px; }
  .page-about .page-hero + .section { padding-bottom: 32px; }
  .about-documents { padding-bottom: 56px; }
  .about-documents .about-document-card { min-height: 0; padding: 24px; }
  .about-documents .about-document-card h3 { margin: 28px 0 12px; font-size: 24px; }
  .about-documents .about-document-card p { font-size: 16px; }
  .page-prices .price-quick-links {
    display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px; margin: 0 0 12px; padding: 0; overflow: visible;
  }
  .page-prices .price-quick-links a {
    min-width: 0; min-height: 42px; padding: 9px 14px; border-radius: 24px; background: #fff;
    border: 1px solid transparent; color: var(--navy); display: flex; align-items: center; justify-content: flex-start; text-align: left;
    font-size: 14px; font-weight: 600; line-height: 1.2; overflow-wrap: break-word;
  }
  .page-prices .price-quick-links a:active { background: var(--brand-mint-soft); border-color: var(--brand-accent); color: var(--navy); }
  .page-prices .price-group { scroll-margin-top: 16px; }
}

@media (min-width: 761px) {
  body[class^="page-"] .page-hero { padding: 40px 0 20px; }
  body[class^="page-"] .page-hero .container { padding: 36px 40px; }
  body[class^="page-"] .page-hero h1 { max-width: 100%; font-size: 48px; line-height: 1.05; letter-spacing: -.025em; }
  body[class^="page-"] .page-hero .kicker { font-size: 17px; }
  body[class^="page-"] .page-hero p { margin: 18px 0 0; font-size: 18px; line-height: 1.4; }
  body[class^="page-"] .page-hero + .section { padding-top: 24px; }
  .page-about .page-hero + .section { padding-bottom: 48px; }
  .price-group h2 { line-height: 1.15; }
  .footer-action-links { align-self: start; }
  .clinic-proof-location-only { padding-top: 56px; padding-bottom: 48px; }
  .clinic-proof-location-only + .services-section { padding-top: 48px; }
  .clinic-about-title { margin-bottom: 32px; font-size: 48px; line-height: 1.05; }
  .clinic-proof-location-only .proof-grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 310px 310px;
    gap: 0; border-radius: 24px; overflow: hidden;
  }
  .clinic-proof-location-only .proof-card { min-width: 0; padding: 28px; gap: 16px; border-radius: 0; }
  .proof-card h3 { margin: 0 0 14px; font-size: 30px; line-height: 1.1; }
  .proof-branch h3, .proof-equipment h3 { font-size: 34px; }
  .proof-card p { margin: 0 0 18px; font-size: 18px; line-height: 1.35; }
  .proof-card > .button { min-height: 52px; padding: 0 20px; border-radius: 26px; font-size: 17px; }
  .clinic-proof-location-only .proof-branch { grid-column: 1; grid-row: 1 / 3; }
  .clinic-proof-location-only .proof-equipment { grid-column: 2; grid-row: 1 / 3; justify-content: flex-end; }
  .clinic-proof-location-only .proof-doctors { grid-column: 3; grid-row: 1; }
  .clinic-proof-location-only .proof-prices { grid-column: 3; grid-row: 2; }
  .proof-equipment, .proof-doctors, .proof-prices { justify-content: space-between; }
  .clinic-proof-location-only .proof-equipment::before {
    background: linear-gradient(0deg, #011934 18%, rgba(1, 25, 52, .08) 68%), url('/static/img/proof/equipment-r-evolution-v4.webp') 100% -8% / 150% auto no-repeat;
  }
  .clinic-proof-location-only .proof-equipment > div { max-width: 100%; z-index: 2; }
  .proof-doctors > div, .proof-prices > div { min-width: 0; }
  .proof-doctor-row { margin: 2px 0 16px; }
  .proof-doctor-row img { width: 46px; height: 46px; border-width: 3px; }
  .proof-doctor-row img + img { margin-left: -8px; }
  .home-hero h1 { width: 100%; max-width: none; font-size: clamp(32px, 3vw, 42px); white-space: normal; text-wrap: wrap; }
  .services-section { padding-bottom: 48px; }
  .home-reviews { padding-bottom: 72px; }
  .home-reviews .lower-title { margin-bottom: 32px; }
  .home-locations .route-button { display: none; }
}

/* Compact tablet footer before the full desktop grid has enough room. */
@media (min-width: 761px) and (max-width: 859px) {
  .footer-card { grid-template-columns: 1fr; gap: 28px; }
  .footer-main-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-action-links { width: min(100%, 320px); }
}

@media (min-width: 1121px) {
  .nav-shell > .button-blue { margin-left: auto; }
  .home-hero .hero-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Keep the compact menu until the full navigation fits without overflow. */
@media (min-width: 1121px) and (max-width: 1200px) {
  .nav-shell { position: relative; }
  .nav { display: none; }
  .nav.open {
    position: absolute; z-index: 30; top: calc(100% + 8px); right: 0; left: 0; display: flex;
    flex-direction: column; align-items: flex-start; gap: 0; padding: 16px 24px; border-radius: 22px;
    background: #fff; box-shadow: var(--shadow);
  }
  .nav.open a { width: 100%; min-height: 48px; padding: 10px 0; }
}

@media (min-width: 1181px) and (max-width: 1480px) { .nav a { font-size: 17px; } }
@media (min-width: 1481px) { .nav a { font-size: 19px; } }


