/* ── Location Pages — loc- prefix ─────────────────────────── */

/* Hero */
.loc-hero{position:relative;overflow:hidden;padding:clamp(100px,13vw,160px) 0 clamp(64px,8vw,100px);background:linear-gradient(145deg,var(--bg) 0%,var(--bg-alt) 100%)}
.loc-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 72% 60% at 70% 30%,rgba(22,146,76,.10),transparent 70%);pointer-events:none}
.loc-hero__inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px);display:grid;grid-template-columns:1fr 420px;gap:clamp(40px,6vw,80px);align-items:center}
.loc-hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1.4rem}
.loc-hero__chip{display:inline-flex;align-items:center;gap:7px;padding:.42em .9em;border-radius:100px;background:rgba(31,158,87,.12);border:1px solid rgba(31,158,87,.22);font-family:var(--font-head);font-weight:600;font-size:.8rem;color:var(--primary)}
.loc-hero__chip i{width:14px;height:14px}
.loc-hero__title{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:1.1rem;color:var(--ink)}
.loc-hero__lead{font-size:clamp(1rem,1.6vw,1.18rem);color:var(--muted);line-height:1.75;margin-bottom:2rem;max-width:54ch}
.loc-hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.loc-hero__aside{position:relative}
.loc-hero__card{border-radius:var(--r-xl);padding:clamp(24px,3vw,32px);box-shadow:var(--glow)}
.loc-hero__card h3{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:var(--ink)}
.loc-hero__stat-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1.2rem}
.loc-hero__stat{background:var(--bg-alt);border-radius:var(--r-md);padding:14px 16px;text-align:center}
.loc-hero__stat strong{display:block;font-family:var(--font-head);font-weight:800;font-size:1.6rem;color:var(--primary);line-height:1}
.loc-hero__stat span{font-size:.78rem;color:var(--muted);margin-top:3px;display:block}
.loc-hero__rating{display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(255,191,0,.08);border:1px solid rgba(255,191,0,.2);border-radius:var(--r-sm)}
.loc-hero__stars{display:flex;gap:2px}
.loc-hero__stars svg{width:16px;height:16px;fill:#fbbf24;color:#fbbf24}
.loc-hero__rating-text strong{font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:.92rem}
.loc-hero__rating-text span{display:block;font-size:.78rem;color:var(--muted)}
.loc-hero__shape{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0}
.loc-hero__shape--1{top:-8%;right:-6%;width:clamp(200px,30vw,420px);height:clamp(200px,30vw,420px);background:radial-gradient(circle,rgba(22,146,76,.18),transparent 70%)}
.loc-hero__shape--2{bottom:0;left:-4%;width:clamp(140px,18vw,260px);height:clamp(140px,18vw,260px);background:radial-gradient(circle,rgba(31,158,87,.12),transparent 70%)}

/* ── Shared section wrappers ─── */
.loc-section{padding:clamp(64px,8vw,100px) 0}
.loc-section--alt{background:var(--bg-alt)}
.loc-wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.loc-head{margin-bottom:clamp(36px,5vw,56px)}
.loc-head .eyebrow{margin-bottom:.8rem}
.loc-head h2{font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:800;letter-spacing:-.025em;color:var(--ink);margin-bottom:.9rem}
.loc-head p{color:var(--muted);font-size:1.02rem;max-width:60ch;line-height:1.75}

/* ── Format C: Services showcase grid ─── */
.loc-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.loc-svc-card{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:clamp(20px,2.5vw,28px);transition:box-shadow .25s,transform .25s;text-decoration:none;display:flex;flex-direction:column;gap:12px}
.loc-svc-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.loc-svc-card__icon{width:46px;height:46px;border-radius:var(--r-md);background:rgba(31,158,87,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.loc-svc-card__icon i{width:22px;height:22px;color:var(--primary)}
.loc-svc-card h3{font-size:1rem;font-weight:700;color:var(--ink);line-height:1.3}
.loc-svc-card p{font-size:.88rem;color:var(--muted);line-height:1.6;flex:1}
.loc-svc-card .loc-svc-card__link{font-size:.84rem;font-weight:600;color:var(--secondary);display:inline-flex;align-items:center;gap:5px;margin-top:auto}
.loc-svc-card .loc-svc-card__link i{width:14px;height:14px}

/* ── Format A: Community section ─── */
.loc-community{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,72px);align-items:center}
.loc-community__text p{color:var(--muted);line-height:1.8;font-size:1rem;margin-bottom:1.1rem}
.loc-community__text p:last-child{margin-bottom:0}
.loc-community__image{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3}
.loc-community__image img{width:100%;height:100%;object-fit:cover}

/* ── Format B: Conditions grid ─── */
.loc-cond-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.loc-cond-card{border-radius:var(--r-lg);padding:clamp(20px,2.5vw,28px);border:1px solid var(--line-strong);background:var(--card);display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.loc-cond-card__icon{width:44px;height:44px;border-radius:var(--r-md);background:rgba(31,158,87,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.loc-cond-card__icon i{width:20px;height:20px;color:var(--primary)}
.loc-cond-card h3{font-size:.98rem;font-weight:700;color:var(--ink);margin-bottom:.45rem}
.loc-cond-card p{font-size:.88rem;color:var(--muted);line-height:1.6}

/* ── Why us (Format C) ─── */
.loc-diff{background:var(--bg-alt)}
.loc-diff__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,72px);align-items:center}
.loc-diff__points{display:flex;flex-direction:column;gap:22px;margin-top:1.6rem}
.loc-diff__point{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.loc-diff__point-icon{width:40px;height:40px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.loc-diff__point-icon i{width:18px;height:18px;color:#fff}
.loc-diff__point h4{font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:.3rem}
.loc-diff__point p{font-size:.88rem;color:var(--muted);line-height:1.6}
.loc-diff__image{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/4;position:relative}
.loc-diff__image img{width:100%;height:100%;object-fit:cover}

/* ── Doctor section ─── */
.loc-doctor{background:var(--bg-alt)}
.loc-doctor__inner{display:grid;grid-template-columns:340px 1fr;gap:clamp(40px,6vw,72px);align-items:center}
.loc-doctor__photo{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/4}
.loc-doctor__photo img{width:100%;height:100%;object-fit:cover}
.loc-doctor__body p{color:var(--muted);line-height:1.8;font-size:1rem;margin-bottom:1.1rem}
.loc-doctor__creds{display:flex;flex-wrap:wrap;gap:10px;margin:1.4rem 0}
.loc-doctor__cred{display:inline-flex;align-items:center;gap:7px;padding:.4em .85em;border-radius:100px;background:rgba(31,158,87,.1);border:1px solid rgba(31,158,87,.2);font-family:var(--font-head);font-weight:600;font-size:.8rem;color:var(--primary)}
.loc-doctor__cred i{width:14px;height:14px}
.loc-doctor__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:600;color:var(--secondary);font-size:.95rem;text-decoration:none;margin-top:.4rem}
.loc-doctor__link:hover{color:var(--primary)}
.loc-doctor__link i{width:16px;height:16px}

/* ── Travel / Getting there ─── */
.loc-travel__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px)}
.loc-travel__text h3{font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:.9rem}
.loc-travel__text p{color:var(--muted);line-height:1.8;font-size:.98rem;margin-bottom:1rem}
.loc-route-list{display:flex;flex-direction:column;gap:14px;margin-top:1rem}
.loc-route{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start}
.loc-route__icon{width:38px;height:38px;border-radius:var(--r-sm);background:rgba(31,158,87,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.loc-route__icon i{width:18px;height:18px;color:var(--primary)}
.loc-route h4{font-size:.9rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}
.loc-route p{font-size:.85rem;color:var(--muted);line-height:1.55}
.loc-travel__map{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line-strong);min-height:320px;background:var(--bg-alt)}
.loc-travel__map iframe{width:100%;height:100%;min-height:320px;border:0;display:block}

/* ── Quote / testimonial pull ─── */
.loc-quote{background:var(--bg-alt)}
.loc-quote__inner{max-width:780px;margin:0 auto;text-align:center}
.loc-quote__stars{display:flex;justify-content:center;gap:4px;margin-bottom:1.4rem}
.loc-quote__stars svg{width:22px;height:22px;fill:#fbbf24;color:#fbbf24}
.loc-quote blockquote{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;color:var(--ink);line-height:1.65;font-style:normal;margin:0 0 1.2rem}
.loc-quote cite{font-size:.9rem;color:var(--muted);font-style:normal;display:flex;align-items:center;justify-content:center;gap:8px}
.loc-quote cite::before{content:'';width:28px;height:2px;background:var(--accent);display:block}

/* ── Stats bar ─── */
.loc-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);border-radius:var(--r-lg);overflow:hidden;margin-top:3rem}
.loc-stats-bar__item{background:var(--card);padding:clamp(20px,2.5vw,28px);text-align:center}
.loc-stats-bar__num{font-family:var(--font-head);font-weight:800;font-size:clamp(1.7rem,3vw,2.4rem);color:var(--primary);letter-spacing:-.03em;line-height:1}
.loc-stats-bar__label{font-size:.8rem;color:var(--muted);margin-top:.35rem}

/* ── Services list (compact, Format B) ─── */
.loc-svc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:1.4rem}
.loc-svc-pill{display:flex;align-items:center;gap:10px;padding:13px 16px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-md);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.loc-svc-pill:hover{border-color:var(--secondary);box-shadow:0 4px 16px rgba(22,146,76,.12)}
.loc-svc-pill i{width:18px;height:18px;color:var(--primary);flex-shrink:0}
.loc-svc-pill span{font-size:.9rem;font-weight:600;color:var(--ink)}

/* ── CTA ─── */
.loc-cta{padding:clamp(64px,8vw,100px) 0}
.loc-cta__card{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);border-radius:var(--r-xl);padding:clamp(40px,5vw,64px);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.loc-cta__card h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:#fff;letter-spacing:-.025em;margin-bottom:.6rem}
.loc-cta__card p{color:rgba(255,255,255,.82);font-size:1rem;line-height:1.7;max-width:52ch}
.loc-cta__actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.loc-cta__actions .btn--solid{background:#fff;color:var(--primary)}
.loc-cta__actions .btn--solid:hover{background:rgba(255,255,255,.92)}
.loc-cta__actions .btn--ghost{border-color:rgba(255,255,255,.5);color:#fff}
.loc-cta__actions .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width:1080px){
  .loc-svc-grid{grid-template-columns:repeat(2,1fr)}
  .loc-hero__inner{grid-template-columns:1fr}
  .loc-hero__aside{max-width:480px}
}
@media (max-width:900px){
  .loc-community{grid-template-columns:1fr;gap:36px}
  .loc-diff__inner{grid-template-columns:1fr}
  .loc-diff__image{aspect-ratio:16/9;max-height:340px}
  .loc-doctor__inner{grid-template-columns:1fr;gap:32px}
  .loc-doctor__photo{aspect-ratio:16/9;max-height:300px}
  .loc-travel__inner{grid-template-columns:1fr}
  .loc-cta__card{grid-template-columns:1fr;gap:28px}
  .loc-stats-bar{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .loc-svc-grid{grid-template-columns:1fr}
  .loc-cond-grid{grid-template-columns:1fr}
  .loc-svc-list{grid-template-columns:1fr}
  .loc-hero__cta{flex-direction:column}
  .loc-cta__actions{flex-direction:row;flex-wrap:wrap}
  .loc-stats-bar{grid-template-columns:1fr 1fr}
}
@media (max-width:400px){
  .loc-stats-bar{grid-template-columns:1fr}
}
