/* Veri-Immo Template Studio v0.5.1 */
:root{--vpt-page-bg:#f5f7fa;--vpt-ink:#152033;--vpt-muted:#66758a;--vpt-white:#fff;--vpt-line:color-mix(in srgb,var(--vpt-secondary) 15%,#dbe3ec);--vpt-shadow:0 18px 45px rgba(20,35,55,.10)}
html[data-theme="dark"]{--vpt-page-bg:#07182e;--vpt-ink:#152033;--vpt-muted:#66758a;--vpt-white:#fff;--vpt-line:#dbe3ec;--vpt-shadow:0 18px 45px rgba(0,0,0,.20)}
.vpt-root{color:var(--vpt-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.vpt-root *{box-sizing:border-box}.vpt-wrap{width:min(1220px,calc(100% - 40px));margin:0 auto}.vpt-root a{text-decoration:none}.vpt-root small{letter-spacing:.08em}.vpt-button,.vpt-search button,.vpt-catalogue-filter button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:0;border-radius:calc(var(--vpt-radius)*.55);background:var(--vpt-primary);color:#fff!important;font-weight:850;cursor:pointer}.vpt-button.ghost{background:transparent;color:inherit!important;border:1px solid currentColor}.vpt-hero{position:relative;overflow:hidden}.vpt-hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.045em;margin:12px 0 18px}.vpt-hero p{font-size:18px;max-width:680px;color:color-mix(in srgb,currentColor 75%,transparent)}.vpt-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.vpt-hero-split{padding:70px 0;background:linear-gradient(125deg,var(--vpt-secondary),color-mix(in srgb,var(--vpt-secondary) 74%,var(--vpt-accent)));color:#fff}.vpt-split-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:58px;align-items:center}.vpt-hero-search{background:var(--vpt-white);color:var(--vpt-ink);padding:24px;border-radius:var(--vpt-radius);box-shadow:var(--vpt-shadow)}
.vpt-hero-panorama{min-height:650px;padding:88px 0 150px;background:var(--vpt-secondary);color:#fff;background-image:linear-gradient(90deg,rgba(4,19,34,.82),rgba(4,19,34,.15)),var(--vpt-hero);background-size:cover;background-position:center}.vpt-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.16),transparent 55%);pointer-events:none}.vpt-panorama-copy{position:relative;z-index:1}.vpt-panorama-copy h1{max-width:760px}.vpt-search-float{position:absolute;left:50%;bottom:45px;transform:translateX(-50%);z-index:3}.vpt-search-float .vpt-search{background:rgba(255,255,255,.96);box-shadow:0 20px 60px rgba(0,0,0,.22);border:0}
.vpt-hero-editorial{padding:72px 0;background:#0d151f;color:#f7f3ea}.vpt-editorial-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:62px;align-items:center}.vpt-editorial-grid h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.03em}.vpt-editorial-image{position:relative;height:520px;overflow:hidden;border-radius:var(--vpt-radius);color:#fff}.vpt-editorial-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}.vpt-editorial-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 50%)}.vpt-editorial-image b,.vpt-editorial-image em{position:absolute;z-index:2;left:28px;bottom:55px}.vpt-editorial-image em{bottom:25px;font-style:normal;font-weight:800;color:#f2d294}.vpt-search-section{padding:28px 0}
.vpt-hero-brasil{padding:72px 0;background:linear-gradient(135deg,color-mix(in srgb,var(--vpt-primary) 85%,#063b22),var(--vpt-secondary));color:#fff}.vpt-brasil-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.vpt-brasil-photo{height:470px;border-radius:calc(var(--vpt-radius)*1.4);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.25);transform:rotate(1deg)}.vpt-brasil-photo img{width:100%;height:100%;object-fit:cover}
.vpt-search{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vpt-search label{display:grid;gap:6px;font-size:12px;font-weight:750;color:var(--vpt-muted)}.vpt-search select,.vpt-search input,.vpt-catalogue-filter select,.vpt-catalogue-filter input{width:100%;min-height:46px;border:1px solid var(--vpt-line);border-radius:calc(var(--vpt-radius)*.5);background:var(--vpt-white);color:var(--vpt-ink);padding:0 12px}.vpt-search button{grid-column:1/-1}
.vpt-section{padding:72px 0;background:var(--vpt-white)}.vpt-section-alt{background:var(--vpt-surface)}.vpt-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:26px}.vpt-section-head h2,.vpt-agency h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.035em;margin:7px 0}.vpt-section-head p{margin:0;color:var(--vpt-muted)}.vpt-section-head>a{font-weight:800;color:var(--vpt-primary)}.vpt-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.vpt-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--vpt-line);border-radius:var(--vpt-radius);background:var(--vpt-white);box-shadow:0 8px 28px rgba(20,35,55,.055);transition:.2s ease}.vpt-card:hover{transform:translateY(-3px);box-shadow:var(--vpt-shadow)}.vpt-card-media{position:relative;display:block;height:245px;overflow:hidden;background:var(--vpt-surface)}.vpt-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.vpt-card:hover .vpt-card-media img{transform:scale(1.025)}.vpt-placeholder{display:grid;place-items:center;height:100%;font-size:54px;color:var(--vpt-secondary)}.vpt-badge{position:absolute;left:13px;top:13px;padding:6px 9px;border-radius:999px;background:var(--vpt-secondary);color:#fff;font-size:10px;font-weight:900;text-transform:uppercase}.vpt-card-body{padding:18px}.vpt-ref{font-size:10px;font-weight:900;color:var(--vpt-muted)}.vpt-card h3{font-size:21px;line-height:1.16;margin:6px 0}.vpt-card h3 a{color:var(--vpt-ink)}.vpt-place{color:var(--vpt-muted);margin:0 0 12px}.vpt-specs{display:flex;gap:7px;flex-wrap:wrap}.vpt-specs span{padding:5px 8px;border-radius:8px;background:var(--vpt-surface);font-size:12px}.vpt-card-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:18px}.vpt-card-bottom strong{font-size:23px;color:var(--vpt-primary)}.vpt-card-bottom strong small{font-size:12px;color:var(--vpt-muted)}.vpt-card-bottom>a{font-size:13px;font-weight:850;color:var(--vpt-primary)}
html[data-vpt-cards="wide"] .vpt-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-vpt-cards="wide"] .vpt-card{display:grid;grid-template-columns:1.05fr .95fr}html[data-vpt-cards="wide"] .vpt-card-media{height:100%;min-height:285px}
html[data-vpt-cards="premium"] .vpt-card{border-radius:8px;background:#111923;border-color:#263242;color:#f7f3ea}html[data-vpt-cards="premium"] .vpt-card h3 a,html[data-vpt-cards="premium"] .vpt-card-body{color:#f7f3ea}html[data-vpt-cards="premium"] .vpt-card-media{height:310px}html[data-vpt-cards="premium"] .vpt-card-bottom strong{color:var(--vpt-accent)}
html[data-vpt-cards="soft"] .vpt-card{border-radius:26px;box-shadow:0 16px 38px rgba(24,80,50,.08)}html[data-vpt-cards="soft"] .vpt-card-media{height:260px}
.vpt-types{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.vpt-types a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px;border:1px solid var(--vpt-line);border-radius:var(--vpt-radius);background:var(--vpt-white);color:var(--vpt-ink)}.vpt-types a span{color:var(--vpt-primary);font-size:13px}.vpt-agency-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.vpt-agency p{font-size:17px;color:var(--vpt-muted)}.vpt-agency-contact{display:grid;gap:10px;padding:25px;border-radius:var(--vpt-radius);background:var(--vpt-surface)}.vpt-agency-contact a:not(.vpt-button){color:var(--vpt-secondary)}
.vpt-page-hero{padding:58px 0;background:linear-gradient(125deg,var(--vpt-secondary),color-mix(in srgb,var(--vpt-secondary) 76%,var(--vpt-accent)));color:#fff}.vpt-page-hero h1{font-size:clamp(38px,5vw,62px);margin:7px 0;letter-spacing:-.04em}.vpt-catalogue{padding:32px 0 75px;background:var(--vpt-surface)}.vpt-catalogue-filter{display:grid;grid-template-columns:1.5fr repeat(4,1fr) auto;gap:9px;padding:15px;margin-bottom:24px;background:var(--vpt-white);border:1px solid var(--vpt-line);border-radius:var(--vpt-radius)}.vpt-catalogue-filter button{min-height:46px}.vpt-empty{padding:50px;text-align:center;border:1px dashed var(--vpt-line);border-radius:var(--vpt-radius);color:var(--vpt-muted)}
.vpt-detail{background:var(--vpt-white)}.vpt-detail-head{padding:42px 0 22px}.vpt-detail-head small{color:var(--vpt-primary);font-weight:900}.vpt-detail-title{display:flex;align-items:end;justify-content:space-between;gap:30px}.vpt-detail-title h1{font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.045em;margin:7px 0}.vpt-detail-title p{color:var(--vpt-muted)}.vpt-detail-title>strong{font-size:32px;color:var(--vpt-primary);white-space:nowrap}.vpt-detail-title strong small{font-size:13px;color:var(--vpt-muted)}
.vpt-gallery{margin-bottom:30px}.vpt-gallery-main{height:560px;border-radius:var(--vpt-radius);overflow:hidden;background:var(--vpt-surface)}.vpt-gallery-main img{width:100%;height:100%;object-fit:cover}.vpt-gallery-strip{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:thin}.vpt-gallery-strip button{flex:0 0 125px;height:84px;padding:0;border:2px solid transparent;border-radius:calc(var(--vpt-radius)*.55);overflow:hidden;background:none;cursor:pointer}.vpt-gallery-strip button.active{border-color:var(--vpt-primary)}.vpt-gallery-strip img{width:100%;height:100%;object-fit:cover}.vpt-gallery-empty{height:390px;display:grid;place-items:center;background:var(--vpt-surface);border-radius:var(--vpt-radius);font-size:64px}.vpt-gallery-mosaic{display:grid;grid-template-columns:2fr 1fr;gap:10px;height:560px}.vpt-gallery-mosaic button{border:0;padding:0;background:none;overflow:hidden;cursor:pointer}.vpt-gallery-mosaic img{width:100%;height:100%;object-fit:cover}.vpt-mosaic-main{border-radius:var(--vpt-radius) 0 0 var(--vpt-radius)}.vpt-mosaic-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vpt-mosaic-side button:nth-child(2){border-radius:0 var(--vpt-radius) 0 0}.vpt-mosaic-side button:nth-child(4){border-radius:0 0 var(--vpt-radius) 0}
.vpt-detail-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:34px;padding-bottom:75px}.vpt-detail-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.vpt-detail-specs div{padding:14px;border:1px solid var(--vpt-line);border-radius:calc(var(--vpt-radius)*.7);background:var(--vpt-surface)}.vpt-detail-specs small{display:block;color:var(--vpt-muted)}.vpt-detail-section{margin-top:34px}.vpt-detail-section h2{font-size:29px}.vpt-detail-section p{font-size:17px;line-height:1.75;color:var(--vpt-muted)}.vpt-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none;padding:0}.vpt-feature-list li:before{content:"✓";margin-right:8px;color:var(--vpt-primary);font-weight:900}.vpt-contact-box{align-self:start;position:sticky;top:105px;padding:24px;border:1px solid var(--vpt-line);border-top:5px solid var(--vpt-primary);border-radius:var(--vpt-radius);background:var(--vpt-surface)}.vpt-contact-box>small{font-weight:900;color:var(--vpt-primary)}.vpt-contact-box h3{font-size:23px}.vpt-contact-box form input,.vpt-contact-box form select,.vpt-contact-box form textarea{background:var(--vpt-white);color:var(--vpt-ink);border-color:var(--vpt-line)}
/* Header and footer variants: styled globally without touching Core markup. */
html[data-vpt-header="dark"] .site-header{background:#0d151f!important;border-color:#263242!important}html[data-vpt-header="dark"] .main-nav a,html[data-vpt-header="dark"] .brand-tagline{color:#f4f4f2!important}html[data-vpt-header="dark"] .theme-toggle{border-color:#38485a;color:#fff}html[data-vpt-header="light"] .site-header{background:#fff!important}html[data-vpt-header="transparent"] .site-header{background:rgba(7,22,39,.86)!important;border-color:rgba(255,255,255,.12)!important;backdrop-filter:blur(13px)}html[data-vpt-header="transparent"] .main-nav a,html[data-vpt-header="transparent"] .brand-tagline{color:#fff!important}
html[data-vpt-template="premium"] .site-footer{background:#0d151f;border-color:var(--vpt-accent)}html[data-vpt-template="brasil"] .site-footer{background:#083b35;border-color:var(--vpt-accent)}
/* Existing stable short-term/contact screens inherit template palette. */
html[data-vpt-template] .page-hero{background:linear-gradient(125deg,var(--vpt-secondary),color-mix(in srgb,var(--vpt-secondary) 76%,var(--vpt-accent)))!important}html[data-vpt-template] .btn-primary,html[data-vpt-template] .estimate-band{background:var(--vpt-primary)!important}html[data-vpt-template] .contact-info{background:var(--vpt-secondary)!important;border-color:var(--vpt-primary)!important}
@media(max-width:980px){.vpt-split-grid,.vpt-editorial-grid,.vpt-brasil-grid,.vpt-agency-grid,.vpt-detail-layout{grid-template-columns:1fr}.vpt-property-grid,html[data-vpt-cards="wide"] .vpt-property-grid{grid-template-columns:1fr 1fr}.vpt-search{grid-template-columns:1fr 1fr}.vpt-catalogue-filter{grid-template-columns:1fr 1fr 1fr}.vpt-gallery-main,.vpt-gallery-mosaic{height:440px}.vpt-contact-box{position:static}}
@media(max-width:650px){.vpt-wrap{width:calc(100% - 24px)}.vpt-hero{padding:50px 0}.vpt-hero h1{font-size:43px}.vpt-property-grid,html[data-vpt-cards="wide"] .vpt-property-grid,.vpt-types,.vpt-search,.vpt-catalogue-filter,.vpt-detail-specs{grid-template-columns:1fr}.vpt-card,html[data-vpt-cards="wide"] .vpt-card{display:flex}.vpt-card-media{height:230px!important}.vpt-section{padding:50px 0}.vpt-section-head,.vpt-detail-title{align-items:flex-start;flex-direction:column}.vpt-gallery-main{height:330px}.vpt-gallery-mosaic{display:block;height:auto}.vpt-mosaic-main{display:block;height:330px;border-radius:var(--vpt-radius)}.vpt-mosaic-side{display:flex;overflow-x:auto;margin-top:10px}.vpt-mosaic-side button{flex:0 0 100px;height:75px;border-radius:10px!important}.vpt-feature-list{grid-template-columns:1fr}.vpt-hero-panorama{min-height:580px;padding-bottom:210px}.vpt-search-float{bottom:20px}.vpt-editorial-image,.vpt-brasil-photo{height:330px}}


/* =========================================================
   v0.4.4a — Mode sombre hybride
   Le fond général devient sombre, les zones de lecture restent claires.
   ========================================================= */
html[data-theme="dark"] body{
  background:var(--vpt-page-bg)!important;
}
html[data-theme="dark"] .vpt-root{
  background:var(--vpt-page-bg)!important;
  color:#152033!important;
}
/* Catalogue : arrière-plan sombre, filtre et biens clairs */
html[data-theme="dark"] .vpt-catalogue{
  background:var(--vpt-page-bg)!important;
}
html[data-theme="dark"] .vpt-catalogue-filter,
html[data-theme="dark"] .vpt-card:not(.vpt-card-premium),
html[data-theme="dark"] .vpt-types a,
html[data-theme="dark"] .vpt-hero-search,
html[data-theme="dark"] .vpt-search-float .vpt-search,
html[data-theme="dark"] .vpt-agency-contact,
html[data-theme="dark"] .vpt-empty{
  background:#fff!important;
  color:#152033!important;
  border-color:#dbe3ec!important;
}
html[data-theme="dark"] .vpt-card:not(.vpt-card-premium) h3 a,
html[data-theme="dark"] .vpt-types a,
html[data-theme="dark"] .vpt-catalogue-filter,
html[data-theme="dark"] .vpt-search,
html[data-theme="dark"] .vpt-search label{
  color:#152033!important;
}
html[data-theme="dark"] .vpt-card:not(.vpt-card-premium) .vpt-place,
html[data-theme="dark"] .vpt-card:not(.vpt-card-premium) .vpt-ref,
html[data-theme="dark"] .vpt-section-head p,
html[data-theme="dark"] .vpt-agency p,
html[data-theme="dark"] .vpt-empty{
  color:#66758a!important;
}
html[data-theme="dark"] .vpt-specs span,
html[data-theme="dark"] .vpt-detail-specs div{
  background:#f3f6f8!important;
  color:#152033!important;
}
html[data-theme="dark"] .vpt-search select,
html[data-theme="dark"] .vpt-search input,
html[data-theme="dark"] .vpt-catalogue-filter select,
html[data-theme="dark"] .vpt-catalogue-filter input,
html[data-theme="dark"] .vpt-contact-box form input,
html[data-theme="dark"] .vpt-contact-box form select,
html[data-theme="dark"] .vpt-contact-box form textarea{
  background:#fff!important;
  color:#152033!important;
  border-color:#cfd9e4!important;
}
html[data-theme="dark"] .vpt-search input::placeholder,
html[data-theme="dark"] .vpt-catalogue-filter input::placeholder,
html[data-theme="dark"] .vpt-contact-box input::placeholder,
html[data-theme="dark"] .vpt-contact-box textarea::placeholder{
  color:#8794a6!important;
}
/* Accueil : les sections contenant du texte restent claires */
html[data-theme="dark"] .vpt-section{
  background:#fff!important;
  color:#152033!important;
}
html[data-theme="dark"] .vpt-section-alt{
  background:#f3f6f8!important;
}
/* Un espace sombre entre les grandes sections donne l'effet "fond sombre" */
html[data-theme="dark"] .vpt-home > .vpt-section,
html[data-theme="dark"] .vpt-home > .vpt-section-alt{
  border-top:12px solid var(--vpt-page-bg);
}
/* Fiche d'un bien : fond extérieur sombre, panneaux de lecture clairs */
html[data-theme="dark"] .vpt-detail{
  background:var(--vpt-page-bg)!important;
}
html[data-theme="dark"] .vpt-detail-head .vpt-wrap,
html[data-theme="dark"] .vpt-detail-layout > article,
html[data-theme="dark"] .vpt-contact-box{
  background:#fff!important;
  color:#152033!important;
  border-color:#dbe3ec!important;
}
html[data-theme="dark"] .vpt-detail-head .vpt-wrap{
  padding:22px 26px;
  border-radius:var(--vpt-radius);
  margin-top:18px;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
html[data-theme="dark"] .vpt-detail-layout > article{
  padding:24px;
  border-radius:var(--vpt-radius);
  border:1px solid #dbe3ec;
}
html[data-theme="dark"] .vpt-detail-title h1,
html[data-theme="dark"] .vpt-detail-section h2,
html[data-theme="dark"] .vpt-feature-list,
html[data-theme="dark"] .vpt-contact-box h3{
  color:#152033!important;
}
html[data-theme="dark"] .vpt-detail-title p,
html[data-theme="dark"] .vpt-detail-section p,
html[data-theme="dark"] .vpt-detail-specs small{
  color:#66758a!important;
}
/* Galerie : les images restent naturelles ; bande de vignettes sur fond clair */
html[data-theme="dark"] .vpt-gallery-strip{
  background:#fff;
  padding:12px;
  border-radius:0 0 var(--vpt-radius) var(--vpt-radius);
}
/* Premium conserve volontairement ses cartes foncées : c'est le design du template,
   pas le mode sombre. Les autres templates restent clairs. */

/* =========================================================
   v0.4.4b — Accueil rempli + galeries interactives
   ========================================================= */
.vpt-featured-section .vpt-property-grid{align-items:stretch}
.vpt-featured-section .vpt-card{height:100%}

/* Premium : les puces restent lisibles, y compris en mode sombre hybride. */
html[data-vpt-cards="premium"] .vpt-specs span,
html[data-theme="dark"][data-vpt-cards="premium"] .vpt-specs span{
  background:#202a36!important;
  color:#f7f3ea!important;
  border:1px solid #354252!important;
}
html[data-vpt-header="dark"] .theme-toggle,
html[data-vpt-header="transparent"] .theme-toggle{
  background:#fff!important;
  color:#152033!important;
  border-color:#d9e1e9!important;
}

/* Les zones de galerie sont des boutons sans chrome navigateur. */
button.vpt-gallery-main{display:block;width:100%;padding:0;border:0;cursor:zoom-in;text-align:inherit}
.vpt-gallery-mosaic{position:relative}
.vpt-gallery-mosaic button{position:relative;cursor:zoom-in}
.vpt-mosaic-side button{position:relative}
.vpt-more-photos{position:absolute;inset:0;display:grid;place-items:center;background:rgba(7,19,31,.58);color:#fff;font-size:21px;font-weight:900;letter-spacing:-.02em;backdrop-filter:blur(1px)}
.vpt-gallery-all{position:absolute;right:18px;bottom:18px;z-index:4;min-height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.8);border-radius:10px;background:rgba(255,255,255,.94);color:#152033;font-weight:850;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.vpt-gallery-horizontal{position:relative}
.vpt-gallery-all.horizontal{bottom:112px}

/* Visionneuse plein écran commune aux galeries horizontale et mosaïque. */
body.vpt-lightbox-open{overflow:hidden}
.vpt-lightbox{display:none;position:fixed;inset:0;z-index:999999}
.vpt-lightbox.active{display:block}
.vpt-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,8,15,.93);backdrop-filter:blur(5px)}
.vpt-lightbox-dialog{position:absolute;inset:24px;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center}
.vpt-lightbox-dialog figure{margin:0;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.vpt-lightbox-dialog figure img{display:block;max-width:100%;max-height:calc(100vh - 100px);object-fit:contain;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.vpt-lightbox-dialog figcaption{color:#fff;font-size:14px;font-weight:800}
.vpt-lightbox-close{position:absolute;right:10px;top:6px;z-index:3;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:34px;line-height:1;cursor:pointer}
.vpt-lightbox-nav{width:54px;height:70px;border:0;border-radius:14px;background:rgba(255,255,255,.10);color:#fff;font-size:46px;line-height:1;cursor:pointer;justify-self:center}
.vpt-lightbox-nav:hover,.vpt-lightbox-close:hover{background:rgba(255,255,255,.20)}

@media(max-width:650px){
  .vpt-lightbox-dialog{inset:8px;grid-template-columns:44px minmax(0,1fr) 44px}
  .vpt-lightbox-nav{width:40px;height:58px;font-size:38px}
  .vpt-lightbox-close{right:4px;top:4px;width:42px;height:42px;font-size:30px}
  .vpt-gallery-all{right:10px;bottom:10px;font-size:12px;min-height:38px}
  .vpt-gallery-all.horizontal{bottom:98px}
}

/* =========================================================
   v0.4.4c — Pages éditoriales lisibles en mode sombre
   L'arrière-plan reste sombre mais toute zone de texte reste claire.
   ========================================================= */
html[data-vpt-template][data-theme="dark"] main,
html[data-vpt-template][data-theme="auto"].system-dark main{
  background:var(--vpt-page-bg,#07182e)!important;
}
html[data-vpt-template][data-theme="dark"] main > .container.rich-content,
html[data-vpt-template][data-theme="auto"].system-dark main > .container.rich-content{
  display:block;
  background:#fff!important;
  color:#152033!important;
  margin-top:30px!important;
  margin-bottom:46px!important;
  padding:44px 52px!important;
  border:1px solid #dbe3ec!important;
  border-radius:var(--vpt-radius,18px)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.16)!important;
}
html[data-vpt-template][data-theme="dark"] .rich-content h1,
html[data-vpt-template][data-theme="dark"] .rich-content h2,
html[data-vpt-template][data-theme="dark"] .rich-content h3,
html[data-vpt-template][data-theme="dark"] .rich-content h4,
html[data-vpt-template][data-theme="dark"] .rich-content h5,
html[data-vpt-template][data-theme="dark"] .rich-content h6,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content h1,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content h2,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content h3,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content h4,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content h5,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content h6{
  color:#152033!important;
}
html[data-vpt-template][data-theme="dark"] .rich-content p,
html[data-vpt-template][data-theme="dark"] .rich-content li,
html[data-vpt-template][data-theme="dark"] .rich-content span,
html[data-vpt-template][data-theme="dark"] .rich-content strong,
html[data-vpt-template][data-theme="dark"] .rich-content blockquote,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content p,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content li,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content span,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content strong,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content blockquote{
  color:#34445a!important;
}
html[data-vpt-template][data-theme="dark"] .rich-content a,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content a{
  color:var(--vpt-primary)!important;
}
html[data-vpt-template][data-theme="dark"] .rich-content hr,
html[data-vpt-template][data-theme="auto"].system-dark .rich-content hr{
  border-color:#dbe3ec!important;
}
@media(max-width:700px){
  html[data-vpt-template][data-theme="dark"] main > .container.rich-content,
  html[data-vpt-template][data-theme="auto"].system-dark main > .container.rich-content{
    width:calc(100% - 24px)!important;
    padding:28px 22px!important;
    margin-top:18px!important;
    margin-bottom:30px!important;
  }
}

/* =========================================================
   Veri-Immo Template Studio v0.5.4 — navigation publique robuste
   Les libellés longs (ex. « Courte durée ») restent sur une ligne.
   Le header utilise davantage de largeur sur grand écran et passe
   en hamburger avant que le menu ne commence à se casser.
   ========================================================= */
.vpt-mobile-only,.vpt-mobile-filter-toggle{display:none}

@media(min-width:1181px){
  .site-header .nav-wrap,
  .site-header .topbar-in{
    width:min(1460px,calc(100% - 32px))!important;
  }
  .site-header .nav-wrap{
    gap:18px!important;
  }
  .site-header .brand{
    min-width:0!important;
    flex:0 1 auto!important;
  }
  .site-header .main-nav{
    min-width:0!important;
    flex:1 1 auto!important;
    justify-content:flex-end!important;
    gap:clamp(11px,1.15vw,21px)!important;
    flex-wrap:nowrap!important;
  }
  .site-header .main-nav a,
  .site-header .main-nav .nav-cta,
  .site-header .main-nav .theme-toggle{
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
  .site-header .main-nav .nav-cta{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}

@media(max-width:1180px){
  /* Le header public doit toujours offrir un vrai bouton menu visible. */
  .site-header .nav-wrap{position:relative!important;}
  .site-header .menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    margin-left:auto!important;
    border:1px solid #d7e0ea!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#17243a!important;
    box-shadow:0 6px 18px rgba(11,28,49,.10)!important;
    font-size:25px!important;
    line-height:1!important;
    position:relative!important;
    z-index:1003!important;
  }
  .site-header .menu-toggle:hover{background:#f4f7fa!important;}

  /* Le menu mobile est un panneau clair lisible quel que soit le template. */
  .site-header .main-nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    z-index:1002!important;
    display:none!important;
    max-height:calc(100vh - 92px)!important;
    overflow-y:auto!important;
    padding:10px!important;
    border:1px solid #dce3eb!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 18px 50px rgba(5,20,38,.22)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
  }
  .site-header .main-nav.open{display:flex!important;}
  .site-header .main-nav a:not(.nav-cta){
    display:block!important;
    padding:12px 13px!important;
    border-radius:9px!important;
    color:#17243a!important;
    font-size:15px!important;
  }
  .site-header .main-nav a:not(.nav-cta):hover,
  .site-header .main-nav a:not(.nav-cta).active{
    background:#f1f5f8!important;
    color:var(--vpt-primary,var(--primary))!important;
  }
  .site-header .main-nav a:after{display:none!important;}
  .site-header .main-nav .theme-toggle{
    width:100%!important;
    min-height:44px!important;
    justify-content:center!important;
    margin:5px 0!important;
    border:1px solid #d8e1e8!important;
    background:#f6f8fa!important;
    color:#17243a!important;
  }
  .site-header .main-nav .nav-cta{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:4px!important;
    color:#fff!important;
    background:var(--vpt-primary,var(--primary))!important;
  }
}

@media(max-width:700px){
  /* Accueil mobile : le gros moteur de recherche disparaît. */
  .vpt-home .vpt-hero-search,
  .vpt-home .vpt-search-float,
  .vpt-home .vpt-search-section{
    display:none!important;
  }
  .vpt-home .vpt-split-grid,
  .vpt-home .vpt-editorial-grid,
  .vpt-home .vpt-brasil-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .vpt-home .vpt-hero-panorama{
    min-height:0!important;
    padding:58px 0 64px!important;
  }
  .vpt-home .vpt-hero{
    min-height:0!important;
  }
  .vpt-home .vpt-hero h1{
    font-size:clamp(38px,12vw,52px)!important;
    line-height:1.02!important;
  }
  .vpt-mobile-only{
    display:inline-flex!important;
    margin-top:22px!important;
  }

  /* Catalogue mobile : filtres repliés derrière un bouton compact. */
  .vpt-mobile-filter-toggle{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0 0 14px!important;
    border:1px solid #d8e1e8!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#17243a!important;
    font:inherit!important;
    font-weight:850!important;
    cursor:pointer!important;
  }
  .vpt-catalogue-filter{
    display:none!important;
    grid-template-columns:1fr!important;
    margin-bottom:16px!important;
  }
  .vpt-catalogue-filter.vpt-mobile-open{display:grid!important;}

  /* Header compact et logo raisonnable sur très petit écran. */
  .site-header .nav-wrap{min-height:68px!important;gap:10px!important;}
  .site-header .brand{min-width:0!important;max-width:calc(100% - 58px)!important;}
  .site-header .brand-wordmark{font-size:27px!important;}
  .site-header .brand-o{width:31px!important;height:31px!important;flex-basis:31px!important;}
  .site-header .brand-image{max-width:190px!important;max-height:42px!important;}
}


/* ===== v0.4.4e — aucun moteur de recherche dans les héros / en-têtes ===== */
.vpt-home .vpt-hero-search,
.vpt-home .vpt-search-float,
.vpt-home > .vpt-search-section{display:none!important}
.vpt-split-grid-no-search{grid-template-columns:minmax(0,780px)!important;justify-content:start}
.vpt-home .vpt-hero-panorama{padding-bottom:88px!important;min-height:600px}
.vpt-home .vpt-panorama-copy .vpt-button{margin-top:24px}
/* Les filtres restent uniquement dans le catalogue, après le hero de page. */
.vpt-catalogue .vpt-catalogue-filter{position:relative;z-index:1}
@media(max-width:980px){.vpt-split-grid-no-search{grid-template-columns:1fr!important}}
@media(max-width:650px){.vpt-home .vpt-hero-panorama{padding-bottom:55px!important;min-height:520px}}


/* =========================================================
   v0.5.1 — vrai mode clair / sombre
   Le précédent "mode sombre hybride" gardait volontairement les grands
   panneaux blancs. Résultat : le visiteur voyait presque la même page.
   Ces règles finales donnent maintenant un vrai thème sombre à TOUT le
   site et couvrent aussi le mode automatique du système.
   ========================================================= */
html[data-theme="dark"],
html[data-theme="auto"].system-dark{
  --vpt-page-bg:#07111f;
  --vpt-ink:#eef4fb;
  --vpt-muted:#9fb0c3;
  --vpt-white:#0d1a2b;
  --vpt-line:#2b4058;
  --vpt-shadow:0 18px 45px rgba(0,0,0,.28);
  --vpt-surface:#0a1625;
  --ink:#eef4fb !important;
  --muted:#9fb0c3 !important;
  --card:#0d1a2b !important;
  --line:#2b4058 !important;
  --surface:#0a1625 !important;
}

html[data-theme="dark"] body,
html[data-theme="auto"].system-dark body,
html[data-theme="dark"] main,
html[data-theme="auto"].system-dark main{
  background:#07111f !important;
  color:#eef4fb !important;
}

/* Grandes zones Template Studio */
html[data-theme="dark"] .vpt-root,
html[data-theme="auto"].system-dark .vpt-root,
html[data-theme="dark"] .vpt-catalogue,
html[data-theme="auto"].system-dark .vpt-catalogue,
html[data-theme="dark"] .vpt-detail,
html[data-theme="auto"].system-dark .vpt-detail{
  background:#07111f !important;
  color:#eef4fb !important;
}
html[data-theme="dark"] .vpt-section,
html[data-theme="auto"].system-dark .vpt-section{
  background:#07111f !important;
  color:#eef4fb !important;
  border-top-color:#07111f !important;
}
html[data-theme="dark"] .vpt-section-alt,
html[data-theme="auto"].system-dark .vpt-section-alt{
  background:#0a1625 !important;
  color:#eef4fb !important;
  border-top-color:#07111f !important;
}

/* Cartes, filtres, panneaux et blocs de lecture */
html[data-theme="dark"] .vpt-card,
html[data-theme="auto"].system-dark .vpt-card,
html[data-theme="dark"] .vpt-types a,
html[data-theme="auto"].system-dark .vpt-types a,
html[data-theme="dark"] .vpt-catalogue-filter,
html[data-theme="auto"].system-dark .vpt-catalogue-filter,
html[data-theme="dark"] .vpt-hero-search,
html[data-theme="auto"].system-dark .vpt-hero-search,
html[data-theme="dark"] .vpt-search-float .vpt-search,
html[data-theme="auto"].system-dark .vpt-search-float .vpt-search,
html[data-theme="dark"] .vpt-agency-contact,
html[data-theme="auto"].system-dark .vpt-agency-contact,
html[data-theme="dark"] .vpt-empty,
html[data-theme="auto"].system-dark .vpt-empty,
html[data-theme="dark"] .vpt-detail-head .vpt-wrap,
html[data-theme="auto"].system-dark .vpt-detail-head .vpt-wrap,
html[data-theme="dark"] .vpt-detail-layout > article,
html[data-theme="auto"].system-dark .vpt-detail-layout > article,
html[data-theme="dark"] .vpt-contact-box,
html[data-theme="auto"].system-dark .vpt-contact-box{
  background:#0d1a2b !important;
  color:#eef4fb !important;
  border-color:#2b4058 !important;
}
html[data-theme="dark"] .vpt-card-media,
html[data-theme="auto"].system-dark .vpt-card-media,
html[data-theme="dark"] .vpt-gallery-empty,
html[data-theme="auto"].system-dark .vpt-gallery-empty{
  background:#122237 !important;
}
html[data-theme="dark"] .vpt-gallery-strip,
html[data-theme="auto"].system-dark .vpt-gallery-strip{
  background:#0d1a2b !important;
}

/* Titres et textes */
html[data-theme="dark"] .vpt-card h3 a,
html[data-theme="auto"].system-dark .vpt-card h3 a,
html[data-theme="dark"] .vpt-section-head h2,
html[data-theme="auto"].system-dark .vpt-section-head h2,
html[data-theme="dark"] .vpt-agency h2,
html[data-theme="auto"].system-dark .vpt-agency h2,
html[data-theme="dark"] .vpt-detail-title h1,
html[data-theme="auto"].system-dark .vpt-detail-title h1,
html[data-theme="dark"] .vpt-detail-section h2,
html[data-theme="auto"].system-dark .vpt-detail-section h2,
html[data-theme="dark"] .vpt-contact-box h3,
html[data-theme="auto"].system-dark .vpt-contact-box h3,
html[data-theme="dark"] .vpt-feature-list,
html[data-theme="auto"].system-dark .vpt-feature-list{
  color:#eef4fb !important;
}
html[data-theme="dark"] .vpt-place,
html[data-theme="auto"].system-dark .vpt-place,
html[data-theme="dark"] .vpt-ref,
html[data-theme="auto"].system-dark .vpt-ref,
html[data-theme="dark"] .vpt-section-head p,
html[data-theme="auto"].system-dark .vpt-section-head p,
html[data-theme="dark"] .vpt-agency p,
html[data-theme="auto"].system-dark .vpt-agency p,
html[data-theme="dark"] .vpt-detail-title p,
html[data-theme="auto"].system-dark .vpt-detail-title p,
html[data-theme="dark"] .vpt-detail-section p,
html[data-theme="auto"].system-dark .vpt-detail-section p,
html[data-theme="dark"] .vpt-detail-specs small,
html[data-theme="auto"].system-dark .vpt-detail-specs small{
  color:#9fb0c3 !important;
}
html[data-theme="dark"] .vpt-specs span,
html[data-theme="auto"].system-dark .vpt-specs span,
html[data-theme="dark"] .vpt-detail-specs div,
html[data-theme="auto"].system-dark .vpt-detail-specs div{
  background:#111f31 !important;
  color:#d8e4ef !important;
  border-color:#2b4058 !important;
}

/* Formulaires */
html[data-theme="dark"] .vpt-search label,
html[data-theme="auto"].system-dark .vpt-search label{
  color:#b8c7d8 !important;
}
html[data-theme="dark"] .vpt-search select,
html[data-theme="dark"] .vpt-search input,
html[data-theme="dark"] .vpt-catalogue-filter select,
html[data-theme="dark"] .vpt-catalogue-filter input,
html[data-theme="dark"] .vpt-contact-box form input,
html[data-theme="dark"] .vpt-contact-box form select,
html[data-theme="dark"] .vpt-contact-box form textarea,
html[data-theme="auto"].system-dark .vpt-search select,
html[data-theme="auto"].system-dark .vpt-search input,
html[data-theme="auto"].system-dark .vpt-catalogue-filter select,
html[data-theme="auto"].system-dark .vpt-catalogue-filter input,
html[data-theme="auto"].system-dark .vpt-contact-box form input,
html[data-theme="auto"].system-dark .vpt-contact-box form select,
html[data-theme="auto"].system-dark .vpt-contact-box form textarea{
  background:#081421 !important;
  color:#eef4fb !important;
  border-color:#30465f !important;
}
html[data-theme="dark"] .vpt-search input::placeholder,
html[data-theme="dark"] .vpt-catalogue-filter input::placeholder,
html[data-theme="dark"] .vpt-contact-box input::placeholder,
html[data-theme="dark"] .vpt-contact-box textarea::placeholder,
html[data-theme="auto"].system-dark .vpt-search input::placeholder,
html[data-theme="auto"].system-dark .vpt-catalogue-filter input::placeholder,
html[data-theme="auto"].system-dark .vpt-contact-box input::placeholder,
html[data-theme="auto"].system-dark .vpt-contact-box textarea::placeholder{
  color:#72879d !important;
}

/* Pages Core qui ne passent pas par les shortcodes Template Studio */
html[data-theme="dark"] .section,
html[data-theme="dark"] .agency-section,
html[data-theme="dark"] .catalogue-shell,
html[data-theme="dark"] .detail-wrap,
html[data-theme="dark"] .contact-page,
html[data-theme="dark"] .blog-grid,
html[data-theme="auto"].system-dark .section,
html[data-theme="auto"].system-dark .agency-section,
html[data-theme="auto"].system-dark .catalogue-shell,
html[data-theme="auto"].system-dark .detail-wrap,
html[data-theme="auto"].system-dark .contact-page,
html[data-theme="auto"].system-dark .blog-grid{
  background:#07111f !important;
  color:#eef4fb !important;
}
html[data-theme="dark"] .section.alt,
html[data-theme="auto"].system-dark .section.alt{
  background:#0a1625 !important;
}
html[data-theme="dark"] .property-card,
html[data-theme="dark"] .type-card,
html[data-theme="dark"] .filters,
html[data-theme="dark"] .contact-form,
html[data-theme="dark"] .blog-card,
html[data-theme="dark"] .empty-box,
html[data-theme="auto"].system-dark .property-card,
html[data-theme="auto"].system-dark .type-card,
html[data-theme="auto"].system-dark .filters,
html[data-theme="auto"].system-dark .contact-form,
html[data-theme="auto"].system-dark .blog-card,
html[data-theme="auto"].system-dark .empty-box{
  background:#0d1a2b !important;
  color:#eef4fb !important;
  border-color:#2b4058 !important;
}

/* Un header "clair" suit maintenant le thème visiteur au lieu de rester blanc en sombre. */
html[data-theme="dark"][data-vpt-header="light"] .site-header,
html[data-theme="auto"].system-dark[data-vpt-header="light"] .site-header{
  background:rgba(7,17,31,.98) !important;
  border-color:#263a52 !important;
}
html[data-theme="dark"][data-vpt-header="light"] .main-nav a,
html[data-theme="auto"].system-dark[data-vpt-header="light"] .main-nav a,
html[data-theme="dark"][data-vpt-header="light"] .brand-tagline,
html[data-theme="auto"].system-dark[data-vpt-header="light"] .brand-tagline{
  color:#dbe6f1 !important;
}

/* Transition très légère pour rendre le changement visible sans effet gênant. */
body,.vpt-root,.vpt-section,.vpt-section-alt,.vpt-card,.vpt-types a,.vpt-catalogue-filter,.vpt-contact-box,.site-header{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}


/* =========================================================
   v0.5.3 — Retour en haut (ordinateur uniquement)
   ========================================================= */
.vpt-back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid color-mix(in srgb,var(--vpt-primary,#e5252a) 72%,#ffffff 28%);
  border-radius:50%;
  background:var(--vpt-primary,#e5252a);
  color:#fff;
  font:800 26px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  cursor:pointer;
  z-index:2147482000;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease,background-color .18s ease;
}
.vpt-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.vpt-back-to-top:hover{
  filter:brightness(.92);
  transform:translateY(-2px);
}
.vpt-back-to-top:focus-visible{
  outline:3px solid color-mix(in srgb,var(--vpt-accent,#2b63a8) 60%,#ffffff 40%);
  outline-offset:3px;
}
@media(max-width:900px){
  .vpt-back-to-top{display:none!important;}
}
@media(prefers-reduced-motion:reduce){
  .vpt-back-to-top{transition:none;}
}


/* =========================================================
   Veri-Immo Template Studio v0.5.5 — header PC réellement large
   - le switch Clair/Sombre est dans la topbar sur desktop ;
   - le Contact simple est supprimé lorsque le CTA va au même endroit ;
   - le menu bénéficie presque de toute la largeur de l'écran.
   ========================================================= */
@media(min-width:1081px){
  .site-header .topbar-in,
  .site-header .nav-wrap{
    width:min(1720px,calc(100% - 48px))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .site-header .nav-wrap{
    min-height:82px!important;
    gap:28px!important;
  }
  .site-header .brand{
    min-width:0!important;
    flex:0 0 auto!important;
  }
  .site-header .main-nav{
    flex:1 1 auto!important;
    min-width:0!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:clamp(18px,1.55vw,30px)!important;
  }
  .site-header .main-nav a,
  .site-header .main-nav .nav-cta{
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
  .site-header .main-nav .nav-cta{
    padding:12px 18px!important;
  }
  .site-header .topbar-contact{
    align-items:center!important;
    gap:18px!important;
  }
  .site-header .topbar .theme-toggle{
    display:inline-flex!important;
    width:auto!important;
    min-height:24px!important;
    margin:0!important;
    padding:2px 9px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:11px!important;
    line-height:1!important;
    gap:5px!important;
  }
  .site-header .topbar .theme-toggle:hover{
    transform:none!important;
    background:rgba(255,255,255,.18)!important;
    border-color:rgba(255,255,255,.55)!important;
  }
  .site-header .topbar .theme-toggle-icon{
    width:15px!important;
    height:15px!important;
    font-size:13px!important;
  }
}

/* On conserve le menu mobile / tablette bien avant que les éléments ne s'écrasent. */
@media(max-width:1080px){
  .site-header .nav-wrap{position:relative!important;}
  .site-header .menu-toggle{display:inline-flex!important;}
  .site-header .main-nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    z-index:1002!important;
    display:none!important;
    max-height:calc(100vh - 92px)!important;
    overflow-y:auto!important;
    padding:10px!important;
    border:1px solid #dce3eb!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 18px 50px rgba(5,20,38,.22)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
  }
  .site-header .main-nav.open{display:flex!important;}
  .site-header .main-nav .theme-toggle{
    width:100%!important;
    min-height:44px!important;
    justify-content:center!important;
    margin:5px 0!important;
  }
}
