/* ===== Theme ===== */
:root{
  --brand:#0b2b45; --brand-2:#0e2a44; --ink:#0b1b2b;
  --muted:#5a6a7a; --bg:#f6f8fb; --wa:#25D366; --alert:#d72638;
  --shadow:0 14px 32px rgba(11,33,53,.12);
  --header-h:74px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}

/* ===== Generic ===== */
a{color:#0c3ea3;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.title{font-weight:900;text-align:center;margin:0 0 8px}
.subtitle{color:var(--muted);text-align:center;margin:0 0 28px}
.section{padding:64px 0}
.section-alt{background:var(--bg)}
.section-dark{background:linear-gradient(180deg,#0c2a44,#071b2c);color:#eaf2f9}

/* ===== Header ===== */
.header{position:sticky;top:0;z-index:1000;background:var(--brand);color:#fff;box-shadow:0 10px 24px rgba(12,20,38,.12)}
.header .row{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800}
.brand img{width:160px;height:40px;object-fit:contain}
.nav{display:flex;align-items:center;gap:22px}
.nav a{color:#d9e7f6;font-weight:600}
.cta-pill{background:var(--alert);color:#fff;border-radius:999px;padding:.6rem 1rem;font-weight:800;display:inline-flex;gap:.55rem;align-items:center;border:none}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.4rem}
@media (max-width:980px){
  .nav{position:fixed;inset:var(--header-h) 0 auto 0;background:var(--brand);padding:16px 20px;display:none;flex-direction:column;gap:14px}
  .nav.open{display:flex}
  .nav-toggle{display:inline-flex}
}

/* ===== UNIFIED HEADER LAYOUT ===== */
.header{
  position: sticky; top: 0; z-index: 1000;
  background:#0e2b45; color:#fff;
  box-shadow: 0 4px 18px rgba(0,0,0,.12);
  --header-h: 78px;
}
.header .container{
  max-width: 1200px; margin: 0 auto;
  padding: 12px 16px;
}
.header .row{
  display:flex; align-items:center; gap: 20px;
}

.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff;}
.brand img{width:164px; height:auto; display:block;}
.brand span{font-weight:700; line-height:1.05; letter-spacing:.2px;}
.brand small{font-weight:500; opacity:.85; letter-spacing:.2px;}

.nav{display:flex; gap:22px; margin-left:auto;}
.nav a{
  color:#dbe7ff; font-weight:600; text-decoration:none;
  padding:8px 2px; border-bottom:2px solid transparent; transition:.2s ease;
}
.nav a:hover{color:#fff; border-bottom-color:#fff;}

.btn-call.header-call{
  margin-left: 8px; white-space:nowrap;
  background:#e1272c; color:#fff;
  padding:10px 14px; border-radius:999px;
  display:inline-flex; gap:10px; align-items:center; font-weight:700;
}
.btn-call.header-call i{font-size:14px;}

.nav-toggle{
  display:none; margin-left:auto; background:transparent; border:0;
  color:#fff; font-size:22px; line-height:1; cursor:pointer;
}

/* Hero/first section safely visible under sticky header */
.hero, .hero-banner, .section:first-of-type{
  scroll-margin-top: var(--header-h, 78px);
}

/* ===== Responsive ===== */
@media (max-width: 992px){
  .brand img{width:138px;}
  .nav{display:none;}
  .nav.is-open{
    display:flex; position:fixed; left:12px; right:12px; top:calc(var(--header-h,78px) + 8px);
    flex-direction:column; gap:12px;
    background:#0e2b45; padding:16px; border-radius:14px;
    box-shadow:0 16px 38px rgba(0,0,0,.28);
  }
  .nav a{padding:10px 6px; border-bottom-color:transparent !important;}
  .nav-toggle{display:inline-block;}
  .btn-call.header-call .txt{display:none;} /* hide long number on small screens */
}

/* Small phones */
@media (max-width: 420px){
  .brand img{width:120px;}
}


/* ===== Hero ===== */
.hero{
  position:relative;min-height:64vh;
  background:
    linear-gradient(180deg,rgba(7,25,40,.55),rgba(7,25,40,.35)),
    url('/assets/images/super-ambulance.webp') center/cover no-repeat;
  padding-top:calc(var(--header-h) + 24px);
}
.hero-card{
  background:rgba(255,255,255,.95);
  backdrop-filter:saturate(120%) blur(2px);
  border-radius:20px;box-shadow:var(--shadow);
  max-width:860px;margin:26px 0;padding:28px;
  animation:fadeUp .5s ease both;
}
.hero h1{font-size:48px;line-height:1.05;margin:0 0 10px;font-weight:900;color:#0d253a}
.hero p.lead{margin:0 0 16px;color:#334e68}
.btn{display:inline-flex;gap:.6rem;align-items:center;border-radius:14px;padding:.9rem 1.2rem;font-weight:800;border:0;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(12,20,38,.12)}
.btn-red{background:var(--alert);color:#fff}
.btn-blue{background:#0b3c73;color:#fff}
.badges{display:flex;gap:12px;margin-top:14px;color:#2f4156;flex-wrap:wrap}
.badge{display:inline-flex;gap:.45rem;align-items:center;background:#edf3ff;border-radius:999px;padding:.45rem .8rem}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:720px){.hero h1{font-size:36px}}

/* ===== Services (with icons) ===== */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:20px;transition:transform .12s ease, box-shadow .12s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(11,33,53,.14)}
.card-ico{font-size:28px;line-height:1;margin-bottom:8px}
.card h3{margin:.2rem 0 .35rem}
.card p{margin:0 0 .85rem;color:#31455c}
.card .arrow{display:inline-flex;align-items:center;font-weight:800;gap:.4rem}
.card .arrow::after{content:"→"}
@media (max-width:980px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cards{grid-template-columns:1fr}}

/* ===== Excellence (6 grid + icons) ===== */
.excel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.excel-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px}
.excel-ico{font-size:26px;margin-bottom:8px}
.excel-item h4{margin:.2rem 0 .35rem;color:#fff}
.excel-item p{margin:0;color:#cbd8e5}
@media (max-width:980px){.excel-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.excel-grid{grid-template-columns:1fr}}

/* ===== Zones + Map ===== */
#coverage .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}
.city-tiles{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tile{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:22px}
.tile h4{margin:.2rem 0 .25rem}
.tile p{margin:0 0 .7rem;color:#31455c}
.tile .arrow{font-weight:800;display:inline-flex;align-items:center;gap:.45rem}
.tile .arrow::after{content:"→"}
.map-embed iframe{width:100%;height:480px;border:0;border-radius:18px}
@media (max-width:1024px){
  #coverage .grid{grid-template-columns:1fr}
  .city-tiles{grid-template-columns:1fr}
  .map-embed iframe{height:340px}
}

/* ===== Finder ===== */
.finder-wrap{
  background:#fff;border-radius:20px;box-shadow:var(--shadow);
  padding:20px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;
}
.finder-select{min-width:260px;border:1px solid #d7e0ea;border-radius:12px;padding:.8rem 1rem;font:inherit}

/* ===== FAQ ===== */
.faq .faq-container{max-width:960px;margin:0 auto}
.faq-item{background:#fff;border-radius:14px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;cursor:pointer;font-weight:800}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 20px}
.faq-item.open .faq-answer{max-height:280px;padding:0 20px 18px}
.faq-item i{transition:transform .25s ease}
.faq-item.open i{transform:rotate(180deg)}

/* ===== Contact ===== */
#contact .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}
#contact .card{padding:0}
#contact .pad{padding:22px}
#contact .idblock{display:flex;align-items:center;gap:14px;margin-bottom:12px}
#contact .idblock img{width:160px;height:40px;object-fit:contain}
#contact .map-embed iframe{width:100%;height:380px;border:0;border-radius:18px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.form .row-1{grid-template-columns:1fr}
.input, select, textarea{width:100%;border:1px solid #d7e0ea;border-radius:12px;padding:.85rem 1rem;font:inherit}
textarea{min-height:160px;resize:vertical}
.form .btn{width:100%;justify-content:center}
.form-status, .form-status-success, .form-status-error{display:none}
@media (max-width:980px){#contact .grid{grid-template-columns:1fr}}

/* ===== Footer ===== */
.footer{padding:44px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:20px}
.footer-brand img{width:160px;height:40px;object-fit:contain}
.footer h4{margin:0 0 10px}
.linklist{margin:0;padding-left:18px}
.footer-bottom{margin-top:26px;background:#0b2135;padding:14px 0;color:#cbd8e5}
@media (max-width:980px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr}}

/* Footer colors */
.site-footer,
.site-footer a{ color:#fff; }
.site-footer a:hover{ color:#dbeafe; } /* soft hover */
.site-footer .footer-col li{ margin: .4rem 0; }

/* Footer bottom row */
.footer-bottom{
  display:flex; 
  gap:1rem; 
  align-items:center; 
  justify-content:space-between; 
  flex-wrap:wrap;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 14px;
  margin-top: 18px;
}
.footer-bottom .legal-links a{ color:#fff; text-decoration:none; }
.footer-bottom .legal-links a:hover{ text-decoration:underline; }
.footer-bottom .sep{ opacity:.6; margin:0 .5rem; }

/* Hide header phone on small screens (match city pages) */
@media (max-width: 992px) { .hide-sm { display: none !important; } }

/* Mobile menu behavior (re-use your existing toggler JS) */
@media (max-width: 992px) {
  #navMenu { display:none; position:fixed; inset:0; background:linear-gradient(135deg,#0D47A1,#082c5c); 
             padding:96px 28px 28px; flex-direction:column; gap:18px; z-index:999; }
  #navMenu.active { display:flex; }
  #mobileMenuBtn { display:block !important; }
  #navMenu a { color:#fff; font-size:1.1rem; }
}



/* ===== Sticky CTA & Lang ===== */
.sticky-cta{position:fixed;right:20px;bottom:22px;z-index:1200;display:flex;flex-direction:column;gap:12px}
.sticky-cta .btn-call{background:var(--alert);color:#fff;border-radius:18px;padding:.9rem 1.25rem;font-weight:800;display:flex;align-items:center;gap:.6rem;box-shadow:0 10px 24px rgba(215,38,56,.25)}
.sticky-cta .btn-wa{background:var(--wa);color:#fff;border-radius:18px;padding:.9rem 1.25rem;font-weight:800;display:flex;align-items:center;gap:.6rem;box-shadow:0 10px 24px rgba(37,211,102,.25)}
.sticky-cta .lang{display:flex;gap:8px;justify-content:flex-end}
.sticky-cta .lang a{background:var(--brand);color:#fff;border-radius:8px;padding:.2rem .5rem;font-size:.8rem;opacity:.92;text-decoration:none}
.sticky-cta .lang a:hover{opacity:1}



/* ===== Accessibility helpers & RTL ===== */
[id]{scroll-margin-top:calc(var(--header-h) + 12px)}
:focus-visible{outline:3px solid #6ca7ff;outline-offset:2px}
body.rtl{direction:rtl}
body.rtl .sticky-cta{right:auto;left:20px}
body.rtl .tile .arrow::after, body.rtl .card .arrow::after{content:"←"}

/* Hide header phone CTA on small screens */
@media (max-width: 768px){
  .header-call{ display:none !important; }
}


/* --- Footer fixes --- */
.site-footer {
  color: #E8F0FF;
}

.site-footer .footer-brand img {
  width: 160px;   /* matches HTML attribute */
  height: auto;   /* keep ratio */
  display: block;
}

/* Make footer links white, not theme blue */
.site-footer a {
  color: #FFFFFF;
  text-decoration: none;
}
.site-footer a:hover,
.site-footer a:focus {
  color: #BFD7FF;
  text-decoration: underline;
}

/* Legal row visible + layout */
.footer-bottom {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footer-bottom .copyright {
  margin: 0;
  font-size: 14px;
  color: #E8F0FF;
}
.footer-bottom .legal-links {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.footer-bottom .legal-links a {
  color: #FFFFFF;
  font-size: 14px;
}
.footer-bottom .legal-links .sep {
  color: rgba(255,255,255,.6);
}

/* Ensure lists under Villes & Services are white */
.site-footer .col a,
.site-footer .col li a {
  color: #FFFFFF;
}
.site-footer .col a:hover {
  color: #BFD7FF;
}


/* === Header: hide red phone on small screens === */
@media (max-width: 767px) {
  .header-call { display: none !important; }
}

/* === Footer colors & layout === */
.site-footer,
.site-footer a { color: #f2f6fb; }           /* default to white */
.site-footer a:hover { color: #ffffff; text-decoration: underline; }

.site-footer .footer-col ul li a {           /* Villes & Services lists */
  color: #ffffff !important;
}

/* Legal row (copyright + links on one line when space allows) */
.footer-bottom{
  display: flex; flex-wrap: wrap;
  align-items: center; gap: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: 22px; padding-top: 16px;
}
.footer-bottom .copyright{
  margin: 0; color:#f2f6fb; font-size: 14px;
}
.footer-bottom .legal-links{
  display:flex; flex-wrap: wrap; gap:10px;
  margin-left:auto;
}
.footer-bottom .legal-links a{
  color:#f2f6fb; font-size:14px; opacity:.9;
}
.footer-bottom .legal-links a:hover{ opacity:1; }
.footer-bottom .legal-links .sep{
  opacity:.5; user-select:none;
}

/* Footer logo sizing (prevents layout jump) */
.footer-brand img{
  width: 170px; height: 48px; object-fit: contain; display:block;
}

/* === City hero background helper === */
.hero--city{
  background: url('/assets/images/ambulance-marrakech.png') center/cover no-repeat;
  position: relative;
}
.hero--city::before{                              /* soft overlay for readability */
  content:""; position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(5,28,44,.45), rgba(5,28,44,.55));
}
.hero--city > *{ position:relative; z-index:1; }

/* --- Shared layout helpers --- */
.center { text-align: center; }
.visually-hidden { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; }

/* --- Zones --- */
.zone-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(240px, 1fr));
  gap: 28px;
  align-items: start;
  justify-items: stretch;
  margin-top: 24px;
}
.zone-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(6,24,44,.06), 0 2px 8px rgba(6,24,44,.04);
  padding: 22px 22px 18px;
}
.zone-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0d3880;               /* deep blue like your site */
  margin: 0 0 14px;
  position: relative;
  padding-bottom: 10px;
}
.zone-card__title::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 140px; height: 3px;
  background: #d32f2f;          /* red accent bar under titles */
  border-radius: 2px;
}
.zone-card__list { list-style: none; margin: 0; padding: 0; }
.zone-card__list li {
  padding: 12px 0;
  border-bottom: 1px solid rgba(13,56,128,.12);
}
.zone-card__list li:last-child { border-bottom: 0; }
.zone-card__list a {
  color: #1e4aa5;
  text-decoration: none;
}
.zone-card__list a:hover { text-decoration: underline; }

/* --- Hospitals --- */
.hosp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 28px;
  align-items: start;
  justify-items: stretch;
  margin-top: 24px;
}
.hosp-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(6,24,44,.06), 0 2px 8px rgba(6,24,44,.04);
  padding: 22px 22px 18px;
}
.hosp-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0d3880;
  margin: 0 0 14px;
  position: relative;
  padding-bottom: 10px;
}
.hosp-card__title::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 180px; height: 3px;
  background: #d32f2f;
  border-radius: 2px;
}
.hosp-card__list { list-style: none; margin: 0; padding: 0; }
.hosp-card__list li {
  padding: 12px 0;
  border-bottom: 1px solid rgba(13,56,128,.12);
}
.hosp-card__list li:last-child { border-bottom: 0; }

/* --- Responsive --- */
@media (max-width: 1100px) {
  .zone-grid { grid-template-columns: repeat(2, 1fr); }
  .hosp-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .zone-card, .hosp-card { padding: 18px; }
  .zone-card__title::after, .hosp-card__title::after { width: 120px; }
}

/* Footer brand sizing */
.footer .brand img{width:210px;height:auto}
@media (min-width:992px){
  .footer .brand img{width:260px}
}

/* ==== HEADER (unified) – force dark bar + readable links ==== */
.header {
  background: #0f2c41;           /* same dark blue as city pages */
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 14px rgba(0,0,0,.12);
}
.header .brand img { max-height: 56px; height:auto; width:auto; }
.header .nav a { color: #fff; opacity: .95; }
.header .nav a:hover,
.header .nav a:focus { opacity: 1; }

/* Mobile header layout */
.nav-toggle{ display:none; }
@media (max-width: 992px){
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; font-size:22px; color:#fff; background:transparent; border:0; }
  .header .nav{
    display:none;
    position:absolute; left:0; right:0; top:100%;
    background:#0f2c41; padding:12px 18px; border-top:1px solid rgba(255,255,255,.08);
  }
  body.nav-open .header .nav{ display:block; }
  .header .nav a{ display:block; padding:10px 2px; border-bottom:1px solid rgba(255,255,255,.06); }
  .header .btn.header-call .txt{ display:none; } /* keep the button compact */
}

/* Make sure header phone pill text is white */
.btn.header-call, .btn.header-call * { color:#fff !important; }

/* ==== HIDE breadcrumb trail injected by old theme ==== */
nav.breadcrumbs, .breadcrumbs, nav[aria-label="breadcrumb"], .breadcrumb, .trail, .woocommerce-breadcrumb {
  display:none !important;
}

/* ==== FOOTER – enlarge logo and keep row tidy ==== */
.footer .brand img { width: 230px; height:auto; }
@media (max-width: 480px){
  .footer .brand img { width: 200px; }
}

/* Footer bottom bar fix (keep same dark background as footer) */
.footer-bottom {
  background: transparent;            /* remove odd strip color */
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Optional: keep footer link lists white (in case theme overrides) */
.footer a { color:#fff; }
.footer a:hover { color:#dfefff; }

/* ==== UNIFIED HEADER (match city pages) ==== */
.header {
  background:#0f2c41 !important;     /* force dark header everywhere */
  color:#fff;
  position:sticky; top:0; z-index:1000;
  box-shadow:0 2px 14px rgba(0,0,0,.12);
}
.header .brand img { max-height:56px; height:auto; width:auto; }
.header .nav a { color:#fff !important; opacity:.95; }
.header .nav a:hover, .header .nav a:focus { opacity:1; }

/* Mobile menu behavior */
.nav-toggle{ display:none; }
@media (max-width: 992px){
  .nav-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    font-size:22px; color:#fff; background:transparent; border:0;
  }
  .header .nav{
    display:none;
    position:absolute; left:0; right:0; top:100%;
    background:#0f2c41; padding:12px 18px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  body.nav-open .header .nav{ display:block; }
  .header .nav a{ display:block; padding:10px 2px;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .header .btn.header-call .txt{ display:none; } /* keep number short on mobile */
}

/* Hide any old breadcrumb trail injected by theme */
nav.breadcrumbs, .breadcrumbs, nav[aria-label="breadcrumb"], .breadcrumb, .trail {
  display:none !important;
}

/* ==== FOOTER: bigger logo + white links, consistent bottom bar ==== */
.footer .brand img,
.footer-brand img { width:230px; height:auto; display:block; }   /* bigger logo */
@media (max-width:480px){ .footer .brand img, .footer-brand img { width:200px; } }

.footer a { color:#fff; }
.footer a:hover { color:#dfefff; }
.footer-bottom { background:transparent; border-top:1px solid rgba(255,255,255,.08); }

/* === GLOBAL MOBILE FIT & SAFEGUARDS (unified) === */
html, body { max-width: 100%; overflow-x: hidden; }
img, iframe, video { max-width: 100%; height: auto; display: block; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Avoid iOS 'fixed' jank + overflow in heroes */
.hero, .hero-banner { background-attachment: scroll !important; }

/* Google map embeds must never overflow */
iframe[width][height] { width: 100% !important; height: auto; }

/* === UNIFIED HEADER (same as villes pages) === */
.header {
  background: #0f2c41 !important;  /* dark blue */
  color: #fff;
  position: sticky; top: 0; z-index: 1000;
  box-shadow: 0 2px 14px rgba(0,0,0,.12);
}
.header .brand img { max-height: 56px; height: auto; width: auto; }
.header .nav a { color: #fff !important; opacity: .95; }
.header .nav a:hover, .header .nav a:focus { opacity: 1; }

/* Mobile menu behavior */
.nav-toggle{ display:none; }
@media (max-width: 992px){
  .nav-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    font-size:22px; color:#fff; background:transparent; border:0;
  }
  .header .nav{
    display:none;
    position:absolute; left:0; right:0; top:100%;
    background:#0f2c41; padding:12px 18px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  body.nav-open .header .nav{ display:block; }
  .header .nav a{ display:block; padding:10px 2px;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .header .btn.header-call .txt{ display:none; } /* keep number short on mobile */
}

/* Hide any old breadcrumb trail injected by older theme */
nav.breadcrumbs, .breadcrumbs, nav[aria-label="breadcrumb"], .breadcrumb, .trail {
  display: none !important;
}

/* === FOOTER: bigger logo + consistent bottom bar === */
.footer .brand img,
.footer-brand img { width:230px; height:auto; display:block; }
@media (max-width:480px){ .footer .brand img, .footer-brand img { width:200px; } }
.footer a { color:#fff; }
.footer a:hover { color:#dfefff; }
.footer-bottom { background: transparent; border-top:1px solid rgba(255,255,255,.08); }


/* === FINAL FIX: Mobile Header Dropdown & Overlay === */
@media (max-width: 992px) {
  body.nav-open {
    overflow: hidden; /* stop background scroll when menu open */
  }

  .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2000;
  }

  .header .nav {
    display: none;
    flex-direction: column;
    position: fixed;
    top: 72px; /* below header */
    left: 0;
    right: 0;
    height: calc(100vh - 72px);
    background: rgba(15,44,65,0.98); /* dark overlay same color as header */
    padding: 24px 20px 60px;
    overflow-y: auto;
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.2);
  }

  body.nav-open .header .nav {
    display: flex;
    animation: menuSlideDown 0.3s ease forwards;
  }

  @keyframes menuSlideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .header .nav a {
    color: #fff !important;
    font-size: 18px;
    font-weight: 600;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    text-align: left;
  }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 2100;
  }
}
@media (max-width: 992px){
  .hero, .hero-banner { padding-top: 110px !important; }
}

/* ============= GLOBAL SCROLL / LAYOUT FIX ============= */

/* 1) Never let anything create horizontal scrolling */
html, body {
  overflow-x: hidden !important;
}

/* 2) Kill nested vertical scrollbars:
   If any wrapper/page/content was set to height:100vh + overflow:auto,
   we switch to min-height and let the document scroll normally. */
.site,
.page,
.wrapper,
.page-wrapper,
.main,
.content,
.container-scroll,
#page,
#content {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

/* 3) Make sure body has no phantom spacing */
html, body {
  margin: 0 !important;
  padding: 0 !important;
}

/* 4) Don’t let any 100vw element push the page wider than the viewport */
*[style*="100vw"] {
  max-width: 100% !important;
}

/* 5) If there’s a “spacer” used to reserve space for floating CTAs,
   keep it INSIDE <main>. If you can’t move it now, force it to zero height
   so it can’t create a white strip below the footer. */
.fab-spacer,
.cta-spacer,
.safe-bottom,
.sticky-spacer {
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: block !important;
}

/* 6) Floating Call/WhatsApp buttons: position fixed without inflating layout */
.cta-float,
.fab-wrap,
.floating-cta,
.call-whatsapp {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;   /* The base/fab wrapper can be the lowest */
  z-index: 999 !important;
  will-change: transform;
}

/* If you have each button in its own wrapper, stagger them vertically */
.call-button { bottom: 96px !important; }   /* red Appeler above WhatsApp */
.whatsapp-button { bottom: 18px !important; } /* green WhatsApp at the bottom */

/* Ensure these fixed buttons never expand the page width because of glow/shadow */
.cta-float, .fab-wrap, .floating-cta, .call-whatsapp,
.call-button, .whatsapp-button {
  max-width: 100% !important;
  overflow: visible !important;
}

/* 7) Footer sits flush; nothing bleeds below it */
.footer, footer {
  position: relative;
  z-index: 1;
}

/* 8) Mobile menu overlay: it should sit on top and scroll the document beneath */
.header, .nav, .mobile-nav {
  z-index: 1000 !important;
}

/* 9) Make sure hero sections do not force second scrollbars */
.hero, .hero-wrap, .hero-overlay {
  max-width: 100% !important;
  overflow: hidden !important;
}

/* 10) Common utility hardening */
img, video, iframe {
  max-width: 100% !important;
  height: auto;
  display: block;
}

/* === GLOBAL SCROLL/FIT HOTFIX (cities double-scroll + footer gap) === */
/* 1) Root must not force a second scroll container */
html { min-height: 100%; height: auto !important; }
body {
  min-height: 100%;
  height: auto !important;
  max-width: 100%;
  overflow-x: hidden;          /* prevent sideways scroll on small screens */
  overflow-y: auto !important; /* ensure the document itself is the scroller */
}

/* 2) Any page wrapper that was made scrollable — turn it into normal flow */
main, .main, .page, .site, .layout, .viewport, .content, .page-scroll {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* 3) Make sure fixed CTAs do not create layout height */
.sticky-cta, .sticky-ctas, .fab-dock {
  position: fixed !important;
  right: 18px;
  bottom: 22px;
  z-index: 9999;
}

/* 4) Remove any hidden “spacer/push” blocks that add empty space below footer */
.page-spacer, .page-end-spacer, .push, .site-bottom-space {
  height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important;
}

/* 5) Footer edge is the visual end of the page */
footer, #site-footer { margin-bottom: 0 !important; }

/* 6) iOS/Safari: avoid 100vh jank on heroes */
.hero, .hero-bg { background-attachment: scroll !important; }

/* 7) Extra guard: media and iframes should never push width */
img, iframe, video { max-width: 100%; height: auto; display: block; }
