/* YR Clinic Locator v2.1 — Pratik Nakrani */

:root {
  --yr-page-bg:    #f0f5f1;
  --yr-section-bg: #b8d9b8;
  --yr-accent:     #7ab87a;
  --yr-primary:    #2e7d4f;
  --yr-bold:       #1a3d24;
  --yr-navy:       #1c2b4a;
  --yr-silver:     #6b7a94;
  --yr-muted:      #9aa4b8;
  --yr-border:     rgba(14,21,32,.08);
  --yr-white:      #ffffff;
}

.yr-wrap { max-width:95%; margin:0 auto; padding:0 56px; }
@media(max-width:960px){ .yr-wrap{ padding:0 24px; } }

/* typography */
h2.yr-disp { font-family:'Cormorant Garamond',serif!important; font-weight:300; font-size:clamp(1.9rem,2.5vw,2.8rem)!important; line-height:1.08; letter-spacing:-.015em; color:var(--yr-navy); }
h2.yr-disp em { font-style:italic; color:var(--yr-primary); }
.yr-eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:.67rem; letter-spacing:.2em; text-transform:uppercase; color:var(--yr-primary); font-weight:500; margin-bottom:14px; font-family:'Outfit',sans-serif; }
.yr-eyebrow::before { content:''; width:16px; height:1px; background:var(--yr-primary); }

/* buttons */
.yr-btn { display:inline-flex; align-items:center; gap:7px; border-radius:100px; cursor:pointer; font-family:'Outfit',sans-serif; font-weight:600; letter-spacing:.07em; text-transform:uppercase; transition:all .2s; border:none; text-decoration:none; white-space:nowrap; }
.yr-btn--primary { background:var(--yr-primary); color:#fff; padding:13px 26px; font-size:.8rem; }
.yr-btn--primary:hover { background:var(--yr-bold); transform:translateY(-1px); box-shadow:0 6px 20px rgba(46,125,79,.25); }
.yr-btn--sm { padding:8px 16px; font-size:.7rem; }

/* loading */
.yr-loading { text-align:center; padding:64px 24px; font-family:'Outfit',sans-serif; font-size:.82rem; color:var(--yr-silver); }
.yr-loading-spinner { width:32px; height:32px; border:2px solid var(--yr-border); border-top-color:var(--yr-primary); border-radius:50%; animation:yr-spin .7s linear infinite; margin:0 auto 14px; }
@keyframes yr-spin { to{ transform:rotate(360deg); } }

/* no results */
.yr-no-results { text-align:center; padding:56px 24px; background:var(--yr-white); border:1px solid var(--yr-border); border-radius:12px; font-family:'Outfit',sans-serif; }
.yr-no-results__icon { font-size:2rem; margin-bottom:12px; display:block; }
.yr-no-results h4 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; margin-bottom:8px; color:var(--yr-navy); }
.yr-no-results p { font-size:.82rem; color:var(--yr-silver); line-height:1.7; }

/* map */
.yr-map-wrap { margin-top:28px; border-radius:14px; overflow:hidden; border:1px solid var(--yr-border); box-shadow:0 4px 20px rgba(14,21,32,.06); }
#yr-nearest-map { height:380px; width:100%; display:block; }

/* filter bar */
.yr-filter-bar { display:flex; gap:10px; margin-bottom:24px; flex-wrap:wrap; align-items:center; }
.yr-filter-search { flex:1; min-width:200px; display:flex; background:var(--yr-white); border:1px solid var(--yr-border); border-radius:100px; overflow:hidden; transition:border-color .2s; }
.yr-filter-search:focus-within { border-color:var(--yr-primary); }
.yr-filter-search input { flex:1; border:none; outline:none; padding:10px 16px; font-family:'Outfit',sans-serif; font-size:.8rem; color:var(--yr-navy); background:transparent; }
.yr-filter-search input::placeholder { color:var(--yr-muted); }
.yr-filter-sel { background:var(--yr-white); border:1px solid var(--yr-border); border-radius:100px; padding:10px 32px 10px 16px; font-family:'Outfit',sans-serif; font-size:.8rem; color:var(--yr-navy); cursor:pointer; outline:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa4b8' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; transition:border-color .2s; }
.yr-filter-sel:focus { border-color:var(--yr-primary); }
.yr-filter-count { font-size:.7rem; color:var(--yr-muted); white-space:nowrap; font-family:'Outfit',sans-serif; }

/* ── HERO ── */
.yr-hero-wrap { background:var(--yr-page-bg); position:relative; overflow:hidden; min-height:100vh; display:flex; align-items:center; }
.yr-hero-glow { position:absolute; border-radius:50%; pointer-events:none; z-index:0; }
.yr-hero-glow--right { width:800px; height:800px; background:radial-gradient(circle,rgba(46,125,79,.06) 0%,rgba(46,125,79,.015) 50%,transparent 72%); right:-160px; top:50%; transform:translateY(-50%); }
.yr-hero-glow--left { width:400px; height:400px; background:radial-gradient(circle,rgba(46,125,79,.04) 0%,transparent 70%); left:-60px; bottom:-60px; }
.yr-hero-inner { max-width:95%; width:100%; margin:0 auto; padding:72px 56px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; position:relative; z-index:1; }
.yr-hero-left { display:flex; flex-direction:column; align-items:flex-start; font-family:'Outfit',sans-serif; }
.yr-hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(46,125,79,.08); border:1px solid rgba(46,125,79,.2); border-radius:100px; padding:6px 16px; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--yr-primary); margin-bottom:24px; font-family:'Outfit',sans-serif; }
.yr-hero-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--yr-primary); animation:yr-pulse 2s ease-in-out infinite; }
@keyframes yr-pulse { 0%,100%{opacity:1} 50%{opacity:.35} }
h1.yr-hero-h1 { font-family:'Cormorant Garamond',serif!important; font-size:clamp(2.5rem,3.2vw,4.8rem)!important; font-weight:300; line-height:1.05; letter-spacing:-.015em; color:var(--yr-navy); margin-bottom:16px; }
h1.yr-hero-h1 em { font-style:italic; color:var(--yr-primary); }
.yr-hero-sub { font-size:.95rem; font-weight:300; color:var(--yr-silver); line-height:1.8; max-width:400px; margin-bottom:32px; }
.yr-search-wrap { width:100%; max-width:480px; margin-bottom:12px; }
.yr-search-row { display:flex; background:var(--yr-white); border:1.5px solid rgba(46,125,79,.25); border-radius:100px; overflow:hidden; box-shadow:0 4px 20px rgba(46,125,79,.1); transition:border-color .2s,box-shadow .2s; }
.yr-search-row:focus-within { border-color:var(--yr-primary); box-shadow:0 4px 28px rgba(46,125,79,.18); }
.yr-search-icon { display:flex; align-items:center; padding:0 0 0 20px; color:var(--yr-muted); flex-shrink:0; }
.yr-search-field { flex:1; border:none; outline:none; padding:14px 12px; font-family:'Outfit',sans-serif; font-size:.9rem; color:var(--yr-navy); background:transparent; }
.yr-search-field::placeholder { color:var(--yr-muted); }
.yr-search-go { background:var(--yr-primary)!important; color:#fff; border:none!important; border-radius:100px!important; margin:4px; padding:9px 20px; font-family:'Outfit',sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; transition:background .2s; white-space:nowrap; }
.yr-search-go:hover { background:var(--yr-bold)!important; }
.yr-location-link { display:inline-flex; align-items:center; gap:6px; font-size:.73rem; color:#fff; font-weight:500; background:var(--yr-primary)!important; border:none!important; font-family:'Outfit',sans-serif; cursor:pointer; padding:4px 0; margin-bottom:10px; transition:color .2s; }
.yr-location-link:hover { background:var(--yr-bold)!important; }
.yr-reassurance { font-size:.67rem; color:var(--yr-muted); margin-bottom:20px; }
.yr-step-flow { display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:.64rem; color:var(--yr-muted); margin-bottom:28px; font-family:'Outfit',sans-serif; }
.yr-step-flow__active { color:var(--yr-primary); font-weight:600; }
.yr-step-flow__arrow { opacity:.3; }
.yr-trust-row { display:flex; gap:24px; padding-top:22px; border-top:1px solid var(--yr-border); flex-wrap:wrap; }
.yr-trust-stat { display:flex; flex-direction:column; }
.yr-trust-num { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:400; color:var(--yr-navy); line-height:1; }
.yr-trust-lbl { font-size:.59rem; color:var(--yr-muted); margin-top:2px; font-family:'Outfit',sans-serif; }

/* hero right */
.yr-hero-right { position:relative; height:520px; display:flex; align-items:center; justify-content:center; }
.yr-h-glow { position:absolute; width:380px; height:380px; border-radius:50%; background:radial-gradient(circle,rgba(46,125,79,.07) 0%,rgba(46,125,79,.02) 50%,transparent 72%); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
.yr-h-ring { position:absolute; border-radius:50%; top:50%; left:50%; pointer-events:none; }
.yr-h-ring--a { width:320px; height:320px; border:1px solid rgba(46,125,79,.1); transform:translate(-50%,-50%); animation:yr-ring-spin 40s linear infinite; }
.yr-h-ring--b { width:440px; height:440px; border:1px dashed rgba(46,125,79,.06); transform:translate(-50%,-50%); animation:yr-ring-spin 60s linear infinite reverse; }
@keyframes yr-ring-spin { to{ transform:translate(-50%,-50%) rotate(360deg); } }
.yr-ring-dot { position:absolute; width:5px; height:5px; border-radius:50%; background:rgba(46,125,79,.4); top:-2.5px; left:50%; margin-left:-2.5px; }
.yr-h-main-card { position:absolute; width:286px; top:50%; left:50%; transform:translate(-56%,-50%); z-index:4; background:var(--yr-white); border:1px solid rgba(14,21,32,.09); border-radius:14px; overflow:hidden; box-shadow:0 18px 52px rgba(14,21,32,.13),0 4px 14px rgba(14,21,32,.07); animation:yr-floatA 7s ease-in-out infinite; }
.yr-h-main-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--yr-primary),rgba(46,125,79,.1)); z-index:1; }
@keyframes yr-floatA { 0%,100%{transform:translate(-56%,-50%) translateY(0)} 50%{transform:translate(-56%,-50%) translateY(-7px)} }
.yr-hc-img { width:100%; height:108px; background:linear-gradient(135deg,var(--yr-bold) 0%,var(--yr-primary) 55%,var(--yr-bold) 100%); position:relative; display:flex; align-items:flex-end; padding:10px 12px; }
.yr-hc-building { display:flex; align-items:flex-end; gap:3px; opacity:.28; }
.yr-hc-building span { background:rgba(255,255,255,.95); border-radius:2px 2px 0 0; display:block; }
.yr-hc-badge { position:absolute; font-size:.56rem; font-weight:600; letter-spacing:.05em; padding:3px 8px; border-radius:100px; font-family:'Outfit',sans-serif; }
.yr-hc-badge--dist { top:9px; left:9px; background:rgba(14,21,32,.68); backdrop-filter:blur(4px); color:#fff; }
.yr-hc-badge--next { top:9px; right:9px; background:rgba(46,125,79,.9); color:#fff; }
.yr-hc-body { padding:12px 13px 9px; }
.yr-hc-name { font-family:'Cormorant Garamond',serif; font-size:.98rem; font-weight:400; color:var(--yr-navy); margin-bottom:2px; }
.yr-hc-addr { font-size:.61rem; color:var(--yr-muted); margin-bottom:7px; line-height:1.4; font-family:'Outfit',sans-serif; }
.yr-hc-tags { display:flex; gap:4px; flex-wrap:wrap; }
.yr-hc-tag { font-size:.52rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; padding:2px 7px; border-radius:100px; background:rgba(46,125,79,.07); color:var(--yr-primary); border:1px solid rgba(46,125,79,.18); font-family:'Outfit',sans-serif; }
.yr-hc-footer { padding:9px 13px 11px; border-top:1px solid var(--yr-border); display:flex; justify-content:space-between; align-items:center; }
.yr-hc-next { font-size:.57rem; color:var(--yr-muted); font-family:'Outfit',sans-serif; }
.yr-hc-next strong { color:var(--yr-primary); font-weight:600; }
.yr-hc-btn { background:var(--yr-primary)!important; color:#fff; border:none!important; border-radius:100px!important; padding:6px 12px; font-size:.6rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; font-family:'Outfit',sans-serif; cursor:pointer; }
.yr-h-float { position:absolute; background:rgba(255,255,255,.97); border:1px solid rgba(14,21,32,.08); border-radius:11px; padding:11px 13px; box-shadow:0 8px 26px rgba(14,21,32,.1); z-index:5; backdrop-filter:blur(8px); font-family:'Outfit',sans-serif; }
.yr-h-float--a { top:38px; right:-8px; min-width:144px; animation:yr-floatB 6s ease-in-out infinite; }
.yr-h-float--b { bottom:62px; right:-12px; min-width:158px; animation:yr-floatB 8s ease-in-out infinite; animation-delay:-2.2s; }
.yr-h-float--c { bottom:24px; left:-20px; min-width:150px; animation:yr-floatB 5.5s ease-in-out infinite; animation-delay:-4s; }
@keyframes yr-floatB { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
.yr-hf-label { font-size:.52rem; color:var(--yr-muted); letter-spacing:.1em; text-transform:uppercase; margin-bottom:4px; }
.yr-hf-big { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--yr-navy); line-height:1; }
.yr-hf-sub { font-size:.57rem; color:var(--yr-silver); margin-top:2px; }
.yr-hf-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:3px 0; border-bottom:1px solid rgba(14,21,32,.05); }
.yr-hf-row:last-child { border-bottom:none; }
.yr-hf-name { font-size:.67rem; font-weight:500; color:var(--yr-navy); }
.yr-hf-dist { font-size:.59rem; color:var(--yr-muted); }
.yr-hf-dot { width:5px; height:5px; border-radius:50%; flex-shrink:0; }
.yr-hf-confirm-label { font-size:.52rem; color:var(--yr-muted); text-transform:uppercase; letter-spacing:.1em; margin-bottom:5px; }
.yr-hf-confirm-row { display:flex; align-items:center; gap:6px; }
.yr-hf-confirm-dot { width:7px; height:7px; border-radius:50%; background:var(--yr-primary); flex-shrink:0; }
.yr-hf-confirm-text { font-size:.69rem; font-weight:600; color:var(--yr-navy); }
.yr-hf-confirm-sub { font-size:.57rem; color:var(--yr-muted); margin-top:3px; }

/* ── NEAREST SECTION ── */
.yr-nearest-section { background:var(--yr-white); padding:88px 0; }
.yr-nearest-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:28px; flex-wrap:wrap; gap:12px; }
.yr-nearest-meta { font-size:.72rem; color:var(--yr-silver); font-family:'Outfit',sans-serif; }
.yr-nearest-meta strong { color:var(--yr-navy); }
.yr-nearest-meta a { color:var(--yr-primary); text-decoration:none; font-weight:500; }
.yr-nearest-meta a:hover { text-decoration:underline; }

/* large clinic cards (nearest section) */
.yr-clinic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.yr-clinic-card { background:var(--yr-white); border:1px solid var(--yr-border); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:border-color .22s,box-shadow .22s,transform .22s; font-family:'Outfit',sans-serif; cursor:pointer; }
.yr-clinic-card:hover { border-color:rgba(46,125,79,.3); box-shadow:0 8px 32px rgba(46,125,79,.12); transform:translateY(-2px); }
.yr-cc-img { width:100%; height:175px; position:relative; background:linear-gradient(135deg,var(--yr-bold) 0%,var(--yr-primary) 60%,var(--yr-bold) 100%); display:flex; align-items:flex-end; padding:10px 12px; overflow:hidden; }
.yr-cc-img-building { display:flex; align-items:flex-end; gap:3px; opacity:.22; }
.yr-cc-img-building span { background:rgba(255,255,255,.9); border-radius:2px 2px 0 0; display:block; }
.yr-cc-badge { position:absolute; font-size:.6rem; font-weight:600; letter-spacing:.05em; padding:3px 9px; border-radius:100px; font-family:'Outfit',sans-serif; }
.yr-cc-badge--dist { top:11px; left:11px; background:rgba(14,21,32,.7); backdrop-filter:blur(4px); color:#fff; }
.yr-cc-body { padding:16px 16px 10px; flex:1; }
.yr-cc-name { font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:400; color:var(--yr-navy); margin-bottom:3px; }
.yr-cc-addr { font-size:.7rem; color:var(--yr-silver); margin-bottom:8px; line-height:1.45; }
.yr-cc-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
.yr-cc-tag { font-size:.57rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:2px 8px; border-radius:100px; background:rgba(46,125,79,.07); color:var(--yr-primary); border:1px solid rgba(46,125,79,.18); }
.yr-cc-footer { padding:12px 16px 14px; border-top:1px solid var(--yr-border); display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; }
.yr-cc-dir { font-size:.63rem; color:var(--yr-primary); text-decoration:none; display:inline-flex; align-items:center; gap:4px; }
.yr-cc-dir:hover { text-decoration:underline; }

/* ── ALL CLINICS SECTION ── */
.yr-all-section { background: radial-gradient(circle, rgba(46, 125, 79, 0.10) 0%, transparent 70%); padding:88px 0; }
.yr-all-header { margin-bottom:24px; }
.yr-all-header .yr-eyebrow { color:var(--yr-bold); }
.yr-all-header .yr-eyebrow::before { background:var(--yr-bold); }
.yr-all-header .yr-disp { color:var(--yr-bold); }
.yr-all-header .yr-disp em { color:var(--yr-primary); }
.yr-all-seo { font-size:.82rem; color:var(--yr-bold); opacity:.65; line-height:1.8; max-width:620px; margin-top:10px; font-family:'Outfit',sans-serif; }

/* small clinic cards (all section) */
.yr-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.yr-card-sm { background:var(--yr-white); border:1px solid rgba(46,125,79,.15); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition:border-color .2s,box-shadow .2s; font-family:'Outfit',sans-serif; }
.yr-card-sm:hover { border-color:rgba(46,125,79,.35); box-shadow:0 4px 20px rgba(46,125,79,.1); }
.yr-card-sm-img { width:100%; height:120px; background:linear-gradient(135deg,var(--yr-bold) 0%,var(--yr-primary) 60%,var(--yr-bold) 100%); display:flex; align-items:flex-end; padding:8px 10px; position:relative; }
.yr-card-sm-building { display:flex; align-items:flex-end; gap:3px; opacity:.2; }
.yr-card-sm-building span { background:rgba(255,255,255,.9); border-radius:2px 2px 0 0; display:block; }
.yr-card-sm-body { padding:13px; flex:1; }
.yr-card-sm-body h4 { font-family:'Cormorant Garamond',serif!important; font-size:1rem!important; font-weight:400; color:var(--yr-navy); margin-bottom:2px; }
.yr-card-sm-addr { font-size:.67rem; color:var(--yr-muted); margin-bottom:8px; }
.yr-card-sm-tag { font-size:.55rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:2px 8px; border-radius:100px; background:rgba(46,125,79,.08); color:var(--yr-primary); border:1px solid rgba(46,125,79,.18); display:inline-block; }
.yr-card-sm-footer { padding:9px 13px 11px; border-top:1px solid var(--yr-border); display:flex; justify-content:space-between; align-items:center; }
.yr-card-sm-dist { font-size:.6rem; color:var(--yr-muted); }
.yr-card-sm-dir { font-size:.63rem; color:var(--yr-primary); text-decoration:none; display:inline-flex; align-items:center; gap:4px; }

/* shared contact block — used in both card sizes */
.yr-cc-contact { display:flex; flex-direction:column; gap:3px; margin-top:8px; }
.yr-cc-contact-link { font-size:.67rem; color:var(--yr-primary); font-family:'Outfit',sans-serif; text-decoration:none; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.yr-cc-contact-link:hover { text-decoration:underline; }

/* load more */
.yr-load-more-wrap { text-align:center; margin-top:28px; }
.yr-load-more-btn { background:var(--yr-primary)!important; color:#fff; border:none!important; border-radius:100px!important; padding:13px 32px; font-family:'Outfit',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; transition:background .2s,transform .2s; }
.yr-load-more-btn:hover { background:var(--yr-primary); transform:translateY(-1px); }

/* responsive */
@media(max-width:960px){
  .yr-hero-inner { grid-template-columns:1fr; padding:52px 24px 56px; gap:0; min-height:auto; }
  .yr-hero-right { display:none; }
  .yr-search-wrap { max-width:100%; }
  .yr-clinic-grid { grid-template-columns:1fr; }
  .yr-cards-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px){
  .yr-cards-grid { grid-template-columns:1fr; }
}
