@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Hebrew:wght@300;400;500;600;700;800&display=swap');

/* ── Variables ── */
:root {
  --gold:#C9982A; --gold-d:#8a6a2d; --gold-pale:#fdf6e8;
  --ink:#1a1f24; --text:#3d4550; --muted:#6b7580;
  --bg:#faf8f4; --white:#fff; --card:#fff;
  --soft:#f4f0e6; --line:#e6dcc8; --line-soft:#ede8dc;
  --focus:#005fcc;
  --r:16px; --r-sm:10px; --r-lg:24px;
  --shadow:0 4px 24px rgba(26,20,10,.08);
  --shadow-lg:0 12px 44px rgba(26,20,10,.12);
  --shadow-gold:0 6px 22px rgba(201,152,42,.2);
  --t:.22s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans Hebrew',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.78;font-size:15px;direction:rtl;}
a{color:var(--ink);text-decoration:none;transition:color var(--t);}
a:hover{color:var(--gold-d);}
img{max-width:100%;height:auto;display:block;}
ul{list-style:none;padding:0;}
h1,h2,h3,h4{line-height:1.26;color:var(--ink);font-weight:700;}
h1{font-size:clamp(28px,4vw,46px);letter-spacing:-.03em;}
h2{font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em;}
h3{font-size:18px;}
p{color:var(--text);}

/* Accessibility */
.skip-link{position:absolute;top:-60px;right:20px;background:#fff;color:#000;padding:10px 16px;border:2px solid var(--focus);z-index:9999;border-radius:6px;}
.skip-link:focus{top:12px;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px;}

/* Layout */
.container{width:min(1160px,92%);margin-inline:auto;}
.section{padding:72px 0;}
.section-sm{padding:44px 0;}

/* Eyebrow */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{display:none;}

.lead{font-size:16.5px;color:var(--muted);max-width:680px;line-height:1.82;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border-radius:8px;font-weight:700;font-size:14px;border:2px solid transparent;cursor:pointer;transition:all var(--t);font-family:inherit;}
.btn:hover{text-decoration:none;}
.primary{background:var(--ink);color:#fff;border-color:#fff;}
.primary:hover{background:#2d333b;color:#fff;transform:translateY(-1px);}
.ghost{background:transparent;color:var(--ink);border-color:var(--gold);}
.ghost:hover{background:var(--gold-pale);color:var(--gold-d);}
.gold-btn{background:var(--gold);color:#fff;border-color:var(--gold);}
.gold-btn:hover{background:var(--gold-d);color:#fff;transform:translateY(-1px);}

.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0;}
.center-actions{text-align:center;margin-top:32px;}

.trust,.check-list{list-style:none;display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:14px;}
.trust li::before,.check-list li::before{content:'✓';color:var(--gold);font-weight:800;margin-left:8px;}
.trust li,.check-list li{display:flex;align-items:flex-start;}

/* Section head */
.section-head{max-width:680px;margin-bottom:36px;}
.section-head.centered{text-align:center;margin-inline:auto;}
.section-head h2{margin-bottom:10px;}
.section-head p{color:var(--muted);}

/* Badges */
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.badges span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:600;font-size:13px;color:var(--ink);}

/* ══ PAGE HERO (inner pages) ══ */
.page-hero{position:relative;overflow:hidden;height:280px;}
.page-hero img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,16,10,.72) 0%,rgba(20,16,10,.18) 60%,transparent 100%);}
.page-hero-content{position:absolute;bottom:0;right:0;left:0;padding:32px 0;}
.page-hero-content .eyebrow{color:rgba(201,152,42,.9);}
.page-hero-content .eyebrow::before{background:rgba(201,152,42,.7);}
.page-hero-content h1{color:#fff;margin-bottom:6px;}
.page-hero-content p{color:rgba(255,255,255,.78);font-size:15px;max-width:540px;}

/* ══ HEADER ══ */
.site-header{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:100;}
.nav-wrap{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:20px;min-height:72px;}
.brand img{width:140px;}
.main-nav{display:flex;align-items:center;justify-content:center;gap:2px;}
.main-nav>a,.nav-drop>a{font-weight:600;color:var(--text);font-size:14px;padding:8px 14px;border-radius:8px;transition:all var(--t);}
.main-nav>a:hover,.nav-drop>a:hover,.main-nav>a[aria-current="page"]{background:var(--gold-pale);color:var(--gold-d);text-decoration:none;}

/* Dropdown */
.nav-drop{position:relative;}
.nav-drop>a::after{content:' ▾';font-size:11px;opacity:.55;}
.drop-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);min-width:220px;padding:8px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:all var(--t);z-index:200;}
.nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu{opacity:1;pointer-events:auto;transform:translateY(0);}
.drop-menu li a{display:block;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text);transition:background var(--t);}
.drop-menu li a:hover{background:var(--gold-pale);color:var(--gold-d);text-decoration:none;}

.nav-actions{display:flex;align-items:center;gap:10px;}
.call-btn{background:var(--ink);color:#fff;padding:10px 18px;border-radius:8px;font-weight:700;font-size:14px;white-space:nowrap;transition:all var(--t);}
.call-btn:hover{background:#2d333b;color:#fff;text-decoration:none;}
.whatsapp-btn{background:#25D366;color:#fff;padding:10px 14px;border-radius:8px;font-weight:700;font-size:13px;transition:all var(--t);}
.whatsapp-btn:hover{background:#1daa53;color:#fff;text-decoration:none;}
.menu-btn{display:none;border:1.5px solid var(--line);background:#fff;border-radius:8px;padding:9px 14px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;}

/* ══ HERO (homepage) ══ */
.hero{padding:52px 0 56px;background:linear-gradient(160deg,#fff 0%,#fdf9f3 55%,#f7f0e2 100%);border-bottom:1px solid var(--line-soft);}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:var(--gold-pale);border:1px solid rgba(201,152,42,.22);border-radius:999px;padding:6px 16px;margin-bottom:18px;font-size:12.5px;font-weight:700;color:var(--gold-d);}
.hero h1{margin-bottom:14px;}
.hero h1 em{color:var(--gold-d);font-style:normal;}
.hero .lead{margin-bottom:26px;}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:12px;box-shadow:var(--shadow-lg);overflow:hidden;position:relative;}
.hero-card img{width:100%;height:400px;object-fit:cover;border-radius:20px;display:block;}
.rating-badge{position:absolute;top:26px;left:26px;background:var(--gold);color:#fff;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;z-index:2;box-shadow:0 4px 14px rgba(201,152,42,.35);}

/* ══ SERVICES ══ */
.services-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;}
.service-card {
  grid-column: span 4;
}

/* שורה אמצעית של 4 כרטיסים */
.service-card:nth-child(n+4):nth-child(-n+7) {
  grid-column: span 3;
}

/* מובייל */
@media (max-width: 768px) {
  .service-card,
  .service-card:nth-child(n+4):nth-child(-n+7) {
    grid-column: auto;
  }
}
.service-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:all var(--t);display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold);border-color:rgba(201,152,42,.25);text-decoration:none;color:inherit;}
.service-card-img{height:168px;overflow:hidden;position:relative;flex-shrink:0;}
.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.service-card:hover .service-card-img img{transform:scale(1.06);}
.service-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(20,16,10,.3) 0%,transparent 55%);}
.service-card-body{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column;}
.service-num{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--gold-d);text-transform:uppercase;margin-bottom:6px;}
.service-card-body h3{font-size:17px;margin-bottom:8px;color:var(--ink);}
.service-card-body p{color:var(--muted);font-size:14px;line-height:1.65;flex:1;margin-bottom:14px;}
.service-link{font-size:13px;font-weight:700;color:var(--gold-d);display:flex;align-items:center;gap:4px;}
.service-link::before{content:'←';}

/* ══ SPLIT ══ */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.split-text h2{margin-bottom:14px;}
.split-text>p{color:var(--muted);margin-bottom:20px;}
.rounded-img{width:100%;height:360px;object-fit:cover;border-radius:26px;border:1px solid var(--line);box-shadow:var(--shadow);}

/* ══ TEAM ══ */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.team-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);padding:14px;box-shadow:var(--shadow);overflow:hidden;transition:all var(--t);}
.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-gold);}
.team-card img{width:100%;height:220px;object-fit:cover;object-position:top;border-radius:12px;background:var(--soft);}
.team-card h3{font-size:16px;margin:14px 0 4px;}
.team-card p{color:var(--gold-d);font-weight:600;font-size:13px;}

/* ══ QUALITY ROW ══ */
.quality-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.quality-row span{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:22px 16px;text-align:center;font-weight:700;color:var(--ink);font-size:14px;box-shadow:var(--shadow);}

/* ══ TESTIMONIALS ══ */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testimonial-grid.full{grid-template-columns:repeat(2,1fr);max-width:920px;margin-inline:auto;}
.testimonial-card{background:#fff;border:1px solid var(--line-soft);border-right:4px solid var(--gold);border-radius:var(--r);padding:26px;box-shadow:var(--shadow);transition:all var(--t);display:flex;flex-direction:column;}
.testimonial-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-gold);}
.testimonial-stars{color:var(--gold);font-size:15px;letter-spacing:2px;margin-bottom:12px;}
.testimonial-card p{color:#4e5860;font-size:14.5px;line-height:1.78;margin-bottom:16px;font-style:italic;flex:1;}
.testimonial-card strong{color:var(--ink);font-size:15px;display:block;}
.testimonial-card span{display:block;margin-top:4px;color:var(--gold-d);font-size:13px;font-weight:600;}
.testi-source{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;color:var(--muted);background:var(--gold-pale);border-radius:999px;padding:5px 14px;transition:all var(--t);font-weight:600;width:fit-content;}
.testi-source:hover{color:var(--gold-d);text-decoration:none;}
.testi-source::before{content:'🔗';font-size:11px;}
.testi-all-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:14px 24px;border:2px solid var(--gold);border-radius:var(--r-sm);color:var(--gold-d);font-weight:700;font-size:14px;background:var(--gold-pale);transition:all var(--t);}
.testi-all-link:hover{background:var(--gold);color:#fff;text-decoration:none;}
.testi-all-link::before{content:'↗';}

/* ══ ARTICLES ══ */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.article-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);transition:all var(--t);}
.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-gold);}
.article-card .art-cat{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin-bottom:8px;display:block;}
.article-card h3,.article-card h2{font-size:16.5px;margin-bottom:10px;line-height:1.4;}
.article-card h3 a,.article-card h2 a{color:var(--ink);}
.article-card h3 a:hover,.article-card h2 a:hover{color:var(--gold-d);}
.article-card p{color:var(--muted);font-size:13.5px;line-height:1.65;}

/* ══ CONTACT STRIP ══ */
.contact-strip{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:38px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;}
.contact-strip::before{content:'';position:absolute;inset:auto auto -90px -80px;width:240px;height:240px;background:rgba(201,152,42,.18);border-radius:50%;}
.contact-strip h2{color:#fff;margin-bottom:6px;}
.contact-strip p{color:rgba(255,255,255,.65);margin:0;}
.contact-strip .primary{background:var(--gold);border-color:var(--gold);flex-shrink:0;}
.contact-strip .primary:hover{background:var(--gold-d);border-color:var(--gold-d);}

/* ══ SOFT ══ */
.soft{background:var(--soft);padding:68px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}

/* ══ FOOTER ══ */
.footer{background:#fff;border-top:1px solid var(--line-soft);padding-top:52px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;margin-bottom:40px;}
.footer-logo{width:136px;margin-bottom:14px;}
.footer ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer li,.footer p{font-size:14px;color:#536474;line-height:1.65;}
.footer a{color:#3d5265;transition:color var(--t);}
.footer a:hover{color:var(--gold-d);}
.footer h2{font-size:13px;font-weight:800;margin-bottom:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);}
.credit{text-align:center;border-top:1px solid var(--line-soft);padding:18px;color:var(--muted);font-size:13px;}

/* ══ STICKY MOBILE ══ */
.sticky-mobile{display:none;position:fixed;bottom:0;right:0;left:0;z-index:70;background:#fff;border-top:1px solid var(--line-soft);grid-template-columns:1fr 1fr;}
.sticky-mobile a{padding:14px 8px;text-align:center;font-weight:700;font-size:15px;color:#fff;}
.sticky-mobile a:first-child{background:var(--ink);}
.sticky-mobile a:last-child{background:#25D366;}

/* ══ FORMS ══ */
.form-card,.info-card,.contact-box{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);padding:30px;box-shadow:var(--shadow);}
.form-card label,.mini-form label{display:grid;gap:5px;margin-bottom:16px;font-weight:600;font-size:14px;color:var(--ink);}
input,textarea,select{font:inherit;border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;background:var(--bg);color:var(--ink);transition:border-color var(--t);width:100%;}
input:focus,textarea:focus,select:focus{border-color:var(--gold);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(201,152,42,.12);}

/* ══ CONTACT PAGE ══ */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;}
.contact-info-block{display:flex;flex-direction:column;gap:16px;}
.contact-info-item{display:flex;align-items:flex-start;gap:14px;}
.c-icon{width:44px;height:44px;background:var(--gold-pale);border:1px solid rgba(201,152,42,.2);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;}
.c-label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:2px;}
.c-val{font-size:15px;font-weight:700;color:var(--ink);}
.c-val a{color:var(--ink);}
.c-val a:hover{color:var(--gold-d);}
iframe{width:100%;height:280px;border:0;border-radius:var(--r-sm);}

/* ══ ABOUT PAGE ══ */
.about-layout{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start;}
.doctor-photo{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:14px;box-shadow:var(--shadow);position:sticky;top:90px;}
.doctor-photo img{width:100%;border-radius:var(--r);display:block;}
.doctor-caption{padding:16px 4px 4px;}
.doctor-caption strong{display:block;font-size:19px;color:var(--ink);}
.doctor-caption span{color:var(--gold-d);font-weight:600;font-size:13.5px;}

/* ══ PRACTICE PAGE ══ */
.practice-hero-img{width:100%;height:300px;object-fit:cover;border-radius:var(--r-lg);margin:24px 0;border:1px solid var(--line-soft);box-shadow:var(--shadow);}
.practice-content{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start;}
.practice-body h2{margin-top:32px;margin-bottom:12px;padding-right:14px;border-right:4px solid var(--gold);}
.practice-body p{margin-bottom:16px;color:var(--muted);}
.practice-body ol{padding-right:20px;display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.practice-body ol li{color:var(--muted);font-size:15px;}
.practice-sidebar{position:sticky;top:90px;}
.sidebar-box{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);padding:24px;margin-bottom:16px;box-shadow:var(--shadow);}
.sidebar-box h3{font-size:16px;margin-bottom:14px;}
.sidebar-contact-item{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:14px;}

/* ══ ARTICLE PAGE ══ */
.article-layout{display:grid;grid-template-columns:1fr 260px;gap:44px;align-items:start;}
.article-body h2{margin:32px 0 12px;padding-right:14px;border-right:4px solid var(--gold);}
.article-body p{margin-bottom:14px;color:var(--muted);}
.article-body h3{margin:20px 0 8px;font-size:17px;}

/* ══ CITY PAGE ══ */
.city-services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.city-service-item{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);}
.city-service-item h2{font-size:16px;margin-bottom:8px;}
.city-service-item p{font-size:14px;color:var(--muted);}

/* ══ MISC ══ */
.page{padding:0 0 72px;}
.wide-img{width:100%;max-height:360px;object-fit:cover;border-radius:var(--r-lg);margin:20px 0;border:1px solid var(--line);}
.sitemap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.sitemap-grid a{display:block;margin:7px 0;color:#3d5265;font-size:14px;}
.sitemap-grid a:hover{color:var(--gold-d);}
.sitemap-grid h2{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:10px;}
.thanks{text-align:center;padding:90px 20px;}
.thanks h1{margin-bottom:16px;}
.thanks .lead{margin:0 auto 28px;}

/* ══ CONTACT BOX ══ */
.contactbox{background:var(--gold-pale);border:1px solid rgba(201,152,42,.2);border-radius:var(--r);padding:28px;margin-top:40px;}
.contactbox h2{margin-bottom:8px;}
.contactbox p{color:var(--muted);margin-bottom:16px;}

/* ══ RESPONSIVE ══ */

/* ══════════════════════════════════════════════
   REAL MAP CONTAINER
══════════════════════════════════════════════ */
.svg-map-container {
  position: relative;
  border-radius: var(--r);
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,.13);
  border: 1px solid var(--line);
  background: #c8e4f2;
  /* SVG is inline - no fixed height needed */
}
/* city dots in SVG get pointer on hover */
.city-svg-pin { cursor: pointer; }
.city-svg-pin:hover circle,
.city-svg-pin.active circle { filter: drop-shadow(0 2px 6px rgba(0,0,0,.4)); }
/* hidden pins overlay - kept for JS compatibility */
.city-pins-overlay { display: none; }

/* ══ CITY PINS ══ */
.map-city-pin {
  position: absolute;
  transform: translate(-50%, -50%);
  pointer-events: all;
  cursor: pointer;
  z-index: 10;  /* above mask */
  background: none;
  border: none;
  padding: 0;
}
.map-city-pin .pin-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.9);
  box-shadow: 0 1px 6px rgba(0,0,0,.35);
  display: block;
  transition: all .18s;
}
.map-city-pin:hover .pin-dot,
.map-city-pin.active .pin-dot {
  width: 15px; height: 15px;
  margin: -2.5px;
  box-shadow: 0 2px 14px rgba(0,0,0,.4);
}
.map-city-pin .pin-label {
  position: absolute;
  bottom: 14px; right: 50%;
  transform: translateX(50%);
  background: rgba(255,255,255,.97);
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 3px 9px;
  font-size: 11px; font-weight: 700;
  white-space: nowrap; color: var(--ink);
  pointer-events: none;
  opacity: 0; transition: opacity .15s;
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
}
.map-city-pin:hover .pin-label,
.map-city-pin.active .pin-label { opacity: 1; }

/* ══ MAP LEGEND ══ */
.map-legend {
  display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px;
  padding: 11px 16px; background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-sm); font-size: 12px; font-weight: 600; color: var(--text);
}
.legend-item { display: flex; align-items: center; gap: 6px; }
.legend-dot {
  width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
}

/* ══ AREA MAP LAYOUT ══ */
.area-map-wrap {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 36px;
  align-items: start;
}
.area-map-header { margin-bottom: 16px; }

/* ══ INFO PANELS ══ */
.area-info-col { position: sticky; top: 88px; }
.info-panel { display: none; }
.info-panel.active { display: block; }
.info-panel-inner {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  padding: 22px; box-shadow: var(--shadow); text-align: center;
}
.info-panel-inner h3 { margin-bottom: 6px; font-size: 18px; }

/* City pills */
.city-grid {
  display: flex; flex-wrap: wrap; gap: 7px; justify-content: center;
  max-height: 260px; overflow-y: auto; padding: 2px;
}
.city-grid.hidden { display: none; }
.city-pill {
  background: var(--bg); border: 1.5px solid var(--line);
  border-radius: 999px; padding: 5px 13px;
  font-size: 12.5px; font-weight: 600; cursor: pointer;
  transition: all .18s; font-family: inherit; color: var(--text);
}
.city-pill:hover, .city-pill.active {
  background: var(--gold); border-color: var(--gold); color: #fff;
}
.show-all-btn {
  display: block; margin-top: 8px; width: 100%;
  background: var(--gold-pale); border: 1.5px solid rgba(201,152,42,.3);
  border-radius: 8px; padding: 8px; font-size: 13px; font-weight: 700;
  color: var(--gold-d); cursor: pointer; font-family: inherit; transition: all .18s;
}
.show-all-btn:hover { background: var(--gold); color: #fff; border-color: var(--gold); }

/* Active city panel */
.city-map-frame {
  border-radius: var(--r) var(--r) 0 0; overflow: hidden;
  height: 210px; background: var(--soft);
}
.city-map-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.city-info-body {
  background: #fff; border: 1px solid var(--line); border-top: none;
  border-radius: 0 0 var(--r) var(--r); padding: 18px; box-shadow: var(--shadow);
}
.city-info-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 12px; gap: 8px;
}
.city-info-header h3 { font-size: 19px; margin-bottom: 2px; }
.back-btn {
  background: none; border: 1.5px solid var(--line); border-radius: 7px;
  padding: 6px 12px; font-size: 12.5px; font-weight: 700; cursor: pointer;
  font-family: inherit; color: var(--muted); transition: all .18s; flex-shrink: 0;
}
.back-btn:hover { border-color: var(--gold); color: var(--gold-d); }
.city-services-mini { display: flex; gap: 6px; flex-wrap: wrap; }
.mini-service-tag {
  font-size: 11.5px; font-weight: 700; background: var(--gold-pale);
  color: var(--gold-d); border-radius: 5px; padding: 3px 9px;
  border: 1px solid rgba(201,152,42,.2); transition: all .18s;
}
.mini-service-tag:hover { background: var(--gold); color: #fff; text-decoration: none; }

/* ══ REGION TABS ══ */
.region-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; justify-content: center; }
.rtab {
  background: var(--bg); border: 1.5px solid var(--line); border-radius: 8px;
  padding: 8px 18px; font-size: 13.5px; font-weight: 700;
  cursor: pointer; font-family: inherit; color: var(--text); transition: all .18s;
}
.rtab.active, .rtab:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ══ ALL CITIES GRID ══ */
.all-cities-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.city-area-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  padding: 14px; box-shadow: var(--shadow); transition: all .2s;
  text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 5px;
}
.city-area-card:hover {
  transform: translateY(-3px); box-shadow: var(--shadow-gold);
  border-color: rgba(201,152,42,.3); color: inherit; text-decoration: none;
}
.city-card-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.city-card-name { font-weight: 800; font-size: 14px; color: var(--ink); }
.city-card-region {
  font-size: 10.5px; font-weight: 700; border-radius: 999px;
  padding: 2px 8px; white-space: nowrap; flex-shrink: 0;
}
.city-card-desc { font-size: 12px; color: var(--muted); line-height: 1.45; }
.city-card-dist { font-size: 11px; color: var(--light); font-weight: 600; }

/* ══ AREA QUICK GRID (homepage) ══ */
.area-quick-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; margin-top: 8px; }
.area-quick-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: 10px 10px; display: flex; flex-direction: column; gap: 3px;
  text-decoration: none; color: inherit; transition: all .2s; align-items: stretch; text-align: center;
}
.area-quick-card:hover {
  border-color: rgba(201,152,42,.3); box-shadow: var(--shadow-gold);
  transform: translateY(-2px); color: inherit; text-decoration: none;
}
.area-qcard-dot { border-radius: 50%; display: block; margin-bottom: 1px; color: var(--gold-d);}
.area-qcard-name { font-size: 13px; font-weight: 700; color: var(--ink); line-height: 1.2; }
.area-qcard-dist { font-size: 11px; color: var(--muted); }

/* ══ CITY PAGE LAYOUT ══ */
.city-page-layout { display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: start; }
.city-page-sidebar { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 16px; }

.city-map-block {
  margin: 22px 0 30px;
  border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow);
}
.city-map-tabs { display: flex; border-bottom: 1px solid var(--line); background: var(--soft); }
.cmap-tab {
  flex: 1; padding: 11px 14px; font-size: 13px; font-weight: 700;
  cursor: pointer; border: none; background: transparent; color: var(--muted);
  font-family: inherit; transition: all .18s; border-bottom: 2.5px solid transparent;
}
.cmap-tab.active { color: var(--gold-d); border-bottom-color: var(--gold); background: #fff; }
.cmap-tab:hover:not(.active) { color: var(--ink); background: rgba(0,0,0,.03); }
.cmap-frame { display: none; }
.cmap-frame.active { display: block; }
.cmap-frame iframe { width: 100%; height: 310px; border: 0; display: block; }
.city-map-caption {
  padding: 9px 15px; font-size: 13px; color: var(--muted);
  background: var(--soft); border-top: 1px solid var(--line);
}

/* ══ FOOTER EXTRAS ══ */
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1.2fr 1.3fr; gap: 36px; padding-bottom: 40px; }
.footer ul li { display: flex; align-items: flex-start; gap: 4px; }
.footer-icon-btn {
  width: 36px; height: 36px; background: var(--soft); border: 1px solid var(--line);
  border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 15px; transition: all var(--t);
}
.footer-icon-btn:hover { background: var(--gold-pale); border-color: rgba(201,152,42,.3); text-decoration: none; }
.footer-bottom {
  border-top: 1px solid var(--line-soft); padding: 18px 0;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
}
.footer-bottom p { font-size: 13px; color: var(--muted); }
.footer-bottom-links { display: flex; gap: 18px; }
.footer-bottom-links a { font-size: 13px; color: var(--muted); }
.footer-bottom-links a:hover { color: var(--gold-d); }

/* ══════════════════════════════════════════════
   RESPONSIVE - כל ה-breakpoints במקום אחד
══════════════════════════════════════════════ */

/* ── Tablet 960px ── */
@media (max-width: 960px) {
  .team-grid          { grid-template-columns: repeat(2,1fr); }
  .quality-row        { grid-template-columns: repeat(2,1fr); }
  .footer-grid        { grid-template-columns: 1fr 1fr; }
  .about-layout       { grid-template-columns: 1fr; }
  .doctor-photo       { position: static; }
  .practice-content   { grid-template-columns: 1fr; }
  .practice-sidebar   { position: static; }
  .article-layout     { grid-template-columns: 1fr; }
  .area-map-wrap      { grid-template-columns: 1fr; }
  .area-info-col      { position: static; }
  .all-cities-grid    { grid-template-columns: repeat(3,1fr); }
  .city-page-layout   { grid-template-columns: 1fr; }
  .city-page-sidebar  { position: static; }
  .area-quick-grid    { grid-template-columns: repeat(4,1fr); }
}

/* ── Mobile 768px ── */
@media (max-width: 768px) {
  /* Nav */
  .menu-btn           { display: inline-flex; }
  .nav-wrap           { grid-template-columns: 1fr auto; }
  .main-nav           { display: none; }
  .nav-open .main-nav {
    display: flex; flex-direction: column; align-items: flex-start;
    position: absolute; inset-inline: 0; top: 72px;
    background: #fff; border-bottom: 1px solid var(--line);
    padding: 14px; gap: 2px; z-index: 99; box-shadow: var(--shadow);
  }
  .nav-drop .drop-menu {
    position: static; opacity: 1; pointer-events: auto; transform: none;
    box-shadow: none; border: 1px solid var(--line); margin: 4px 0 4px 12px; min-width: auto;
  }
  .nav-actions .call-btn,
  .nav-actions .whatsapp-btn { display: none; }

  /* Hero */
  .hero               { padding: 32px 0 36px; }
  .hero-grid          { grid-template-columns: 1fr; gap: 24px; }
  .hero-card img      { height: 240px; }
  .hero-tag           { font-size: 11.5px; }

  /* Grids */
  .services-grid      { grid-template-columns: 1fr 1fr; }
  .testimonial-grid,
  .testimonial-grid.full,
  .article-grid       { grid-template-columns: 1fr; }
  .split              { grid-template-columns: 1fr; gap: 24px; }
  .team-grid          { grid-template-columns: 1fr 1fr; }
  .quality-row        { grid-template-columns: 1fr 1fr; }
  .all-cities-grid    { grid-template-columns: repeat(2,1fr); }
  .area-quick-grid    { grid-template-columns: repeat(3,1fr); }

  /* Layout */
  .contact-layout     { grid-template-columns: 1fr; }
  .about-layout       { grid-template-columns: 1fr; }
  .city-page-layout   { grid-template-columns: 1fr; }
  .city-page-sidebar  { position: static; }

  /* Footer */
  .footer-grid        { grid-template-columns: 1fr; gap: 24px; }
  .footer-bottom      { flex-direction: column; text-align: center; }
  .sitemap-grid       { grid-template-columns: 1fr; }
  .footer             { padding-bottom: 68px; }

  /* Misc */
  .contact-strip      { flex-direction: column; align-items: flex-start; padding: 26px; }
  .sticky-mobile      { display: grid; }
  .page-hero          { height: 200px; }
  .page-hero-content h1 { font-size: clamp(22px,5vw,36px); }

  /* Map */
  /* SVG map is responsive by default */
  .city-map-frame iframe { height: 240px; }
  .cmap-frame iframe  { height: 240px; }

  /* Region tabs */
  .region-tabs        { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .rtab               { white-space: nowrap; flex-shrink: 0; }
}

/* ── Small mobile 520px ── */
@media (max-width: 520px) {
  .container          { padding: 0 14px; }
  .services-grid      { grid-template-columns: 1fr; }
  .quality-row        { grid-template-columns: 1fr 1fr; }
  .team-grid          { grid-template-columns: 1fr 1fr; }
  .all-cities-grid    { grid-template-columns: 1fr 1fr; }
  .area-quick-grid    { grid-template-columns: repeat(2,1fr); }
  .city-grid          { max-height: 200px; }
  .section            { padding: 44px 0; }
  .section-sm         { padding: 28px 0; }
  .hero h1            { font-size: 26px; }
  .contact-strip      { padding: 20px; }
  .footer-grid        { grid-template-columns: 1fr; }
}

/* ── Print ── */
@media print {
  .site-header, .sticky-mobile, .footer { display: none; }
  .page-hero { height: auto; }
}

.legend-dot.clinic-dot {
  background: #C9982A;
  outline: 2.5px solid #C9982A;
  outline-offset: 2px;
  border: 2px solid white;
}


/* ══ VIDEO HERO ══ */
.hero-video-wrap {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.14);
  /* הסרטון לאורך - מגביל גובה ומציג רוחב מתאים */
  height: 400px;
  max-width: 220px;
  margin: 0 auto;
  background: var(--soft);
}
.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.hero-video-wrap .rating-badge {
  position: absolute;
  bottom: 16px; left: 16px;
  background: var(--gold);
  color: #fff;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 12px; font-weight: 700;
  box-shadow: 0 3px 12px rgba(201,152,42,.4);
}

/* ══ AREA BAR ══ */
.area-bar {
  background: var(--soft);
  border-bottom: 1px solid var(--line-soft);
  padding: 12px 0;
}
.area-bar-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.area-bar-label {
  font-size: 13px; font-weight: 700; color: var(--muted); flex-shrink: 0;
}
.area-bar-link {
  font-size: 13px; background: #fff;
  border: 1px solid var(--line); border-radius: 6px;
  padding: 5px 12px; color: var(--gold-d); font-weight: 600;
  transition: all .18s;
}
.area-bar-link:hover {
  background: var(--gold-pale); border-color: rgba(201,152,42,.3); color: var(--gold-d);
  text-decoration: none;
}

/* ══ FOOTER SOCIAL ICONS ══ */
.footer-social {
  display: flex; gap: 10px; margin-top: 14px;
}
.footer-social a {
  width: 34px; height: 34px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.55);
  font-size: 15px;
  transition: all .18s;
}
.footer-social a:hover {
  background: rgba(255,255,255,.15);
  color: var(--gold);
  border-color: rgba(201,152,42,.3);
  text-decoration: none;
}
.footer-hours {
  color: rgba(255,255,255,.4);
  font-size: 13px;
  margin-top: 4px;
}

/* ══ HERO GRID - adjust for video ══ */
@media (max-width: 768px) {
  .hero-video-wrap {
    max-width: 160px;
    height: 300px;
    margin: 0 auto;
  }
}
@media (max-width: 520px) {
  .hero-video-wrap { display: none; }
}

/* ══ MAP - compact ══ */
.svg-map-container {
  overflow: visible;
}

/* ══ VIDEO HERO SECTION ══ */
.hero-video-section {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--ink);
}
.hero-video-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-video-bg video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-video-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to left,
    rgba(26,20,10,.82) 0%,
    rgba(26,20,10,.65) 50%,
    rgba(26,20,10,.45) 100%
  );
}
.hero-content-wrap {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 56px 0;
}
.hero-content-box {
  max-width: 580px;
}
.hero-tag {
  display: inline-block;
  background: rgba(201,152,42,.25);
  border: 1px solid rgba(201,152,42,.4);
  color: var(--gold-l, #E8C66A);
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 12.5px;
  font-weight: 700;
  margin-bottom: 18px;
  letter-spacing: .03em;
}
.hero-video-section h1 {
  color: #fff;
  font-size: clamp(28px,4.5vw,48px);
  margin-bottom: 14px;
  line-height: 1.2;
}
.hero-video-section h1 em {
  color: var(--gold);
  font-style: normal;
}
.hero-lead {
  color: rgba(255,255,255,.8);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 26px;
  max-width: 480px;
}
.hero-ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.btn.hero-ghost {
  background: rgba(255,255,255,.12);
  border: 1.5px solid rgba(255,255,255,.35);
  color: #fff;
  backdrop-filter: blur(4px);
}
.btn.hero-ghost:hover {
  background: rgba(255,255,255,.22);
  color: #fff;
  text-decoration: none;
}
.hero-trust {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 13px;
  color: rgb(255, 255, 255);
}
.hero-trust-sep { opacity: .3; }

/* Rating badge */
.hero-rating-badge {
  flex-shrink: 0;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(201,152,42,.35);
  border-radius: 16px;
  padding: 16px 20px;
  text-align: center;
  backdrop-filter: blur(6px);
  min-width: 110px;
}
.hero-rating-num {
  display: block;
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 4px;
}
.hero-rating-stars {
  display: block;
  color: var(--gold);
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 4px;
}
.hero-rating-src {
  display: block;
  font-size: 11px;
  color: rgba(255,255,255,.45);
  font-weight: 600;
}

/* ══ TREATMENTS GALLERY ══ */
.treatments-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 200px 200px;
  gap: 12px;
}
.tgal-item {
  position: relative;
  border-radius: var(--r);
  overflow: hidden;
  display: block;
  text-decoration: none;
}
.tgal-item.tgal-wide {
  grid-column: span 2;
}
.tgal-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.tgal-item:hover img { transform: scale(1.04); }
.tgal-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(20,16,10,.65) 0%, transparent 55%);
}
.tgal-label {
  position: absolute;
  bottom: 0; right: 0; left: 0;
  z-index: 1;
  padding: 12px 16px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
}

/* ══ FOOTER SOCIAL ══ */
.footer-social {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}
.footer-social a {
  width: 36px; height: 36px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(60, 60, 60, 0.625) ;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: rgba(60, 60, 60, 0.625);
  font-size: 16px;
  transition: all .18s;
  text-decoration: none;
}
.footer-social a:hover {
  background: rgba(201,152,42,.25);
  border-color: rgba(201,152,42,.4);
  color: var(--gold);
  text-decoration: none;
}
.footer-hours {
  color: rgba(255,255,255,.38);
  font-size: 13px;
  margin-top: 4px;
}

/* ══ RESPONSIVE VIDEO HERO ══ */
@media (max-width: 768px) {
  .hero-video-section { min-height: 400px; }
  .hero-content-wrap  { flex-direction: column; align-items: flex-start; padding: 40px 0; }
  .hero-rating-badge  { display: none; }
  .hero-lead          { font-size: 15px; }
  .treatments-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 160px 160px 160px; }
  .tgal-item.tgal-wide { grid-column: span 2; }
}
@media (max-width: 520px) {
  .hero-video-section { min-height: 360px; }
  .treatments-gallery { grid-template-columns: 1fr; grid-template-rows: auto; }
  .tgal-item, .tgal-item.tgal-wide { grid-column: span 1; height: 160px; }
  .hero-trust         { display: none; }
}
/* Google + MedReviews source cards */
.reviews-source-card {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  padding: 24px;
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 22px;
  box-shadow: var(--shadow);
}

.google-review-box {
  border-right: 4px solid #4285f4;
  background:
    linear-gradient(135deg, rgba(66,133,244,.07), transparent 42%),
    #fff;
}

.medreviews-box {
  border-right: 4px solid var(--gold);
  background:
    linear-gradient(135deg, rgba(201,152,42,.10), transparent 42%),
    #fff;
}

.reviews-source-kicker {
  color: var(--gold-d);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.reviews-source-card h2 {
  font-size: 22px;
  margin-bottom: 6px;
}

.reviews-source-card p {
  margin: 0;
  color: var(--muted);
}

.google-rating-side {
  min-width: 118px;
  text-align: center;
  background: var(--gold-pale);
  border: 1px solid rgba(201,152,42,.22);
  border-radius: 14px;
  padding: 12px 14px;
}

.google-stars {
  color: var(--gold);
  letter-spacing: 2px;
  font-size: 14px;
  line-height: 1;
  margin-bottom: 6px;
}

.google-rating-side strong {
  display: block;
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}

.google-rating-side span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 4px;
  font-weight: 600;
}

.reviews-source-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .reviews-source-card {
    grid-template-columns: 1fr;
    text-align: right;
  }

  .google-rating-side {
    width: fit-content;
  }
}
.google-home-reviews {
  background: var(--soft);
}

.google-home-card {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  padding: 28px 34px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 24px;
  box-shadow: var(--shadow);
}

.google-home-card h2 {
  margin-bottom: 6px;
}

.google-home-card p {
  color: var(--muted);
  margin: 0;
}

.google-home-rating {
  text-align: center;
  color: var(--gold);
}

.google-home-rating span {
  display: block;
  letter-spacing: 2px;
  font-size: 15px;
}

.google-home-rating strong {
  display: block;
  color: var(--ink);
  font-size: 30px;
  line-height: 1;
}

@media (max-width: 768px) {
  .google-home-card {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .google-home-rating {
    text-align: right;
  }
}
/* ═══════════════════════════════
   REVIEWS - Google + MedReviews
═══════════════════════════════ */

.reviews-page-section {
  background:
    radial-gradient(circle at top right, rgba(201,152,42,.08), transparent 34%),
    var(--bg);
}

.reviews-page-head {
  margin-bottom: 32px;
}

.review-sources-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  max-width: 920px;
  margin: 0 auto 34px;
}

.review-source-card {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  padding: 24px 26px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
  transition: all var(--t);
}

.review-source-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--gold);
}

.review-source-card.google::before {
  background: #4285f4;
}

.review-source-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-gold);
}

.source-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.source-label {
  font-size: 12px;
  font-weight: 800;
  color: var(--gold-d);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.source-stars {
  color: var(--gold);
  letter-spacing: 2px;
  font-size: 14px;
  white-space: nowrap;
}

.review-source-card h3 {
  font-size: 20px;
  margin-bottom: 8px;
}

.review-source-card p {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 18px;
}

.source-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gold-pale);
  color: var(--gold-d);
  border: 1px solid rgba(201,152,42,.24);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
}

.source-link::before {
  content: '↗';
  font-size: 12px;
}

.source-link:hover {
  background: var(--gold);
  color: #fff;
  text-decoration: none;
}

/* Cards enhancement */
.reviews-page-grid {
  margin-top: 8px;
}

.review-card-enhanced {
  border-right: 0;
  position: relative;
  overflow: hidden;
}

.review-card-enhanced::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(to left, var(--gold), rgba(201,152,42,.25));
}

.review-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.review-mini-source {
  background: var(--gold-pale);
  color: var(--gold-d);
  border-radius: 999px;
  padding: 4px 11px;
  font-size: 11.5px;
  font-weight: 700;
  white-space: nowrap;
}

.review-card-footer {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
}

/* Bottom CTA inside reviews page */
.reviews-bottom-cta {
  max-width: 920px;
  margin: 38px auto 0;
  background: var(--ink);
  color: #fff;
  border-radius: var(--r-lg);
  padding: 34px 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: var(--shadow-lg);
}

.reviews-bottom-cta h2 {
  color: #fff;
  margin-bottom: 4px;
}

.reviews-bottom-cta p {
  color: rgba(255,255,255,.68);
  margin: 0;
}

.reviews-bottom-cta .btn {
  flex-shrink: 0;
  background: var(--gold);
  border-color: var(--gold);
}

/* Homepage reviews */
.home-reviews-section {
  background:
    linear-gradient(180deg, #fff 0%, var(--bg) 100%);
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
}

.home-review-sources {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: -12px 0 28px;
}

.home-source-pill {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  padding: 8px 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  box-shadow: var(--shadow);
  font-size: 13px;
  transition: all var(--t);
}

.home-source-pill span {
  color: var(--gold);
  letter-spacing: 1px;
  font-size: 12px;
}

.home-source-pill strong {
  color: var(--ink);
  font-weight: 800;
}

.home-source-pill:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-gold);
  text-decoration: none;
}

.home-reviews-grid {
  margin-top: 10px;
}

/* Mobile */
@media (max-width: 768px) {
  .review-sources-row {
    grid-template-columns: 1fr;
  }

  .reviews-bottom-cta {
    flex-direction: column;
    align-items: flex-start;
    padding: 26px;
  }

  .review-card-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}
.service-body .lead {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-right: 4px solid var(--gold);
  border-radius: var(--r);
  padding: 24px;
  box-shadow: var(--shadow);
  margin-bottom: 30px;
}

.service-check-list {
  display: grid;
  gap: 9px;
  margin: 14px 0 22px;
}

.service-check-list li {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  padding: 10px 14px;
  color: var(--muted);
}

.service-check-list li::before {
  content: '✓';
  color: var(--gold);
  font-weight: 800;
  margin-left: 8px;
}

.service-process {
  counter-reset: step;
  display: grid;
  gap: 12px;
  margin: 16px 0 26px;
  padding: 0;
}

.service-process li {
  list-style: none;
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-sm);
  padding: 14px 18px;
  box-shadow: var(--shadow);
}

.service-faq {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.faq-item {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--r);
  padding: 20px;
}

.faq-item h3 {
  margin-bottom: 6px;
}

.service-city-links,
.service-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 26px;
}

.service-city-links a {
  font-size: 13px;
  background: var(--gold-pale);
  border: 1px solid rgba(201,152,42,.2);
  border-radius: 999px;
  padding: 6px 14px;
  color: var(--gold-d);
  font-weight: 600;
}