/* Baobab VEFA — habillage global du thème Blocksy aux couleurs de la charte */

:root:root {
  --theme-button-background-initial-color: #1C1917;
  --theme-button-background-hover-color: #396955;
  --theme-palette-color-1: #396955;
  --theme-palette-color-2: #2C5343;
  --theme-palette-color-3: #3F3A35;
  --theme-palette-color-4: #1C1917;
  --theme-palette-color-5: #E4DDD2;
  --theme-palette-color-6: #F1ECE3;
  --theme-palette-color-7: #FAF6F0;
  --theme-palette-color-8: #FFFFFF;
  --bx-ink: #1C1917;
  --bx-cream: #FAF6F0;
  --bx-sage: #C3DAD0;
  --bx-tan: #D4BEAE;
  --bx-pine: #396955;
  --bx-emerald: #1FD69B;
  --bx-amber: #FFB020;
  --bx-night: #131211;
  --bx-display: 'Plus Jakarta Sans', system-ui, sans-serif;
  --bx-text: 'Plus Jakarta Sans', system-ui, sans-serif;
}

/* En-tête : verre dépoli, plus compact, menu en casse normale */
[data-header] .ct-header [data-row*="middle"] {
  --height: 76px !important;
  background-color: transparent !important;
}
.ct-header .site-title,
.ct-header .site-title a {
  font-family: var(--bx-display) !important;
  font-weight: 500 !important;
  font-size: 19px !important;
  letter-spacing: -0.01em;
  color: var(--bx-ink) !important;
}
[data-header] .ct-header [data-id="menu"] > ul > li > a {
  --theme-text-transform: none !important;
  --theme-font-size: 15px !important;
  --theme-font-weight: 600 !important;
  --theme-link-initial-color: var(--bx-ink) !important;
  --theme-link-hover-color: var(--bx-pine) !important;
  --theme-link-active-color: var(--bx-pine) !important;
  font-family: var(--bx-text) !important;
}
[data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a {
  --theme-link-initial-color: var(--bx-cream) !important;
  --theme-link-hover-color: var(--bx-cream) !important;
  background: var(--bx-ink);
  border-radius: 999px;
  height: auto !important;
  padding: 11px 20px !important;
  margin-left: 10px;
  transition: transform .15s ease, box-shadow .15s ease;
}
[data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a:hover {
  transform: translate(-2px, -2px);
  box-shadow: 3px 3px 0 var(--bx-pine);
}

/* Pied de page */
[data-footer] .ct-footer { background-color: #F1ECE3 !important; }
.ct-footer .widget-title { font-family: var(--bx-display) !important; font-weight: 500; }
.ct-footer a { color: var(--bx-ink); text-decoration-color: rgba(28,25,23,.3); text-underline-offset: 3px; }
.ct-footer a:hover { color: var(--bx-pine); }

/* Focus visible partout */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 2px solid var(--bx-pine);
  outline-offset: 3px;
}

/* Pied de page maison (remplace celui du thème) */
[data-footer] .ct-footer { display: none !important; }
.bx-footer { background: var(--bx-ink); color: rgba(250,246,240,.8); font-family: var(--bx-text); font-size: 15px; line-height: 1.8; }
.bx-footer-inner { max-width: 1360px; margin: 0 auto; padding: 64px clamp(16px, 3vw, 28px) 36px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; }
.bx-footer p { margin: 0; }
.bx-footer a { color: var(--bx-cream); text-decoration: none; }
.bx-footer a:hover { color: var(--bx-sage); text-decoration: underline; text-underline-offset: 4px; }
.bx-footer-logo { font-family: var(--bx-display); font-size: 22px; color: var(--bx-cream); margin-bottom: 10px !important; letter-spacing: -0.01em; }
.bx-footer-brand p:last-child { max-width: 34ch; }
.bx-footer-title { color: var(--bx-sage); font-weight: 700; margin-bottom: 8px !important; }
.bx-footer-legal { max-width: 1360px; margin: 0 auto !important; padding: 18px clamp(16px, 3vw, 28px) 28px; border-top: 1px solid rgba(250,246,240,.12); font-size: 13.5px; color: rgba(250,246,240,.55); }
@media (max-width: 860px) { .bx-footer-inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .bx-footer-inner { grid-template-columns: 1fr; padding-top: 48px; } }

/* Barre d'appel fixe, mobile uniquement */
.bx-callbar { display: none; }
@media (max-width: 680px) {
  .bx-callbar {
    display: flex; gap: 8px; position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 998;
    padding: 6px; border-radius: 20px;
    background: rgba(250,246,240,.78); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%);
    border: 1px solid rgba(255,255,255,.85); box-shadow: 0 18px 40px -18px rgba(28,25,23,.55);
  }
  .bx-callbar a { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; border-radius: 15px; font: 700 16px/1 var(--bx-text); text-decoration: none; }
  .bx-callbar svg { width: 20px; height: 20px; }
  .bx-callbar-call { flex: 1; background: var(--bx-ink); color: var(--bx-cream) !important; }
  .bx-callbar-mail { width: 56px; flex: none; background: #fff; color: var(--bx-ink) !important; border: 1.5px solid var(--bx-ink); }
  body { padding-bottom: 84px; }
}

.bx-callbar { transition: transform .25s ease, opacity .25s ease; }
.bx-callbar.is-hidden { transform: translateY(140%); opacity: 0; pointer-events: none; }

/* Drapeaux (aussi utilisés hors page d'accueil) */
.bx-flag { display: inline-block; width: 18px; height: 12px; border-radius: 2px; flex: none; box-shadow: 0 0 0 1px rgba(28,25,23,.18); }
.bx-flag--fr { background: linear-gradient(90deg, #1F3F8F 0 33.4%, #fff 33.4% 66.6%, #D8313A 66.6%); }
.bx-flag--es { background: linear-gradient(180deg, #C8102E 0 25%, #F6C400 25% 75%, #C8102E 75%); }
.bx-flag--en {
  background: #012169 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30' preserveAspectRatio='none'%3E%3Cpath d='M0 0l60 30M60 0L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0l60 30M60 0L0 30' stroke='%23C8102E' stroke-width='2.4'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

/* Sélecteur de langue FR | EN dans le menu */
li.bx-lang { display: flex; align-items: center; margin-left: 12px; }
.bx-lang-switch { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: rgba(28,25,23,.06); border: 1px solid rgba(28,25,23,.12); }
.bx-lang-opt {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px;
  font: 700 13px/1 var(--bx-text); color: #5E5750 !important; text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease;
}
.bx-lang-opt .bx-flag { width: 20px; height: 14px; border-radius: 3px; }
.bx-lang-opt:hover { color: var(--bx-ink) !important; background: rgba(255,255,255,.7); }
.bx-lang-opt.is-current { background: var(--bx-ink); color: var(--bx-cream) !important; }
.bx-lang-opt.is-current .bx-flag { box-shadow: 0 0 0 1px rgba(250,246,240,.5); }
/* Menu mobile (panneau Blocksy) */
#offcanvas li.bx-lang, [data-id="mobile-menu"] li.bx-lang { margin: 18px 0 0; }
#offcanvas .bx-lang-opt, [data-id="mobile-menu"] .bx-lang-opt { font-size: 15px; padding: 10px 16px; }
#offcanvas .bx-lang-switch { background: rgba(250,246,240,.08); border-color: rgba(250,246,240,.18); }
#offcanvas .bx-lang-opt { color: rgba(250,246,240,.75) !important; }
#offcanvas .bx-lang-opt.is-current { background: var(--bx-cream); color: var(--bx-ink) !important; }

/* Pied de page : listes avec drapeaux et icônes */
.bx-footer-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.bx-footer-list a { display: inline-flex; align-items: center; gap: 10px; }
.bx-footer-list .bx-flag { width: 20px; height: 14px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(250,246,240,.35); }
.bx-footer .bx-ico { width: 20px; height: 18px; flex: none; color: var(--bx-sage); transition: color .15s ease; }
.bx-footer-list a:hover .bx-ico { color: var(--bx-cream); }
/* WhatsApp : pied de page et barre d'appel mobile */
.bx-footer-list a.bx-footer-ic[href*="wa.me"] .bx-ico, .bx-footer-list .bx-footer-ic .bx-ico { color: #06231A; }
.bx-callbar .bx-ico { width: 22px; height: 22px; }
@media (max-width: 680px) {
  .bx-callbar-wa { width: 56px; flex: none; background: #25D366; color: #fff !important; }
}
/* Pied de page : téléphone + WhatsApp en vert vif devant le numéro */
.bx-footer-tel { display: flex; align-items: center; gap: 8px; }
.bx-footer-list .bx-footer-ic { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--bx-emerald); gap: 0; }
.bx-footer-list .bx-footer-ic .bx-ico { width: 15px; height: 15px; color: #06231A; }
.bx-footer-list .bx-footer-ic:hover { background: #5BF0BE; text-decoration: none; }
.bx-footer-tel > a:last-child { margin-left: 4px; }

/* =========================================================
   En-tête façon maquette V3 (03/10)
   ========================================================= */
.bx-topbar { background: var(--bx-ink); color: rgba(250,246,240,.72); font: 500 13px/1 var(--bx-text); position: relative; z-index: 60; }
.bx-topbar-in { max-width: 1360px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 28px); height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.bx-tb-left { display: flex; align-items: center; gap: 24px; min-width: 0; }
.bx-tb-left a { display: inline-flex; align-items: center; gap: 8px; color: var(--bx-cream); text-decoration: none; white-space: nowrap; }
.bx-tb-left a:hover { color: var(--bx-emerald); }
.bx-tb-left .bx-ico { width: 15px; height: 15px; color: var(--bx-emerald); }
.bx-tb-tag { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bx-topbar .bx-lang-switch { background: rgba(250,246,240,.08); border-color: rgba(250,246,240,.12); padding: 2px; }
.bx-topbar .bx-lang-opt { color: rgba(250,246,240,.72) !important; padding: 5px 10px; font-size: 11.5px; letter-spacing: .04em; }
.bx-topbar .bx-lang-opt:hover { background: rgba(250,246,240,.1); color: var(--bx-cream) !important; }
.bx-topbar .bx-lang-opt.is-current { background: var(--bx-cream); color: var(--bx-ink) !important; }
.bx-topbar .bx-lang-opt .bx-flag { width: 16px; height: 11px; }
@media (max-width: 860px) { .bx-tb-tag, .bx-tb-wa { display: none; } }

/* Logo : pictogramme baobab + « Immobilier neuf » */
.ct-header .site-title a {
  display: inline-grid !important; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 12px; align-items: center; text-decoration: none !important;
}
.ct-header .site-title a::before {
  content: ""; grid-row: 1 / 3; width: 42px; height: 42px; border-radius: 13px;
  background: #1C1917 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M9 22c3-5.6 8.6-8.4 15-8.4S36 16.4 39 22c-4.2-1.3-7.6-.9-10.2.9-1.4-.9-3-1.3-4.8-1.3s-3.4.4-4.8 1.3C16.6 21.1 13.2 20.7 9 22z' fill='%231FD69B'/%3E%3Cpath d='M20.6 36.5c.9-4 1-8.2.4-12.4h6c-.6 4.2-.5 8.4.4 12.4z' fill='%23C3DAD0'/%3E%3Cpath d='M13 37.5h22' stroke='%23C3DAD0' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.ct-header .site-title a::after {
  content: "Immobilier neuf"; grid-column: 2; font: 800 9.5px/1 var(--bx-text); letter-spacing: .22em; text-transform: uppercase; color: var(--bx-pine); margin-top: 4px;
}
html[lang^="en"] .ct-header .site-title a::after { content: "New-build property"; }
html[lang^="es"] .ct-header .site-title a::after { content: "Obra nueva"; }
.ct-header .site-title { line-height: 1 !important; }

/* Boutons du menu : « Appeler Charbel » en contour, « Ma sélection gratuite » en noir */
[data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a {
  --theme-link-initial-color: var(--bx-ink) !important; --theme-link-hover-color: var(--bx-ink) !important;
  background: transparent; border: 1.5px solid rgba(28,25,23,.16); gap: 9px;
}
[data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a .bx-ico { width: 17px; height: 17px; flex: none; color: var(--bx-pine); }
[data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a:hover { border-color: var(--bx-ink); box-shadow: none; transform: none; }
[data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-sel > a {
  --theme-link-initial-color: var(--bx-cream) !important; --theme-link-hover-color: var(--bx-cream) !important;
  background: var(--bx-ink); border-radius: 999px; height: auto !important; padding: 12px 22px !important; margin-left: 8px; font-weight: 700 !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
[data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-sel > a:hover { transform: translate(-2px, -2px); box-shadow: 3px 3px 0 var(--bx-emerald); }
@media (max-width: 860px) { .bx-tb-left .bx-tb-tag, .bx-tb-left .bx-tb-wa { display: none; } }
[data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a { display: inline-flex !important; align-items: center; }
li.bx-nav-cta > a .bx-ico { width: 18px; height: 18px; flex: none; }
#offcanvas li.bx-nav-cta > a { display: inline-flex !important; align-items: center; gap: 12px; }
#offcanvas li.bx-nav-cta > a .bx-ico { width: 22px; height: 22px; color: var(--bx-emerald); }

/* Site V2 : lien Académie VEFA dans le bandeau du haut */
.bx-tb-right { display: flex; align-items: center; gap: 14px; }
.bx-tb-acad { display: inline-flex; align-items: center; gap: 8px; padding: 4px 5px 4px 12px; border-radius: 999px; background: rgba(31,214,155,.14); color: var(--bx-emerald) !important; font-weight: 800; font-size: 12.5px; border: 1px solid rgba(31,214,155,.35); text-decoration: none !important; white-space: nowrap; }
.bx-tb-acad svg { width: 16px; height: 16px; }
.bx-tb-acad span { padding: 3px 8px; border-radius: 999px; background: var(--bx-emerald); color: #06231A; font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; }
.bx-tb-acad:hover { background: rgba(31,214,155,.24); }
@media (max-width: 520px) { .bx-tb-acad span { display: none; } .bx-tb-acad { padding: 5px 10px; } .bx-tb-left > a:first-of-type { display: none; } }

/* Site V2 : menu par ancres (pas d'état « page courante » sur tous les liens), plus compact pour tenir sur une ligne */
[data-header] .ct-header [data-id="menu"] > ul > li:not(.bx-nav-cta):not(.bx-nav-sel) > a { --theme-link-active-color: var(--bx-ink) !important; }
[data-header] .ct-header [data-id="menu"] > ul > li:not(.bx-nav-cta):not(.bx-nav-sel) > a:hover { color: var(--bx-pine) !important; }
@media (max-width: 1400px) {
  [data-header] .ct-header [data-id="menu"] { --menu-items-spacing: 18px; }
  [data-header] .ct-header [data-id="menu"] > ul > li > a { --theme-font-size: 14.5px !important; }
  [data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a, [data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-sel > a { padding: 10px 16px !important; }
}
@media (max-width: 1200px) {
  [data-header] .ct-header [data-id="menu"] { --menu-items-spacing: 12px; }
  [data-header] .ct-header [data-id="menu"] > ul > li > a { --theme-font-size: 13.5px !important; }
  .ct-header .site-title a::after { display: none; }
}
@media (max-width: 1320px) {
  header#header [data-device="desktop"] .ct-header-search { display: none !important; }
  [data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  [data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a { padding: 10px 12px !important; }
}
@media (max-width: 1080px) {
  [data-header] .ct-header [data-id="menu"] { --menu-items-spacing: 9px; }
  [data-header] .ct-header [data-id="menu"] > ul > li > a { --theme-font-size: 13px !important; }
  [data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-sel > a { padding: 9px 14px !important; margin-left: 4px; }
  .ct-header .site-title a::before { width: 36px; height: 36px; }
}
@media (min-width: 1000px) and (max-width: 1023px) {
  header#header [data-device="desktop"] .site-title a { font-size: 0 !important; column-gap: 0; }
}

/* Logo Baobab VEFA (piste 1B, 04/10) : pictogramme baobab, maison vert vif */
.ct-header .site-title a::before {
  width: 50px; height: 50px; border-radius: 0;
  background: url("logo/baobab.svg") center / contain no-repeat;
}
@media (max-width: 1080px) { .ct-header .site-title a::before { width: 42px; height: 42px; } }
#offcanvas .site-title a::before, .ct-panel .site-title a::before { background-image: url("logo/baobab-clair.svg"); }
.bx-footer-logo { display: flex; align-items: center; gap: 12px; }
.bx-footer-logo img { width: 54px; height: 54px; flex: none; }
.bx-footer-logo span { display: flex; flex-direction: column; }
.bx-footer-logo small { font: 800 9.5px/1 var(--bx-text); letter-spacing: .22em; text-transform: uppercase; color: var(--bx-emerald); margin-top: 6px; }
@media (max-width: 1200px) {
  .ct-header .site-title a { grid-template-rows: auto; }
  .ct-header .site-title a::before { grid-row: 1; }
}

/* « Immobilier neuf » sous le nom aussi sur tablette et mobile (05/10) */
@media (max-width: 1200px) {
  .ct-header .site-title a { grid-template-rows: auto auto; }
  .ct-header .site-title a::before { grid-row: 1 / 3; }
  .ct-header .site-title a::after { display: block; font-size: 8.5px; letter-spacing: .2em; margin-top: 3px; }
}
@media (min-width: 1000px) and (max-width: 1023px) { .ct-header .site-title a::after { display: none; } }

/* Police Plus Jakarta Sans (05/10) : titres en gras */
.ct-header .site-title,
.ct-header .site-title a,
.ct-footer .widget-title,
.bx-footer-logo { font-weight: 700; }
body { font-weight: 500; }

/* Plus Jakarta Sans partout, y compris les polices du thème Blocksy (menu, formulaires, liens d'accessibilité) */
html:root { --theme-font-family: 'Plus Jakarta Sans', system-ui, sans-serif; --theme-headings-font-family: 'Plus Jakarta Sans', system-ui, sans-serif; --theme-button-font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
body, button, input, select, textarea, label, .ct-menu-link, .screen-reader-text, .skip-link { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; }
.bx-h1v3, .bx-h1v3 .bx-hl { font-weight: 700 !important; }
body { letter-spacing: .012em; }
.ct-header .site-title a, .bx-footer-logo { font-weight: 700 !important; letter-spacing: -.02em !important; }
h1, h2, h3, h4 { font-weight: 700; }

/* Espagnol : « Baobab Promociones » est plus long, en-tête compacté pour garder le menu sur une ligne */
html[lang^="es"] .ct-header .site-title a { font-size: 17px !important; }
@media (min-width: 1000px) {
  html[lang^="es"] [data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  html[lang^="es"] [data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-cta > a { padding: 10px 12px !important; }
}
@media (min-width: 1000px) { html[lang^="es"] [data-header] .ct-header [data-id="menu"] { --menu-items-spacing: 16px; } html[lang^="es"] header#header [data-device="desktop"] .ct-header-search { display: none !important; } }
@media (max-width: 1240px) { html[lang^="es"] [data-header] .ct-header [data-id="menu"] > ul > li > a { --theme-font-size: 13px !important; } html[lang^="es"] [data-header] .ct-header [data-id="menu"] { --menu-items-spacing: 9px; } }
@media (min-width: 1000px) and (max-width: 1140px) { html[lang^="es"] .ct-header .site-title a::after { display: none; } html[lang^="es"] .ct-header .site-title a { font-size: 15px !important; } }
/* Trois langues : sur petit écran, drapeaux seuls dans le bandeau (nom de la langue gardé pour les lecteurs d'écran) */
@media (max-width: 520px) {
  .bx-topbar .bx-lang-opt > span:not(.bx-flag) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .bx-topbar .bx-lang-opt { padding-left: 8px; padding-right: 8px; }
  .bx-topbar .bx-lang-opt .bx-flag { width: 20px; height: 14px; }
}
@media (max-width: 360px) { .bx-tb-acad { font-size: 11.5px; padding: 5px 8px; gap: 6px; } .bx-topbar .bx-lang-opt { padding-left: 6px; padding-right: 6px; } .bx-topbar .bx-lang-opt .bx-flag { width: 18px; height: 12px; } }

/* Logo (05/10) : pictogramme recadré au plus près du dessin, plus grand et centré sur les deux lignes de texte */
.ct-header .site-title a { column-gap: 14px; }
.ct-header .site-title a::before {
  width: 66px; height: 53px; align-self: center;
  background: url("logo/baobab-serre.svg?v=2") center / contain no-repeat;
}
#offcanvas .site-title a::before, .ct-panel .site-title a::before { background-image: url("logo/baobab-clair-serre.svg?v=2"); }
.ct-header .site-title a { font-size: 20px !important; }
html[lang^="es"] .ct-header .site-title a { font-size: 18px !important; }
.ct-header .site-title a::after { margin-top: 6px; }
@media (max-width: 1080px) { .ct-header .site-title a::before { width: 56px; height: 45px; } }
@media (max-width: 999px) { .ct-header .site-title a::before { width: 54px; height: 44px; } .ct-header .site-title a { font-size: 19px !important; } }
@media (max-width: 360px) { .ct-header .site-title a::before { width: 46px; height: 37px; } .ct-header .site-title a { font-size: 17px !important; } html[lang^="es"] .ct-header .site-title a { font-size: 15.5px !important; } }
.bx-footer-logo { gap: 14px; }
.bx-footer-logo img { width: 72px; height: 58px; }
.bx-footer-logo span { font-size: 22px; line-height: 1.05; }
.bx-footer-logo small { margin-top: 7px; }
@media (min-width: 1000px) and (max-width: 1180px) {
  html[lang^="es"] .ct-header .site-title a { font-size: 15.5px !important; column-gap: 10px; }
  html[lang^="es"] .ct-header .site-title a::before { width: 50px; height: 40px; }
  html[lang^="es"] .ct-header .site-title a::after { display: none; }
  html[lang^="es"] [data-header] .ct-header [data-id="menu"] > ul > li > a { --theme-font-size: 12.5px !important; }
  html[lang^="es"] [data-header] .ct-header [data-id="menu"] { --menu-items-spacing: 8px; }
  html[lang^="es"] [data-header] .ct-header [data-id="menu"] > ul > li.bx-nav-sel > a { padding: 9px 12px !important; }
}
@media (min-width: 1000px) and (max-width: 1180px) { html[lang^="es"] .ct-header .site-title a { grid-template-rows: auto; } html[lang^="es"] .ct-header .site-title a::before { grid-row: 1; } }
@media (min-width: 1000px) and (max-width: 1023px) { .ct-header .site-title a { grid-template-rows: auto; } .ct-header .site-title a::before { grid-row: 1; } }

/* Pages légales */
.bx-legal { max-width: 820px; font-size: 16.5px; line-height: 1.7; color: #3A3430; }
.bx-legal h2 { font-size: 22px !important; margin: 38px 0 12px !important; letter-spacing: -.02em; color: var(--bx-ink); }
.bx-legal p { margin: 0 0 12px; }
.bx-legal ul { margin: 0 0 14px; padding-left: 22px; }
.bx-legal li { margin-bottom: 6px; }
.bx-legal a { color: var(--bx-pine); text-decoration: underline; text-underline-offset: 3px; }
.bx-legal .bx-legal-maj { font-size: 14px; color: #5E5750; font-weight: 600; }
.bx-legal mark.bx-todo { background: #FFE58A; color: #1C1917; padding: 1px 5px; border-radius: 4px; }
.bx-footer-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.bx-footer-legal a:hover { color: var(--bx-emerald); }
/* En-tête identique sur toutes les pages : colonne du logo à sa largeur naturelle, le menu prend le reste */
header#header [data-device="desktop"] [data-row="middle"] > .ct-container { grid-template-columns: auto minmax(0, 1fr) !important; }

/* En-tête : loupe de recherche du thème retirée (inutile : la recherche se fait par ville sur l'accueil) — 15/10/2026 */
.ct-header [data-id="search"], #search-modal { display: none !important; }

/* Pages villes et page « Nos villes » : la photo d'en-tête démarre juste sous le menu (pas de marge du thème) */
.ct-container-full:has(.bxv-wrap), .ct-container-full:has(.bxh) { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Barre d'actions mobile (20/10/2026) : Appeler · WhatsApp · Ma sélection, trois boutons égaux */
@media (max-width: 680px) {
  .bx-callbar { gap: 6px; }
  .bx-callbar a.bx-callbar-call, .bx-callbar a.bx-callbar-wa, .bx-callbar a.bx-callbar-sel { flex: 1 1 0; width: auto; min-width: 0; gap: 6px; padding: 0 6px; font-size: 13.5px; white-space: nowrap; }
  .bx-callbar svg, .bx-callbar .bx-ico { width: 18px; height: 18px; flex: 0 0 auto; }
  .bx-callbar-sel { background: #fff; color: var(--bx-ink) !important; border: 1.5px solid var(--bx-ink); }
}
