/* 21-pages.css
 * Site-wide helpers and the smaller page templates added for the 1:1 mirror:
 *   - .accent (brand-blue words in headings; used by OAC, Contact, Scheduling)
 *   - About page hero
 *   - Conditions Treated (plain list, or grouped cards with jump bar)
 *   - Scheduling Form disclaimer
 */

/* Accent words inside headings (referenced by templates and ACF instructions) */
.accent{color:var(--color-action);}

/* About page hero (H1) */
.about-hero-band{padding-block:var(--space-12) var(--space-4);text-align:center;}
.about-hero-band__heading{font-size:var(--text-hero);}
.about-hero-band__breadcrumb{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin-bottom:var(--space-4);}
.about-hero-band__breadcrumb a{color:var(--color-action);}
.about-hero-band__breadcrumb span[aria-hidden]{margin:0 var(--space-2);opacity:.5;}

/* Conditions Treated */
.cond-section__intro{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-text-body);text-align:center;margin-bottom:var(--space-10);}
.cond-section__intro a{color:var(--color-action);font-weight:var(--weight-semibold);}
.cond-section__heading{text-align:center;margin-bottom:var(--space-8);}
.cond-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);}
.cond-list__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:var(--weight-medium);color:var(--color-text-primary);font-size:var(--text-base);}
.cond-list__dot{width:8px;height:8px;border-radius:50%;background:var(--color-action);flex-shrink:0;}
.cond-section__more{margin-top:var(--space-12);}
@media(max-width:600px){.cond-list{grid-template-columns:1fr;}}
/* Condition groups + cards (used when the ACF list carries descriptions).
   Desktop: each group is a row - sticky heading column left, 2-col cards right. */
.cond-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-3);margin:0 auto var(--space-16);max-width:var(--container-wide);}
.cond-jump__link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-action);border-radius:var(--radius-full);background:var(--color-bg-white);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-action-text);transition:var(--transition-color);}
.cond-jump__link:hover{background:var(--color-action);border-color:var(--color-action);color:var(--color-text-inverse);}
.cond-jump__count{display:inline-grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 var(--space-1);border-radius:var(--radius-full);background:var(--color-action-light);font-size:var(--text-xs);}
.cond-jump__link:hover .cond-jump__count{background:rgba(255,255,255,.2);}

.cond-group{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-12);align-items:start;max-width:var(--container-wide);margin-inline:auto;padding-block:var(--space-16);border-top:1px solid var(--color-border);scroll-margin-top:calc(var(--nav-height) + var(--space-6));}
.cond-group:first-of-type{border-top:0;padding-top:0;}
.cond-group:last-child{padding-bottom:0;}
.cond-group--plain{grid-template-columns:1fr;}
.cond-group__header{position:sticky;top:calc(var(--nav-height) + var(--space-8));}
.cond-group__num{display:block;font-size:var(--text-2xl);font-weight:var(--weight-light);line-height:1;color:var(--color-action);opacity:.45;margin-bottom:var(--space-4);font-variant-numeric:tabular-nums;}
.cond-group__title{font-size:var(--text-xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-4);}
.cond-group__title::after{content:"";display:block;width:2.5rem;height:2px;margin-top:var(--space-4);background:var(--color-action);}
.cond-group__intro{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted);}

.cond-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);}
.cond-group--plain .cond-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
.cond-card{display:flex;flex-direction:column;padding:var(--space-8);background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:var(--transition-shadow),var(--transition-transform),border-color var(--duration-base) var(--ease-out);}
.cond-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-border-hover);}
.cond-card__name{font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-snug);color:var(--color-text-primary);margin-bottom:var(--space-3);}
.cond-card__desc{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-body);flex:1;margin-bottom:var(--space-6);}
.cond-card__link{display:block;padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-action-text);}
.cond-card__link-label{display:block;margin-bottom:var(--space-1);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);}
.cond-card__link-text{display:inline-flex;align-items:center;gap:var(--space-2);}
.cond-card__link-text svg{transition:var(--transition-transform);}
.cond-card__link:hover{color:var(--color-action-hover);}
.cond-card__link:hover svg{transform:translateX(3px);}

@media(max-width:1100px){
  .cond-group{grid-template-columns:1fr;gap:var(--space-8);}
  .cond-group__header{position:static;max-width:var(--container-text);}
  .cond-group__num{font-size:var(--text-xl);margin-bottom:var(--space-2);}
}
@media(max-width:900px){.cond-group--plain .cond-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){
  .cond-cards,.cond-group--plain .cond-cards{grid-template-columns:1fr;gap:var(--space-4);}
  .cond-card{padding:var(--space-6);}
  .cond-group{padding-block:var(--space-12);}
  .cond-jump{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--space-4)) var(--space-10);padding:0 var(--space-4) var(--space-1);}
  .cond-jump::-webkit-scrollbar{display:none;}
  .cond-jump__link{flex:0 0 auto;}
}
@media(prefers-reduced-motion:reduce){.cond-card:hover{transform:none;}}

/* Expandable content panels (Services sl_{k}_more, Patient Information pi_more) */
.sl-acc{border-top:1px solid var(--color-border-strong);}
.sl-acc__item{border-bottom:1px solid var(--color-border-strong);}
.sl-acc__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-1);cursor:pointer;list-style:none;}
.sl-acc__summary::-webkit-details-marker{display:none;}
.sl-acc__summary::marker{content:"";}
.sl-acc__summary:focus-visible{outline:2px solid var(--color-action);outline-offset:2px;border-radius:var(--radius-sm);}
.sl-acc__title{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-text-primary);transition:var(--transition-color);}
.sl-acc__summary:hover .sl-acc__title{color:var(--color-action);}
.sl-acc__icon{position:relative;flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-full);border:1px solid var(--color-border-action);transition:var(--transition-color),var(--transition-transform);}
.sl-acc__icon::before,.sl-acc__icon::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--color-action);transform:translate(-50%,-50%);transition:var(--transition-transform);}
.sl-acc__icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.sl-acc__item[open] .sl-acc__icon{background:var(--color-action);border-color:var(--color-action);}
.sl-acc__item[open] .sl-acc__icon::before,.sl-acc__item[open] .sl-acc__icon::after{background:var(--color-text-inverse);}
.sl-acc__item[open] .sl-acc__icon::after{transform:translate(-50%,-50%) rotate(0deg);}
.sl-acc__body{padding:0 var(--space-1) var(--space-6);font-size:var(--text-base);}
.sl-acc__body > :last-child{margin-bottom:0;}
.sl-acc__body a{color:var(--color-action);font-weight:var(--weight-semibold);text-decoration:underline;text-underline-offset:2px;}
.sl-acc__item[open] .sl-acc__body{animation:sl-acc-in var(--duration-base) var(--ease-out);}
@keyframes sl-acc-in{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.sl-acc__item[open] .sl-acc__body{animation:none;}}


/* Patient Information: common questions */
.pi-faq__inner{max-width:var(--container-text);margin-inline:auto;}
.pi-faq__lead{margin-bottom:var(--space-8);text-align:center;color:var(--color-text-body);}
.pi-faq .sl-acc{margin-top:var(--space-4);}

/* Scheduling Form */
.sched-disclaimer{margin-top:var(--space-6);padding:var(--space-4) var(--space-5);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--color-text-muted);background:var(--color-bg-alt);border-left:2px solid var(--color-action);}
.contact-hero__tagline a{color:var(--color-action);font-weight:var(--weight-semibold);}

/* Homepage procedure categories (Preventive / Diagnostic / Therapeutic) */
.svc-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-10);}
.svc-cats__item{display:flex;flex-direction:column;padding:var(--space-6) var(--space-8);background:var(--color-bg-white);border:1px solid var(--color-border);border-top:3px solid var(--color-action);border-radius:var(--radius-lg);}
.svc-cats__title{font-size:var(--text-md);font-weight:var(--weight-bold);margin-bottom:var(--space-2);}
.svc-cats__list{font-size:var(--text-sm);color:var(--color-text-body);line-height:var(--leading-normal);flex:1;margin-bottom:var(--space-4);}
.svc-cats__link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-action-text);}
.svc-cats__link:hover{color:var(--color-action);}
@media(max-width:900px){.svc-cats{grid-template-columns:1fr;}}

/* About: doctor profile cards (portrait + compact text + tabs) */
.doc-card{display:grid;grid-template-columns:minmax(260px,5fr) 7fr;gap:var(--space-12);align-items:start;margin-bottom:var(--space-32);}
.doc-card:last-child{margin-bottom:0;}
.doc-card--reverse{grid-template-columns:7fr minmax(260px,5fr);}
.doc-card--reverse .doc-card__media{order:2;}
.doc-card__media{position:sticky;top:calc(var(--nav-height) + var(--space-6));}
.doc-card__portrait{margin:0;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;background:var(--color-bg-alt);box-shadow:var(--shadow-md);}
.doc-card__img{width:100%;height:100%;object-fit:cover;display:block;}
.doc-card__img--placeholder{background:linear-gradient(160deg,var(--color-bg-alt),var(--color-action-light));}
.doc-card__langs{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-body);}
.doc-card__langs span{display:block;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-1);}
.doc-card__body{min-width:0;}
.doc-card__name{font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:var(--tracking-tight);margin:var(--space-1) 0 var(--space-2);}
.doc-card__role{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-action-text);margin-bottom:var(--space-6);}
.doc-card__lead{font-size:var(--text-md);line-height:var(--leading-normal);}
.doc-card__quote{position:relative;margin:var(--space-6) 0 0;padding:var(--space-2) 0 var(--space-2) var(--space-6);border-left:2px solid var(--color-action);font-size:var(--text-md);font-style:italic;line-height:var(--leading-normal);color:var(--color-text-primary);}
.doc-card__quote::before{content:"\201C";position:absolute;left:var(--space-3);top:-.35em;font-family:Georgia,serif;font-size:3.5rem;font-style:normal;line-height:1;color:var(--color-action);opacity:.18;}

.doc-tabs{margin-top:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-white);box-shadow:var(--shadow-xs);overflow:hidden;}
.doc-tabs__list{display:flex;gap:var(--space-1);padding:var(--space-2);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none;}
.doc-tabs__list::-webkit-scrollbar{display:none;}
.doc-tabs__tab{flex:0 0 auto;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted);transition:var(--transition-color);}
.doc-tabs__tab:hover{color:var(--color-action-text);background:var(--color-action-hover-bg);}
.doc-tabs__tab[aria-selected="true"]{color:var(--color-text-inverse);background:var(--color-action);}
.doc-tabs__panel{padding:var(--space-6) var(--space-6) var(--space-5);}
.doc-tabs__panel:focus-visible{outline-offset:-2px;}
.doc-tabs__content{font-size:var(--text-base);}
.doc-tabs__content li::marker{color:var(--color-action);}
/* Clamped biography with fade */
.doc-tabs__panel--clamp .doc-tabs__content{max-height:15rem;overflow:hidden;position:relative;transition:max-height var(--duration-slow) var(--ease-out);}
.doc-tabs__panel--clamp.is-clamped .doc-tabs__content::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5rem;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--color-bg-white));pointer-events:none;}
.doc-tabs__panel--clamp.is-open .doc-tabs__content{max-height:none;}
.doc-tabs__more{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-action-text);}
.doc-tabs__more:hover{color:var(--color-action);}
.doc-tabs__more svg{transition:transform var(--duration-base) var(--ease-out);}
.doc-tabs__more .doc-tabs__more-close{display:none;}
.is-open > .doc-tabs__more .doc-tabs__more-open{display:none;}
.is-open > .doc-tabs__more .doc-tabs__more-close{display:inline;}
.is-open > .doc-tabs__more svg{transform:rotate(180deg);}

@media(max-width:991px){
  .doc-card,.doc-card--reverse{grid-template-columns:1fr;gap:var(--space-8);}
  .doc-card--reverse .doc-card__media{order:0;}
  .doc-card__media{position:static;max-width:360px;}
}