/* ═══════════════════════════════════════════════════════════════════════════
   PONS REALTY — COUCHE « LUX 2 » DU SITE PUBLIC (11/10/2026)
   Le langage du tableau de bord du CRM porté sur le site : bulles navy à filet
   d'or, cartes blanches aux ombres douces, tuiles d'icônes colorées, chiffres
   en serif qui s'animent, révélations au défilement, champs « intelligents ».
   Règles :
   • Ni l'accueil (héros #vit-home) ni l'en-tête (header / .nav) ne sont touchés.
   • Tout est préfixé html.lx2 (spécificité > styles des pages).
   • Les animations s'éteignent avec « réduire les animations ».
   ═══════════════════════════════════════════════════════════════════════════ */
html.lx2 {
  --lx-g1: #C5A572; --lx-g2: #E0C99A; --lx-g3: #F3E3BD; --lx-gink: #7C5E2C;
  --lx-nv: #0E1B36; --lx-nv2: #22396a; --lx-ink: #0A0F22; --lx-txt: #1B2238; --lx-mut: #5B6478;
  --lx-bg: #F6F4EF; --lx-line: rgba(14,27,54,.08);
  --lx-sh: 0 1px 2px rgba(14,27,54,.05), 0 18px 40px -26px rgba(14,27,54,.42);
  --lx-sh2: 0 2px 6px rgba(14,27,54,.06), 0 34px 70px -30px rgba(14,27,54,.55);
  --lx-ease: cubic-bezier(.22,1,.36,1);
  --lx-serif: 'New York', ui-serif, Georgia, 'Times New Roman', serif;
  --lx-sans: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --lx-navybg: radial-gradient(120% 140% at 0% 0%, #22396a 0%, #0E1B36 48%, #0A0F22 100%);
  --lx-gline: linear-gradient(90deg, transparent, #C5A572 30%, #E0C99A 50%, #C5A572 70%, transparent);
  -webkit-text-size-adjust: 100%;
}
html.lx2 body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
html.lx2 ::selection { background: rgba(197,165,114,.32); }

/* ── Briques communes ──────────────────────────────────────────────────── */
html.lx2 .lx-eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 800 11px/1 var(--lx-sans); letter-spacing: 2.2px; text-transform: uppercase; color: var(--lx-gink); padding: 7px 13px 7px 11px; border-radius: 999px; background: rgba(197,165,114,.12); box-shadow: inset 0 0 0 1px rgba(197,165,114,.28); margin: 0 auto 14px; }
html.lx2 .lx-eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--lx-g1); animation: lxPulse 2.4s ease-out infinite; }
html.lx2 .lx-eyebrow.on-dark { color: var(--lx-g2); background: rgba(224,201,154,.1); box-shadow: inset 0 0 0 1px rgba(224,201,154,.28); }
@keyframes lxPulse { 0% { box-shadow: 0 0 0 0 rgba(197,165,114,.55); } 70% { box-shadow: 0 0 0 7px rgba(197,165,114,0); } 100% { box-shadow: 0 0 0 0 rgba(197,165,114,0); } }
html.lx2 .lx-head { text-align: center; }

/* Révélation au défilement (seulement si le JS tourne : rien ne reste caché sans lui) */
html.lx2.lx2-js .lx-rv { opacity: 0; transform: translateY(22px) scale(.985); transition: opacity .8s var(--lx-ease), transform .9s var(--lx-ease); transition-delay: calc(var(--lx-i, 0) * 70ms); }
html.lx2.lx2-js .lx-rv.lx-in { opacity: 1; transform: none; }

/* ═══ ACCUEIL — sections sous le héros (le héros et l'en-tête restent intacts) ═══ */
html.lx2[data-lx=home] #vit-biens .section-title,
html.lx2[data-lx=home] #vit-carte .section-title,
html.lx2[data-lx=home] #vit-reviews .section-title,
html.lx2[data-lx=home] #vit-contact .section-title { font-family: var(--lx-serif); font-size: clamp(30px, 4.4vw, 46px); line-height: 1.08; letter-spacing: -.6px; font-weight: 700; color: var(--lx-nv); position: relative; padding-bottom: 18px; }
html.lx2[data-lx=home] #vit-biens .section-title::after,
html.lx2[data-lx=home] #vit-carte .section-title::after,
html.lx2[data-lx=home] #vit-reviews .section-title::after,
html.lx2[data-lx=home] #vit-contact .section-title::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 64px; height: 3px; border-radius: 3px; transform: translateX(-50%) scaleX(.25); background: linear-gradient(90deg, transparent, #C5A572 25%, #F3E3BD 50%, #C5A572 75%, transparent); transition: transform 1.1s var(--lx-ease) .15s; }
html.lx2[data-lx=home] .section-title.lx-on::after { transform: translateX(-50%) scaleX(1); }
html.lx2[data-lx=home] #vit-biens .section-sub, html.lx2[data-lx=home] #vit-carte .section-sub, html.lx2[data-lx=home] #vit-contact .section-sub { font-size: 16px; color: var(--lx-mut); margin-bottom: 30px; }

/* Filtres = commutateur segmenté (comme le CRM) */
html.lx2[data-lx=home] .biens-filters { display: flex; width: max-content; max-width: 100%; box-sizing: border-box; margin: 0 auto 34px; padding: 6px; gap: 4px; flex-wrap: nowrap; background: #fff; border-radius: 999px; box-shadow: var(--lx-sh), inset 0 0 0 1px var(--lx-line); }
html.lx2[data-lx=home] .biens-filter { border: 0 !important; background: transparent !important; color: var(--lx-txt); height: 42px; padding: 0 18px; border-radius: 999px; font: 650 14px var(--lx-sans); box-shadow: none !important; white-space: nowrap; transition: background .3s var(--lx-ease), color .3s, transform .2s; }
html.lx2[data-lx=home] .biens-filter:hover { background: rgba(14,27,54,.05) !important; }
html.lx2[data-lx=home] .biens-filter:active { transform: scale(.96); }
html.lx2[data-lx=home] .biens-filter.active { background: var(--lx-navybg) !important; color: #fff !important; box-shadow: 0 10px 22px -12px rgba(14,27,54,.9) !important; }
html.lx2[data-lx=home] .biens-filter .filter-count { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font: 800 11.5px var(--lx-sans); background: rgba(14,27,54,.07); color: var(--lx-nv); }
html.lx2[data-lx=home] .biens-filter.active .filter-count { background: linear-gradient(135deg, #F0DDB0, #C5A572); color: var(--lx-nv); }
@media (max-width: 420px) { html.lx2[data-lx=home] .biens-filter { padding: 0 13px; font-size: 13.5px; } }

/* Cartes de biens */
html.lx2[data-lx=home] .bien-card { border: 0 !important; border-radius: 26px !important; background: #fff; box-shadow: var(--lx-sh); transition: transform .55s var(--lx-ease), box-shadow .55s var(--lx-ease) !important; isolation: isolate; }
html.lx2[data-lx=home] .bien-card:hover { transform: translateY(-6px); box-shadow: var(--lx-sh2); }
html.lx2[data-lx=home] .bien-card .carousel { border-radius: 26px 26px 0 0; overflow: hidden; }
html.lx2[data-lx=home] .bien-card .carousel::after { content: ''; position: absolute; inset: auto 0 0 0; height: 46%; background: linear-gradient(180deg, transparent, rgba(10,15,34,.4)); pointer-events: none; z-index: 1; }
html.lx2[data-lx=home] .bien-card .carousel img.slide { transition: opacity .5s ease, transform 1.4s var(--lx-ease) !important; }
html.lx2[data-lx=home] .bien-card:hover .carousel img.slide.active { transform: scale(1.045); }
html.lx2[data-lx=home] .bien-card .badges, html.lx2[data-lx=home] .bien-card .demande-flag, html.lx2[data-lx=home] .bien-card .peb-overlay, html.lx2[data-lx=home] .bien-card .dots, html.lx2[data-lx=home] .bien-card .vid-flag { z-index: 2; }
html.lx2[data-lx=home] .bien-info { padding: 20px 22px 22px !important; }
html.lx2[data-lx=home] .bien-title { font-family: var(--lx-serif); font-size: 21px; line-height: 1.22; letter-spacing: -.2px; color: var(--lx-nv); }
html.lx2[data-lx=home] .bien-loc { color: var(--lx-mut); font-weight: 500; }
html.lx2[data-lx=home] .bien-price { font-family: var(--lx-serif); font-size: 28px !important; letter-spacing: -.4px; color: var(--lx-nv); font-variant-numeric: tabular-nums; }
html.lx2[data-lx=home] .bien-specs { gap: 6px !important; border-top: 0 !important; padding-top: 6px !important; }
html.lx2[data-lx=home] .bien-spec { padding: 7px 10px; border-radius: 11px; background: #F5F2EA; font: 650 12.5px var(--lx-sans) !important; color: var(--lx-txt); }
html.lx2[data-lx=home] .bien-spec svg { color: #B08C55 !important; opacity: 1 !important; }
html.lx2[data-lx=home] .bien-spec-etage { opacity: 1 !important; background: #F1F4F9; color: var(--lx-mut); }
html.lx2[data-lx=home] .bien-map-btn { border-radius: 999px !important; min-height: 42px; border: 0 !important; background: rgba(14,27,54,.05) !important; color: var(--lx-nv) !important; font: 650 13.5px var(--lx-sans) !important; transition: background .25s, transform .2s; }
html.lx2[data-lx=home] .bien-map-btn:hover { background: rgba(197,165,114,.18) !important; }

/* Carte : cadre navy façon calendrier du CRM */
html.lx2[data-lx=home] #bien-map { border-radius: 26px !important; overflow: hidden; box-shadow: 0 0 0 6px #0E1B36, 0 0 0 7px rgba(197,165,114,.55), var(--lx-sh2) !important; }

/* À propos */
html.lx2[data-lx=home] .about { background: radial-gradient(70% 60% at 85% 10%, rgba(197,165,114,.14), transparent 70%), linear-gradient(180deg, #fff 0%, var(--lx-bg) 100%) !important; }
html.lx2[data-lx=home] .about-portrait { position: relative; border-radius: 30px !important; overflow: visible !important; box-shadow: none !important; background: transparent !important; }
html.lx2[data-lx=home] .about-portrait::before { content: ''; position: absolute; inset: -9px; border-radius: 36px; background: conic-gradient(from 200deg, #C5A572, #F3E3BD, #0E1B36, #22396a, #C5A572); z-index: 0; }
html.lx2[data-lx=home] .about-portrait img { position: relative; z-index: 1; border-radius: 28px; box-shadow: var(--lx-sh2); }
html.lx2[data-lx=home] .lx-badge { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 16px; background: rgba(255,255,255,.9); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); box-shadow: var(--lx-sh2); font: 700 13px var(--lx-sans); color: var(--lx-nv); animation: lxFloat 6s ease-in-out infinite; white-space: nowrap; }
html.lx2[data-lx=home] .lx-badge b { font-family: var(--lx-serif); font-size: 19px; }
html.lx2[data-lx=home] .lx-badge i { font-style: normal; color: #E2A93B; letter-spacing: 1px; }
html.lx2[data-lx=home] .lx-badge.b1 { left: -14px; bottom: 26px; }
html.lx2[data-lx=home] .lx-badge.b2 { right: -12px; top: 22px; animation-delay: -3s; background: rgba(14,27,54,.88); color: #fff; }
html.lx2[data-lx=home] .lx-badge.b2 em { font-style: normal; color: var(--lx-g2); font-weight: 800; }
@keyframes lxFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
html.lx2[data-lx=home] .about-text h2 { font-family: var(--lx-serif); font-size: clamp(34px, 4.6vw, 50px); letter-spacing: -.8px; color: var(--lx-nv); }
html.lx2[data-lx=home] .about-subtitle { color: var(--lx-gink) !important; }
html.lx2[data-lx=home] .about-text p { color: #2A3247; line-height: 1.75; }
html.lx2[data-lx=home] .about-text p a { color: var(--lx-nv); text-decoration-color: rgba(197,165,114,.7); text-underline-offset: 3px; text-decoration-thickness: 2px; }
html.lx2[data-lx=home] .pillars { gap: 12px !important; }
html.lx2[data-lx=home] .pillar { position: relative; border: 0 !important; border-radius: 22px !important; padding: 18px 16px 16px !important; background: #fff !important; box-shadow: var(--lx-sh) !important; transition: transform .45s var(--lx-ease), box-shadow .45s !important; overflow: hidden; }
html.lx2[data-lx=home] .pillar:hover { transform: translateY(-4px); box-shadow: var(--lx-sh2) !important; }
html.lx2[data-lx=home] .pillar::before { content: ''; display: block; width: 42px; height: 42px; border-radius: 14px; margin-bottom: 12px; background: var(--pc, linear-gradient(135deg,#34D399,#059669)); box-shadow: 0 10px 18px -10px var(--ps, #059669); }
html.lx2[data-lx=home] .pillar::after { content: ''; position: absolute; left: 27px; top: 29px; width: 20px; height: 20px; background: #fff; -webkit-mask: var(--pi) center/contain no-repeat; mask: var(--pi) center/contain no-repeat; }
html.lx2[data-lx=home] .pillar:nth-child(1) { --pc: linear-gradient(135deg,#34D399,#059669); --ps: #059669; --pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
html.lx2[data-lx=home] .pillar:nth-child(2) { --pc: linear-gradient(135deg,#FCD34D,#F59E0B); --ps: #F59E0B; --pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E"); }
html.lx2[data-lx=home] .pillar:nth-child(3) { --pc: linear-gradient(135deg,#93C5FD,#3B82F6); --ps: #3B82F6; --pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
html.lx2[data-lx=home] .pillar:nth-child(4) { --pc: linear-gradient(135deg,#C4B5FD,#8B5CF6); --ps: #8B5CF6; --pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.6 5.6 6.1.7-4.5 4.2 1.2 6L12 16.6 6.6 19.5l1.2-6L3.3 9.3l6.1-.7z'/%3E%3C/svg%3E"); }
html.lx2[data-lx=home] .pillar-title { color: var(--lx-nv) !important; font: 800 12px var(--lx-sans) !important; letter-spacing: 1.6px !important; }
html.lx2[data-lx=home] .pillar-text { color: var(--lx-mut) !important; font-size: 13.5px !important; line-height: 1.5; margin-top: 4px; }
/* Bandeau de chiffres (ajouté par le JS) */
html.lx2 .lx-stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-top: 18px; }
html.lx2 .lx-st { position: relative; padding: 16px 14px 14px; border-radius: 20px; background: var(--lx-navybg); color: #fff; overflow: hidden; box-shadow: var(--lx-sh); }
html.lx2 .lx-st::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--lx-gline); }
html.lx2 .lx-st b { display: block; font: 600 26px/1.05 var(--lx-serif); letter-spacing: -.4px; background: linear-gradient(180deg, #fff 30%, #F3E3BD); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; white-space: nowrap; }
html.lx2 .lx-st small { display: block; margin-top: 6px; font: 600 11.5px/1.35 var(--lx-sans); color: rgba(255,255,255,.66); }
@media (max-width: 700px) { html.lx2 .lx-stats { grid-template-columns: repeat(2, minmax(0,1fr)); } html.lx2 .lx-st b { font-size: 24px; } html.lx2[data-lx=home] .lx-badge.b1 { left: 10px; } html.lx2[data-lx=home] .lx-badge.b2 { right: 10px; } }

/* Honoraires : filet d'or + simulateur */
html.lx2[data-lx=home] .fees-section::after { content: ''; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--lx-gline); }
html.lx2[data-lx=home] .fees-card { border-radius: 24px !important; }
html.lx2 .lx-sim { max-width: 760px; margin: 22px auto 0; padding: 22px 22px 20px; border-radius: 26px; text-align: left; background: rgba(255,255,255,.055); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); position: relative; color: #fff; z-index: 1; }
html.lx2 .lx-sim-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
html.lx2 .lx-sim-h b { display: block; font: 600 22px/1.2 var(--lx-serif); color: #fff; margin-top: 10px; }
html.lx2 .lx-sim .lx-eyebrow { margin: 0; }
html.lx2 .lx-seg { display: inline-flex; padding: 4px; gap: 4px; border-radius: 999px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
html.lx2 .lx-seg button { height: 36px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: rgba(255,255,255,.75); font: 700 13px var(--lx-sans); cursor: pointer; transition: background .3s var(--lx-ease), color .3s; }
html.lx2 .lx-seg button.on { background: linear-gradient(135deg, #F0DDB0, #C5A572); color: var(--lx-nv); }
html.lx2 .lx-sim-in { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 0 18px; height: 62px; border-radius: 18px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); transition: box-shadow .25s; cursor: text; }
html.lx2 .lx-sim-in:focus-within { box-shadow: inset 0 0 0 1.5px var(--lx-g2), 0 0 0 4px rgba(224,201,154,.14); }
html.lx2 .lx-sim-in span { font: 700 11.5px var(--lx-sans); color: rgba(255,255,255,.6); white-space: nowrap; text-transform: uppercase; letter-spacing: 1px; }
html.lx2 .lx-sim-in input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; color: #fff; font: 600 26px var(--lx-serif); text-align: right; font-variant-numeric: tabular-nums; padding: 0; }
html.lx2 .lx-sim-in em { font-style: normal; font: 600 20px var(--lx-serif); color: var(--lx-g2); }
html.lx2 .lx-range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; margin: 18px 0 4px; border-radius: 6px; background: linear-gradient(90deg, #C5A572 var(--p, 30%), rgba(255,255,255,.14) var(--p, 30%)); outline: none; cursor: pointer; }
html.lx2 .lx-range::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(197,165,114,.45), 0 6px 14px rgba(0,0,0,.35); }
html.lx2 .lx-range::-moz-range-thumb { width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 0 0 5px rgba(197,165,114,.45); }
html.lx2 .lx-sim-out { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-top: 14px; }
html.lx2 .lx-sim-out > div { padding: 12px 12px 11px; border-radius: 16px; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); min-width: 0; }
html.lx2 .lx-sim-out > div.hl { background: linear-gradient(160deg, rgba(197,165,114,.3), rgba(197,165,114,.08)); box-shadow: inset 0 0 0 1px rgba(224,201,154,.38); }
html.lx2 .lx-sim-out small { display: block; font: 700 10.5px var(--lx-sans); letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.lx2 .lx-sim-out b { display: block; margin-top: 5px; font: 600 20px var(--lx-serif); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
html.lx2 .lx-sim-out .hl b { color: var(--lx-g3); }
html.lx2 .lx-sim-note { margin-top: 12px; font: 500 12.5px/1.5 var(--lx-sans); color: rgba(255,255,255,.64); }
@media (max-width: 700px) { html.lx2 .lx-sim { padding: 18px 16px 16px; border-radius: 22px; } html.lx2 .lx-sim-out { grid-template-columns: repeat(2, minmax(0,1fr)); } html.lx2 .lx-sim-in input { font-size: 22px; } html.lx2 .lx-sim-h b { font-size: 20px; } }

/* Avis */
html.lx2[data-lx=home] .reviews { background: radial-gradient(60% 50% at 15% 0%, rgba(197,165,114,.12), transparent 70%), var(--lx-bg) !important; }
html.lx2.lx2-js[data-lx=home] #vit-reviews .reviews-eyebrow { display: none !important; }
html.lx2[data-lx=home] .reviews-agg { border: 0 !important; border-radius: 26px !important; background: var(--lx-navybg) !important; box-shadow: var(--lx-sh2) !important; padding: 20px 24px !important; position: relative; overflow: hidden; }
html.lx2[data-lx=home] .reviews-agg::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--lx-gline); }
html.lx2[data-lx=home] .reviews-agg .agg-score { color: #fff !important; font-family: var(--lx-serif); font-size: 52px !important; }
html.lx2[data-lx=home] .reviews-agg .agg-stars { color: #F5C451 !important; letter-spacing: 3px; font-size: 20px; }
html.lx2[data-lx=home] .reviews-agg .agg-sub { color: rgba(255,255,255,.64) !important; }
html.lx2[data-lx=home] .reviews-agg .agg-count { color: #fff !important; font-family: var(--lx-serif); }
html.lx2[data-lx=home] .reviews-agg .agg-link { color: var(--lx-g2) !important; }
html.lx2[data-lx=home] .reviews-agg .agg-right { background: rgba(255,255,255,.06) !important; border-radius: 18px; padding: 10px 14px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); border: 0 !important; }
html.lx2[data-lx=home] .reviews-marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
html.lx2[data-lx=home] .rev-card { border-radius: 24px !important; box-shadow: var(--lx-sh) !important; position: relative; }
html.lx2[data-lx=home] .rev-card::after { content: '\201C'; position: absolute; right: 18px; top: 4px; font: 700 64px/1 var(--lx-serif); color: rgba(197,165,114,.22); pointer-events: none; }

/* Contact */
html.lx2[data-lx=home] .contact { background: linear-gradient(180deg, var(--lx-bg) 0%, #fff 100%) !important; }
html.lx2[data-lx=home] .coords-card { border-radius: 28px !important; background: var(--lx-navybg) !important; box-shadow: var(--lx-sh2); }
html.lx2[data-lx=home] .coords-card::after { content: ''; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--lx-gline); }
html.lx2[data-lx=home] .coords-title { font-family: var(--lx-serif); font-size: 28px !important; }
html.lx2[data-lx=home] .coords-icon { border-radius: 14px !important; background: linear-gradient(135deg, #F0DDB0, #C5A572) !important; color: var(--lx-nv) !important; border: 0 !important; box-shadow: 0 10px 18px -10px #C5A572; }
html.lx2[data-lx=home] .coords-row { transition: transform .3s var(--lx-ease); }
html.lx2[data-lx=home] .coords-row:hover { transform: translateX(4px); }
html.lx2[data-lx=home] .form-card { position: relative; border: 0 !important; border-radius: 28px !important; padding: 36px 30px 30px !important; box-shadow: var(--lx-sh2) !important; overflow: hidden; }
html.lx2[data-lx=home] .form-title { font-family: var(--lx-serif); font-size: 28px; color: var(--lx-nv); letter-spacing: -.3px; padding-right: 70px; }
html.lx2[data-lx=home] .type-opt { border-radius: 16px !important; min-height: 54px; border-width: 1.5px !important; transition: border-color .25s, background .25s, box-shadow .25s, transform .2s !important; }
html.lx2[data-lx=home] .type-opt.checked { border-color: var(--lx-g1) !important; background: linear-gradient(160deg, rgba(197,165,114,.14), #fff) !important; box-shadow: 0 10px 22px -16px rgba(197,165,114,.9); }
html.lx2[data-lx=home] .type-opt:active { transform: scale(.98); }
html.lx2[data-lx=home] #contact-form .form-row { gap: 12px !important; }
html.lx2[data-lx=home] #contact-form .form-field { margin-bottom: 12px; }
@media (max-width: 700px) { html.lx2[data-lx=home] .form-card { padding: 28px 18px 22px !important; border-radius: 24px !important; } html.lx2[data-lx=home] .form-title { font-size: 24px; } }

/* Pied de page */
html.lx2[data-lx=home] .footer { position: relative; background: var(--lx-navybg) !important; padding: 48px 24px 30px !important; font-size: 12px !important; line-height: 1.8; color: rgba(255,255,255,.6) !important; }
html.lx2[data-lx=home] .footer::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--lx-gline); }
html.lx2[data-lx=home] .footer-explore { gap: 22px 28px !important; font-size: 13.5px !important; margin-bottom: 28px !important; padding-bottom: 26px !important; }
html.lx2[data-lx=home] .footer-explore b { font: 800 11px var(--lx-sans) !important; letter-spacing: 1.8px !important; text-transform: uppercase; color: var(--lx-g2) !important; margin-bottom: 10px !important; }
html.lx2[data-lx=home] .footer-explore a { display: block; width: max-content; max-width: 100%; color: rgba(255,255,255,.8) !important; text-decoration: none; padding: 3px 0; background: linear-gradient(var(--lx-g2), var(--lx-g2)) 0 100%/0 1px no-repeat; transition: background-size .45s var(--lx-ease), color .25s; }
html.lx2[data-lx=home] .footer-explore a:hover { color: #fff !important; background-size: 100% 1px; }

/* Fiche d'un bien (fenêtre) */
html.lx2[data-lx=home] #modal .modal { border-radius: 30px !important; box-shadow: 0 40px 120px -20px rgba(0,0,0,.6) !important; animation: lxModalIn .55s var(--lx-ease) both !important; }
@keyframes lxModalIn { from { opacity: 0; transform: translateY(26px) scale(.975); } to { opacity: 1; transform: none; } }
html.lx2[data-lx=home] #modal .modal-close { width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.88) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 6px 18px rgba(0,0,0,.18); color: var(--lx-nv) !important; transition: transform .35s var(--lx-ease); z-index: 30; }
html.lx2[data-lx=home] #modal .modal-close:hover { transform: rotate(90deg); }
@media (min-width: 901px) { html.lx2[data-lx=home] #modal .modal-gallery { position: sticky; top: 0; align-self: start; } }
html.lx2[data-lx=home] #modal .modal-info { padding: 34px 32px 30px !important; }
html.lx2[data-lx=home] #modal .modal-title { font-family: var(--lx-serif); font-size: clamp(26px, 3vw, 34px); line-height: 1.12; letter-spacing: -.5px; color: var(--lx-nv); }
html.lx2[data-lx=home] #modal .modal-price { font-family: var(--lx-serif); font-size: clamp(32px, 3.6vw, 42px) !important; letter-spacing: -.6px; color: var(--lx-nv) !important; font-variant-numeric: tabular-nums; }
html.lx2[data-lx=home] #modal .modal-specs { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px !important; border: 0 !important; padding: 6px 0 16px !important; }
html.lx2[data-lx=home] #modal .modal-spec { border: 0 !important; border-radius: 16px !important; padding: 11px 12px !important; background: #F6F3EC !important; transition: transform .3s var(--lx-ease), background .3s; }
html.lx2[data-lx=home] #modal .modal-spec:hover { transform: translateY(-2px); background: #F0EADB !important; }
html.lx2[data-lx=home] #modal .modal-spec-icon { width: 34px; height: 34px; flex: none; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; color: #fff !important; background: linear-gradient(135deg, var(--s1,#F0DDB0), var(--s2,#C5A572)); box-shadow: 0 8px 14px -10px var(--s2,#C5A572); }
html.lx2[data-lx=home] #modal .modal-spec-icon svg { width: 17px; height: 17px; color: #fff !important; stroke: #fff; }
html.lx2[data-lx=home] #modal .modal-spec:nth-child(5n+1) { --s1: #93C5FD; --s2: #3B82F6; }
html.lx2[data-lx=home] #modal .modal-spec:nth-child(5n+2) { --s1: #6EE7B7; --s2: #059669; }
html.lx2[data-lx=home] #modal .modal-spec:nth-child(5n+3) { --s1: #F0DDB0; --s2: #B08C55; }
html.lx2[data-lx=home] #modal .modal-spec:nth-child(5n+4) { --s1: #C4B5FD; --s2: #7C3AED; }
html.lx2[data-lx=home] #modal .modal-spec:nth-child(5n+5) { --s1: #FCD34D; --s2: #D97706; }
html.lx2[data-lx=home] #modal .modal-spec-label { font: 700 10.5px var(--lx-sans) !important; letter-spacing: 1px; color: var(--lx-mut) !important; }
html.lx2[data-lx=home] #modal .modal-spec-value { font: 700 15px var(--lx-sans) !important; color: var(--lx-nv) !important; }
html.lx2[data-lx=home] #modal .modal-cta { min-height: 54px; border-radius: 999px !important; font-size: 15.5px !important; letter-spacing: .2px; box-shadow: 0 14px 28px -14px rgba(197,165,114,.95) !important; position: relative; overflow: hidden; }
html.lx2[data-lx=home] #modal button.modal-cta, html.lx2[data-lx=home] #modal a.modal-cta { background: linear-gradient(135deg, #F0DDB0, #C5A572) !important; }
html.lx2[data-lx=home] #modal .modal-cta::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.5) 50%, transparent 70%); transform: translateX(-120%); animation: lxShine 4.2s ease-in-out 1.2s infinite; pointer-events: none; }
@keyframes lxShine { 0%, 62% { transform: translateX(-120%); } 88%, 100% { transform: translateX(120%); } }
html.lx2[data-lx=home] #modal .modal-thumb { border-radius: 12px; overflow: hidden; transition: transform .3s var(--lx-ease), opacity .3s; }
html.lx2[data-lx=home] #modal .modal-thumb:hover { transform: translateY(-2px); }
@media (max-width: 900px) {
  html.lx2[data-lx=home] #modal .modal { border-radius: 26px !important; }
  html.lx2[data-lx=home] #modal .modal-info { padding: 24px 20px 24px !important; }
  html.lx2[data-lx=home] #modal .modal-specs { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* ═══ CHAMPS INTELLIGENTS (tous les formulaires du site) ═══════════════════ */
html.lx2 .lx-ff { position: relative; }
html.lx2 .lx-ff > input, html.lx2 .lx-ff > select, html.lx2 .lx-ff > textarea {
  display: block; width: 100%; box-sizing: border-box; height: 58px; padding: 24px 44px 8px 16px !important; border-radius: 16px !important; border: 0 !important;
  background-color: #F4F2EC !important; box-shadow: inset 0 0 0 1px rgba(14,27,54,.07); color: var(--lx-nv) !important; font: 500 16px var(--lx-sans) !important;
  transition: box-shadow .25s var(--lx-ease), background-color .25s; -webkit-appearance: none; appearance: none; outline: none; margin: 0;
}
html.lx2 .lx-ff > textarea { height: auto; min-height: 120px; padding-top: 28px !important; line-height: 1.5; resize: none; }
html.lx2 .lx-ff > select { padding-right: 42px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C5E2C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 16px center !important; background-size: 16px !important; cursor: pointer; }
html.lx2 .lx-ff > input:hover, html.lx2 .lx-ff > select:hover, html.lx2 .lx-ff > textarea:hover { box-shadow: inset 0 0 0 1px rgba(14,27,54,.16); }
html.lx2 .lx-ff > input:focus, html.lx2 .lx-ff > select:focus, html.lx2 .lx-ff > textarea:focus { background-color: #fff !important; box-shadow: inset 0 0 0 1.5px var(--lx-g1), 0 0 0 5px rgba(197,165,114,.16) !important; }
html.lx2 .lx-ff > input:disabled, html.lx2 .lx-ff > select:disabled { opacity: .55; }
html.lx2 .lx-ff > label { position: absolute !important; left: 16px; top: 19px; margin: 0 !important; z-index: 1; pointer-events: none; transform-origin: 0 0; font: 600 15px var(--lx-sans) !important; letter-spacing: 0 !important; text-transform: none !important; color: #6B7386 !important; white-space: nowrap; max-width: calc(100% - 56px); overflow: hidden; text-overflow: ellipsis; transition: transform .28s var(--lx-ease), color .25s; }
html.lx2 .lx-ff > label .req { color: #B5893F; }
html.lx2 .lx-ff > input:focus + label, html.lx2 .lx-ff > input:not(:placeholder-shown) + label,
html.lx2 .lx-ff > textarea:focus + label, html.lx2 .lx-ff > textarea:not(:placeholder-shown) + label,
html.lx2 .lx-ff.lx-sel > label { transform: translateY(-11px) scale(.76); font-weight: 700 !important; color: var(--lx-gink) !important; }
html.lx2 .lx-ff > input:focus + label, html.lx2 .lx-ff > textarea:focus + label { color: #9A7434 !important; }
html.lx2 .lx-ff::after { content: ''; position: absolute; right: 14px; top: 19px; width: 20px; height: 20px; border-radius: 50%; transform: scale(.4); opacity: 0; transition: transform .35s var(--lx-ease), opacity .25s; background: #10B981 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat; pointer-events: none; }
html.lx2 .lx-ff.lx-ok::after { transform: scale(1); opacity: 1; }
html.lx2 .lx-ff.lx-sel::after { right: 44px; }
html.lx2 .lx-ff.lx-bad > input, html.lx2 .lx-ff.lx-bad > textarea, html.lx2 .lx-ff.lx-bad > select { box-shadow: inset 0 0 0 1.5px #E5484D, 0 0 0 5px rgba(229,72,77,.1) !important; background-color: #FFF8F8 !important; animation: lxShake .4s ease; }
html.lx2 .lx-ff.lx-bad > label { color: #C93A3F !important; }
@keyframes lxShake { 0%,100% { transform: none; } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
html.lx2 .lx-msg { display: block; overflow: hidden; max-height: 0; opacity: 0; margin: 0 4px; font: 600 12.5px/1.4 var(--lx-sans); color: #C93A3F; transition: max-height .3s var(--lx-ease), opacity .25s, margin .3s; }
html.lx2 .lx-bad > .lx-msg { max-height: 40px; opacity: 1; margin: 6px 4px 0; }
html.lx2 .lx-sug { display: inline-flex; align-items: center; gap: 6px; margin: 7px 0 0 4px; padding: 6px 12px; border: 0; border-radius: 999px; cursor: pointer; font: 600 13px var(--lx-sans); color: var(--lx-nv); background: rgba(59,130,246,.1); box-shadow: inset 0 0 0 1px rgba(59,130,246,.22); animation: lxPop .35s var(--lx-ease); }
html.lx2 .lx-sug b { color: #1D4ED8; }
html.lx2 .lx-sug:hover { background: rgba(59,130,246,.16); }
@keyframes lxPop { from { opacity: 0; transform: translateY(-4px) scale(.96); } to { opacity: 1; transform: none; } }
html.lx2 .lx-hint2 { display: block; margin: 6px 4px 0; font: 600 12.5px var(--lx-sans); color: var(--lx-gink); }
html.lx2 .lx-prog { position: absolute; inset: 0 0 auto 0; height: 4px; background: rgba(14,27,54,.06); }
html.lx2 .lx-prog i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #C5A572, #F3E3BD, #10B981); border-radius: 0 4px 4px 0; transition: width .6s var(--lx-ease); }
html.lx2 .lx-prog-t { position: absolute; right: 18px; top: 18px; font: 800 11px var(--lx-sans); letter-spacing: .6px; color: var(--lx-gink); background: rgba(197,165,114,.14); padding: 5px 10px; border-radius: 999px; transition: background .3s, color .3s; }
html.lx2 .lx-prog-t.done { background: rgba(16,185,129,.14); color: #047857; }
html.lx2 .form-submit, html.lx2 #visit-form button[type=submit], html.lx2 .estim-btn:not(.er-btn-soft) { min-height: 56px; border-radius: 999px !important; font: 700 15.5px var(--lx-sans) !important; letter-spacing: .3px !important; text-transform: none !important; background: linear-gradient(135deg, #F0DDB0, #C5A572) !important; color: #0E1B36 !important; box-shadow: 0 14px 28px -14px rgba(197,165,114,.95), inset 0 1px 0 rgba(255,255,255,.5) !important; transition: transform .25s var(--lx-ease), box-shadow .25s !important; position: relative; overflow: hidden; border: 0 !important; }
html.lx2 .form-submit:hover, html.lx2 #visit-form button[type=submit]:hover, html.lx2 .estim-btn:not(.er-btn-soft):hover { transform: translateY(-2px); box-shadow: 0 20px 36px -16px rgba(197,165,114,1) !important; }
html.lx2 .form-submit:active, html.lx2 #visit-form button[type=submit]:active, html.lx2 .estim-btn:active { transform: scale(.98); }
html.lx2 .form-submit::after, html.lx2 #visit-form button[type=submit]::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%); transform: translateX(-120%); transition: transform .9s var(--lx-ease); pointer-events: none; }
html.lx2 .form-submit:hover::after, html.lx2 #visit-form button[type=submit]:hover::after { transform: translateX(120%); }
html.lx2 .addr-suggest { border: 0 !important; border-radius: 18px !important; box-shadow: 0 24px 60px -20px rgba(12,18,49,.45), inset 0 0 0 1px rgba(14,27,54,.06) !important; padding: 6px !important; }
html.lx2 .addr-suggest > * { border-radius: 12px; }
html.lx2 .ms-trigger { min-height: 58px; border-radius: 16px !important; border: 0 !important; background: #F4F2EC !important; box-shadow: inset 0 0 0 1px rgba(14,27,54,.07); }
html.lx2 .ms-panel { border: 0 !important; border-radius: 20px !important; box-shadow: 0 24px 60px -20px rgba(12,18,49,.45), inset 0 0 0 1px rgba(14,27,54,.06) !important; }
html.lx2 .ms-search { height: 46px; border-radius: 14px !important; border: 0 !important; background: #F4F2EC !important; padding: 0 14px !important; font-size: 16px !important; box-sizing: border-box; }
html.lx2 #visit-modal .modal, html.lx2 #estim-modal .modal, html.lx2 #estim-choice-modal .modal { border-radius: 28px !important; }
html.lx2 .estim-field input, html.lx2 .estim-field select { min-height: 54px; border-radius: 16px !important; border: 0 !important; background-color: #F4F2EC !important; box-shadow: inset 0 0 0 1px rgba(14,27,54,.07); font-size: 16px !important; }
html.lx2 .estim-field input:focus, html.lx2 .estim-field select:focus { outline: none; background-color: #fff !important; box-shadow: inset 0 0 0 1.5px var(--lx-g1), 0 0 0 5px rgba(197,165,114,.16) !important; }
html.lx2 .ew-chip { border-radius: 999px !important; transition: transform .2s var(--lx-ease), background .25s, box-shadow .25s !important; }
html.lx2 .ew-chip:active { transform: scale(.96); }
html.lx2 .estim-choice-card { border-radius: 22px !important; transition: transform .35s var(--lx-ease), box-shadow .35s !important; }
html.lx2 .estim-choice-card:hover { transform: translateY(-3px); box-shadow: var(--lx-sh2) !important; }

/* ═══ PAGES SEO / VENDRE / LOUER / ESTIMATION / MARCHÉ ═══════════════════ */
html.lx2[data-lx=seo] body, html.lx2[data-lx=estim] body { background: var(--lx-bg) !important; }
html.lx2[data-lx=seo] .hero, html.lx2[data-lx=estim] .hero { position: relative; overflow: hidden; background: var(--lx-navybg) !important; isolation: isolate; }
html.lx2[data-lx=seo] .hero::before, html.lx2[data-lx=estim] .hero::before { content: ''; position: absolute; width: 520px; height: 520px; right: -140px; top: -180px; border-radius: 50%; background: radial-gradient(circle, rgba(197,165,114,.28), transparent 65%); z-index: -1; animation: lxOrb 14s ease-in-out infinite alternate; pointer-events: none; }
html.lx2[data-lx=seo] .hero::after { content: ''; position: absolute; inset: auto 0 0 0; height: 2px; background: var(--lx-gline); }
@keyframes lxOrb { from { transform: translate(0,0) scale(1); } to { transform: translate(-90px, 70px) scale(1.15); } }
html.lx2[data-lx=seo] .hero h1, html.lx2[data-lx=estim] .hero h1 { font-family: var(--lx-serif); letter-spacing: -.6px; line-height: 1.08; }
html.lx2[data-lx=seo] .hero .eyebrow, html.lx2[data-lx=estim] .hero .eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px; background: rgba(224,201,154,.1); box-shadow: inset 0 0 0 1px rgba(224,201,154,.28); line-height: 1.3; }
html.lx2[data-lx=seo] .hero .eyebrow::before, html.lx2[data-lx=estim] .hero .eyebrow::before { content: ''; flex: none; width: 6px; height: 6px; border-radius: 50%; background: #E0C99A; animation: lxPulse 2.4s ease-out infinite; }
html.lx2[data-lx=seo] .hero-ctas .cta, html.lx2[data-lx=estim] .card .cta { border-radius: 999px !important; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; transition: transform .25s var(--lx-ease), box-shadow .25s !important; }
html.lx2[data-lx=seo] .hero-ctas .cta:not(.ghost), html.lx2[data-lx=estim] .card:not(.alt) .cta { background: linear-gradient(135deg, #F0DDB0, #C5A572) !important; color: #0E1B36 !important; box-shadow: 0 14px 28px -14px rgba(197,165,114,.95) !important; }
html.lx2[data-lx=estim] .card.alt .cta { background: var(--lx-navybg) !important; color: #fff !important; box-shadow: 0 14px 28px -14px rgba(14,27,54,.9) !important; }
html.lx2[data-lx=seo] .hero-ctas .cta:hover, html.lx2[data-lx=estim] .card .cta:hover { transform: translateY(-2px); }
html.lx2[data-lx=seo] .hero-ctas .cta.ghost { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); background: rgba(255,255,255,.06) !important; }
html.lx2[data-lx=seo] .trust span, html.lx2[data-lx=estim] .trust span { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: transform .3s var(--lx-ease), background .3s; }
html.lx2[data-lx=seo] .trust span:hover, html.lx2[data-lx=estim] .trust span:hover { transform: translateY(-2px); background: rgba(255,255,255,.1) !important; }
html.lx2[data-lx=seo] .crumbs { display: inline-flex; flex-wrap: wrap; gap: 4px; align-items: center; margin: 18px 0 6px; padding: 7px 14px; border-radius: 999px; background: #fff; box-shadow: var(--lx-sh); font-size: 12.5px !important; }
html.lx2[data-lx=seo] .crumbs a { color: var(--lx-nv) !important; font-weight: 600; text-decoration: none !important; }
html.lx2[data-lx=seo] .wrap > section { background: #fff; border-radius: 28px; padding: 30px 30px 26px; margin: 18px 0 !important; box-shadow: var(--lx-sh); border: 0 !important; }
html.lx2[data-lx=seo] .wrap > section h2 { font-family: var(--lx-serif); font-size: clamp(24px, 3vw, 32px) !important; letter-spacing: -.4px; line-height: 1.15; color: var(--lx-nv); }
html.lx2[data-lx=seo] .wrap > section p { color: #2A3247; line-height: 1.75; }
html.lx2[data-lx=seo] .wrap > section p a, html.lx2[data-lx=seo] .wrap > section li a { color: var(--lx-nv); font-weight: 600; text-decoration-color: rgba(197,165,114,.75); text-decoration-thickness: 2px; text-underline-offset: 3px; }
html.lx2[data-lx=seo] .stats, html.lx2[data-lx=estim] .stats { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; gap: 10px !important; }
html.lx2[data-lx=seo] .stat, html.lx2[data-lx=estim] .stat { position: relative; border: 0 !important; border-radius: 22px !important; padding: 18px 16px 16px !important; text-align: left !important; background: linear-gradient(165deg, var(--t1, rgba(197,165,114,.14)), #fff 70%) !important; box-shadow: var(--lx-sh), inset 0 0 0 1px rgba(14,27,54,.04) !important; overflow: hidden; transition: transform .45s var(--lx-ease), box-shadow .45s; }
html.lx2[data-lx=seo] .stat:hover, html.lx2[data-lx=estim] .stat:hover { transform: translateY(-4px); box-shadow: var(--lx-sh2) !important; }
html.lx2[data-lx=seo] .stat::before, html.lx2[data-lx=estim] .stat::before { content: ''; display: block; width: 34px; height: 4px; border-radius: 4px; margin-bottom: 14px; background: var(--t2, #C5A572); }
html.lx2[data-lx=seo] .stat:nth-child(4n+1), html.lx2[data-lx=estim] .stat:nth-child(4n+1) { --t1: rgba(197,165,114,.18); --t2: linear-gradient(90deg,#C5A572,#F0DDB0); }
html.lx2[data-lx=seo] .stat:nth-child(4n+2), html.lx2[data-lx=estim] .stat:nth-child(4n+2) { --t1: rgba(59,130,246,.12); --t2: linear-gradient(90deg,#3B82F6,#93C5FD); }
html.lx2[data-lx=seo] .stat:nth-child(4n+3), html.lx2[data-lx=estim] .stat:nth-child(4n+3) { --t1: rgba(245,158,11,.13); --t2: linear-gradient(90deg,#F59E0B,#FCD34D); }
html.lx2[data-lx=seo] .stat:nth-child(4n+4), html.lx2[data-lx=estim] .stat:nth-child(4n+4) { --t1: rgba(16,185,129,.12); --t2: linear-gradient(90deg,#059669,#6EE7B7); }
html.lx2[data-lx=seo] .stat b, html.lx2[data-lx=estim] .stat b { display: block; font: 600 clamp(24px, 2.6vw, 30px)/1.05 var(--lx-serif) !important; letter-spacing: -.4px; color: var(--lx-nv) !important; font-variant-numeric: tabular-nums; }
html.lx2[data-lx=seo] .stat span, html.lx2[data-lx=estim] .stat span { display: block; margin-top: 8px; font: 500 13px/1.45 var(--lx-sans) !important; color: var(--lx-mut) !important; }
html.lx2 .mstats { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; gap: 8px !important; }
html.lx2 .mstat { border: 0 !important; border-radius: 18px !important; background: #F7F5F0 !important; padding: 14px 14px 12px !important; transition: transform .35s var(--lx-ease), background .3s, box-shadow .3s; }
html.lx2 .mstat:hover { transform: translateY(-3px); background: #fff !important; box-shadow: var(--lx-sh); }
html.lx2 .mstat b { font: 600 22px/1.1 var(--lx-serif) !important; color: var(--lx-nv); font-variant-numeric: tabular-nums; }
html.lx2 .mstat b.up { color: #047857 !important; } html.lx2 .mstat b.down { color: #B91C1C !important; }
html.lx2 .mcard { border: 0 !important; border-radius: 22px !important; background: #FBFAF7 !important; box-shadow: inset 0 0 0 1px rgba(14,27,54,.06) !important; }
html.lx2 .mnote { border-radius: 18px !important; border: 0 !important; background: linear-gradient(160deg, rgba(197,165,114,.14), rgba(197,165,114,.04)) !important; box-shadow: inset 0 0 0 1px rgba(197,165,114,.25); }
html.lx2[data-lx=seo] .wrap > section ol { list-style: none; counter-reset: lxs; padding: 0; margin: 18px 0 4px; position: relative; }
html.lx2[data-lx=seo] .wrap > section ol::before { content: ''; position: absolute; left: 19px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, #C5A572, rgba(197,165,114,.1)); }
html.lx2[data-lx=seo] .wrap > section ol li { counter-increment: lxs; position: relative; padding: 6px 0 18px 58px; line-height: 1.65; color: #2A3247; list-style: none; }
html.lx2[data-lx=seo] .wrap > section ol li::before { content: counter(lxs); position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 700 16px var(--lx-serif); color: var(--lx-nv); background: linear-gradient(135deg, #F0DDB0, #C5A572); box-shadow: 0 0 0 5px #fff, 0 10px 18px -10px #C5A572; }
html.lx2[data-lx=seo] .wrap > section ol li strong { color: var(--lx-nv); }
html.lx2[data-lx=seo] details, html.lx2[data-lx=estim] details { border: 0 !important; border-radius: 18px !important; background: #F7F5F0; margin: 8px 0 !important; padding: 0 !important; transition: background .3s, box-shadow .3s; overflow: hidden; }
html.lx2[data-lx=seo] details[open], html.lx2[data-lx=estim] details[open] { background: #fff; box-shadow: var(--lx-sh), inset 0 0 0 1px rgba(197,165,114,.3); }
html.lx2[data-lx=seo] details summary, html.lx2[data-lx=estim] details summary { list-style: none; cursor: pointer; padding: 17px 54px 17px 18px !important; font: 650 15.5px/1.4 var(--lx-sans) !important; color: var(--lx-nv) !important; position: relative; }
html.lx2[data-lx=seo] details summary::-webkit-details-marker, html.lx2[data-lx=estim] details summary::-webkit-details-marker { display: none; }
html.lx2[data-lx=seo] details summary::after, html.lx2[data-lx=estim] details summary::after { content: '+'; position: absolute; right: 16px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 500 20px/1 var(--lx-sans); color: var(--lx-nv); background: rgba(197,165,114,.2); transition: transform .35s var(--lx-ease), background .3s; }
html.lx2[data-lx=seo] details[open] summary::after, html.lx2[data-lx=estim] details[open] summary::after { transform: rotate(45deg); background: linear-gradient(135deg, #F0DDB0, #C5A572); }
html.lx2[data-lx=seo] details p, html.lx2[data-lx=estim] details p { padding: 0 18px 16px !important; margin: 0 !important; color: #2A3247; line-height: 1.7; }
html.lx2[data-lx=seo] .linksgrid { display: flex !important; flex-wrap: wrap; gap: 8px !important; }
html.lx2[data-lx=seo] .linksgrid a { display: inline-flex; align-items: center; gap: 7px; padding: 10px 15px !important; border-radius: 999px !important; border: 0 !important; background: #F4F1EA !important; color: var(--lx-nv) !important; font: 650 13.5px var(--lx-sans) !important; text-decoration: none !important; transition: transform .25s var(--lx-ease), background .25s, box-shadow .25s; }
html.lx2[data-lx=seo] .linksgrid a::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #C5A572; }
html.lx2[data-lx=seo] .linksgrid a:hover { transform: translateY(-2px); background: #fff !important; box-shadow: var(--lx-sh); }
html.lx2[data-lx=seo] .bigcta { position: relative; overflow: hidden; border-radius: 30px !important; background: var(--lx-navybg) !important; box-shadow: var(--lx-sh2) !important; }
html.lx2[data-lx=seo] .bigcta::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--lx-gline); }
html.lx2 .ech-card { border-radius: 24px !important; transition: transform .4s var(--lx-ease), box-shadow .4s !important; }
html.lx2 .ech-card:hover { transform: translateY(-4px); box-shadow: var(--lx-sh2) !important; }
html.lx2[data-lx=estim] .card { border-radius: 26px !important; box-shadow: var(--lx-sh2) !important; transition: transform .45s var(--lx-ease) !important; }
html.lx2[data-lx=estim] .card:hover { transform: translateY(-4px); }
html.lx2[data-lx=estim] .ava { box-shadow: 0 0 0 4px #0E1B36, 0 0 0 6px #C5A572, 0 18px 40px -16px rgba(0,0,0,.6) !important; }
@media (max-width: 700px) {
  html.lx2[data-lx=seo] .wrap > section { padding: 22px 18px 18px; border-radius: 24px; margin: 12px 0 !important; }
  html.lx2[data-lx=seo] .stats, html.lx2[data-lx=estim] .stats { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  html.lx2 .mstats { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  html.lx2[data-lx=seo] .stat, html.lx2[data-lx=estim] .stat { padding: 14px 13px 13px !important; }
  html.lx2[data-lx=seo] .wrap > section ol li { padding-left: 52px; }
}

/* ═══ PAGES LÉGALES ═══ */
html.lx2[data-lx=legal] body { background: var(--lx-bg) !important; }
html.lx2[data-lx=legal] .top { background: var(--lx-navybg) !important; position: relative; }
html.lx2[data-lx=legal] .top::after { content: ''; position: absolute; inset: auto 0 0 0; height: 2px; background: var(--lx-gline); }
html.lx2[data-lx=legal] h1 { font-family: var(--lx-serif); letter-spacing: -.6px; color: var(--lx-nv); }
html.lx2[data-lx=legal] h2 { font-family: var(--lx-serif); color: var(--lx-nv); }
html.lx2[data-lx=legal] .box { border: 0 !important; border-radius: 22px !important; box-shadow: var(--lx-sh) !important; }
html.lx2[data-lx=legal] .wrap a { color: var(--lx-nv); text-decoration-color: rgba(197,165,114,.75); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* ═══ 404 / 410 ═══ */
html.lx2[data-lx=err] body { background: var(--lx-navybg) !important; position: relative; overflow: hidden; }
html.lx2[data-lx=err] body::before { content: ''; position: fixed; width: 640px; height: 640px; right: -200px; top: -240px; border-radius: 50%; background: radial-gradient(circle, rgba(197,165,114,.26), transparent 65%); animation: lxOrb 14s ease-in-out infinite alternate; pointer-events: none; }
html.lx2[data-lx=err] .box { position: relative; padding: 34px 28px; border-radius: 30px; background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1), 0 40px 90px -40px rgba(0,0,0,.7); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
html.lx2[data-lx=err] h1 { font-family: var(--lx-serif); background: linear-gradient(180deg, #fff 30%, #F3E3BD); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
html.lx2[data-lx=err] .btn { border-radius: 999px !important; padding: 13px 20px !important; background: linear-gradient(135deg, #F0DDB0, #C5A572) !important; box-shadow: 0 14px 28px -14px rgba(197,165,114,.95); transition: transform .25s var(--lx-ease); }
html.lx2[data-lx=err] .btn:hover { transform: translateY(-2px); }

/* ═══ Page statique d'un bien (lue par les moteurs ; les visiteurs basculent sur la fiche) ═══ */
html.lx2[data-lx=bien] body { background: var(--lx-bg) !important; }
html.lx2[data-lx=bien] .price { font-family: var(--lx-serif); }
html.lx2[data-lx=bien] .spec { border-radius: 16px !important; border: 0 !important; background: #fff !important; box-shadow: var(--lx-sh) !important; }
html.lx2[data-lx=bien] .gallery img { border-radius: 16px; }
html.lx2[data-lx=bien] .btn { border-radius: 999px !important; }

@media (prefers-reduced-motion: reduce) {
  html.lx2 *, html.lx2 *::before, html.lx2 *::after { animation: none !important; transition-duration: .01ms !important; }
  html.lx2.lx2-js .lx-rv { opacity: 1; transform: none; }
}

/* ── Ajustements de mise en page (v2) ── */
html.lx2[data-lx=home] #vit-about .about-text > .eyebrow { display: inline-flex !important; align-items: center; gap: 8px; font: 800 11px/1 var(--lx-sans) !important; letter-spacing: 2.2px !important; text-transform: uppercase; color: var(--lx-gink) !important; padding: 7px 13px 7px 11px; border-radius: 999px; background: rgba(197,165,114,.12); box-shadow: inset 0 0 0 1px rgba(197,165,114,.28); }
html.lx2[data-lx=home] #vit-about .about-text > .eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--lx-g1); animation: lxPulse 2.4s ease-out infinite; }
@media (min-width: 901px) {
  html.lx2[data-lx=home] .about-grid { align-items: start !important; }
  html.lx2[data-lx=home] .about-portrait { position: sticky !important; top: 120px; }
  html.lx2[data-lx=home] #modal .modal-hero { height: min(66vh, 600px) !important; }
  html.lx2[data-lx=home] #modal .modal-hero img { height: 100% !important; object-fit: cover; }
}
html.lx2 .lx-sug { display: inline-block !important; white-space: normal; text-align: left; max-width: 100%; line-height: 1.35; }
@media (min-width: 901px) {
  html.lx2[data-lx=home] .contact-grid { align-items: start !important; }
  html.lx2[data-lx=home] .coords-card { position: sticky !important; top: 120px; }
}
