/* ==========================================================================
   EMC — Master Stylesheet
   All CSS extracted from .njk files, organized by section.
   ========================================================================== */

/* ==========================================================================
   BASE (from base.njk)
   ========================================================================== */

/* ─── CSS VARIABLES ────────────────────────────────────── */
:root{--bronze:#BF8C4E;--bronze-light:#D4AA6A;--bronze-dark:#A47A3A;--black:#0A0A0A;--black-light:#1A1A1A;--black-medium:#141414;--white:#FFFFFF;--gray:#888888;--gray-light:#AAAAAA}

/* Light Theme: swap dark↔light values */
[data-theme="light"]{--black:#FFFFFF;--black-light:#F5F5F0;--black-medium:#FAFAF7;--white:#0D0D0D;--gray:#5A5A5A;--gray-light:#4A4A4A}

*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--black);color:var(--white);overflow-x:hidden}

/* ─── NAVIGATION ───────────────────────────────────────── */
/* Scoped to #navbar (not bare `nav`) — the footer uses <nav> elements for
   each column, which would otherwise inherit the fixed-position header. */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.2rem 4rem;display:flex;justify-content:space-between;align-items:center;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(196,154,90,0.15);transition:all 0.4s}
/* NOTE: Homepage-conditional nav overrides (isHomepage) remain inline in base.njk */

/* Light nav (non-homepage: solid white bar) */
[data-theme="light"] #navbar{background:rgba(255,255,255,0.95);border-bottom:1px solid rgba(196,154,90,0.2);box-shadow:0 1px 8px rgba(0,0,0,0.06)}
[data-theme="light"] #navbar.scrolled{background:rgba(255,255,255,0.97);border-bottom:1px solid rgba(196,154,90,0.25);box-shadow:0 2px 12px rgba(0,0,0,0.08)}

.nav-logo{display:flex;align-items:center;gap:0.8rem;text-decoration:none}.nav-logo img{height:40px}
.nav-links{display:flex;list-style:none;gap:2.5rem}
.nav-links a{color:var(--gray-light);text-decoration:none;font-weight:500;font-size:0.85rem;letter-spacing:1.5px;text-transform:uppercase;transition:color 0.3s}
.nav-links a:hover,.nav-links a.active{color:var(--bronze)}
.nav-cta{background:var(--bronze);color:var(--black);border:none;padding:0.7rem 1.8rem;font-family:'Barlow',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;text-decoration:none}.nav-cta:hover{background:var(--bronze-light)}
[data-theme="light"] .nav-cta{color:#FFFFFF}[data-theme="light"] .nav-cta:hover{background:var(--bronze-dark)}
.nav-right{display:flex;align-items:center;gap:1rem}

/* ─── HAMBURGER & MOBILE MENU ──────────────────────────── */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:5px}
.hamburger span{display:block;width:22px;height:2px;background:var(--white);transition:all 0.3s}
[data-theme="light"] .hamburger span{background:#0D0D0D}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:6rem 2rem 2rem;opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s}
.mobile-menu.open{opacity:1;visibility:visible}
[data-theme="light"] .mobile-menu{background:rgba(255,255,255,0.98)}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:0}
.mobile-menu a{display:block;padding:1.1rem 0;color:var(--gray-light);text-decoration:none;font-size:1.1rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid rgba(196,154,90,0.1);transition:color 0.3s}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--bronze)}

/* ─── THEME TOGGLE BUTTON ──────────────────────────────── */
.theme-toggle{background:none;border:1px solid rgba(196,154,90,0.2);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;padding:0;flex-shrink:0}
.theme-toggle:hover{border-color:var(--bronze);background:rgba(196,154,90,0.08)}
.theme-toggle svg{width:16px;height:16px;color:var(--gray-light);transition:color 0.3s}
.theme-toggle:hover svg{color:var(--bronze)}
.theme-toggle .icon-sun{display:none}
.theme-toggle .icon-moon{display:block}
[data-theme="light"] .theme-toggle .icon-sun{display:block}
[data-theme="light"] .theme-toggle .icon-moon{display:none}

/* ─── SHARED PAGE ELEMENTS ─────────────────────────────── */
.page-hero{padding:10rem 0 5rem;position:relative;overflow:hidden;min-height:70vh;display:flex;flex-direction:column;justify-content:center}
.hero-label{font-size:0.8rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--bronze);margin-bottom:1.5rem;position:relative;display:flex;align-items:center;gap:1rem}
.hero-label::before{content:'';width:40px;height:1px;background:var(--bronze)}
.page-hero h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-1px;position:relative}
.page-hero h1 span{color:var(--bronze)}
.hero-subtitle{font-size:1.2rem;font-weight:300;color:var(--gray-light);max-width:650px;line-height:1.8;position:relative}

.content-section{padding:6rem 0;position:relative}.content-section:nth-child(even){background:var(--black-light)}
/* ─── Editorial dark sections — stay near-black in BOTH modes ───────────
   These sections use a dark surface as a full-bleed background and were flipping
   to a washed #F5F5F0 grey in light mode. Re-scope the dark-theme token values
   onto the section in light theme so its whole subtree (surface, cards, text,
   muted text) renders exactly as in dark mode; bronze accents are literal and
   untouched. Gives light-mode pages an alternating white-content / dark-editorial
   rhythm. */
[data-theme="light"] .content-section:nth-child(even),
[data-theme="light"] .content-section--dark,
[data-theme="light"] .home-cta,
[data-theme="light"] .veh-lifestyle,
[data-theme="light"] .veh-flex,
[data-theme="light"] .veh-specs{--black:#0A0A0A;--black-light:#0A0A0A;--black-medium:#141414;--white:#FFFFFF;--gray:#888888;--gray-light:#AAAAAA;background:#0A0A0A;color:#FFFFFF}
.content-wrap{max-width:1200px;margin:0 auto;padding:0 4rem}
.section-label{font-size:0.75rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--bronze);margin-bottom:1rem;display:flex;align-items:center;gap:1rem}
.section-label::before{content:'';width:30px;height:1px;background:var(--bronze)}
.section-title{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;margin-bottom:2rem;letter-spacing:-0.5px}.section-title span{color:var(--bronze)}
.section-text{font-size:1.05rem;font-weight:300;color:var(--gray-light);line-height:1.9;max-width:800px;margin-bottom:2rem}.section-text strong{color:var(--white);font-weight:600}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}

.quote-block{border-left:3px solid var(--bronze);padding:2rem 2.5rem;margin:3rem 0;background:rgba(196,154,90,0.04)}
.quote-block p{font-size:1.3rem;font-weight:400;font-style:italic;color:var(--white);line-height:1.7}
.quote-block .attribution{margin-top:1rem;font-size:0.85rem;font-style:normal;font-weight:600;color:var(--bronze);letter-spacing:2px;text-transform:uppercase}

.cta-section{text-align:center;padding:5rem 4rem;background:linear-gradient(135deg,rgba(196,154,90,0.08) 0%,transparent 50%)}
.cta-section h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;margin-bottom:1rem}.cta-section h2 span{color:var(--bronze)}
.cta-section p{font-size:1.05rem;font-weight:300;color:var(--gray-light);margin-bottom:2rem}
.cta-button{background:var(--bronze);color:var(--black);border:none;padding:1rem 3rem;font-family:'Barlow',sans-serif;font-weight:700;font-size:0.9rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;text-decoration:none;display:inline-block}.cta-button:hover{background:var(--bronze-light)}

/* ─── FORM MODAL ───────────────────────────────────────── */
.form-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(8px);z-index:2000;display:none;align-items:center;justify-content:center;padding:2rem;opacity:0;transition:opacity 0.3s ease}
.form-overlay.active{display:flex;opacity:1}
[data-theme="light"] .form-overlay{background:rgba(0,0,0,0.5)}
.form-modal{background:var(--black-light);border:1px solid rgba(196,154,90,0.2);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalIn 0.4s ease}
[data-theme="light"] .form-modal{background:#FFFFFF;box-shadow:0 24px 64px rgba(0,0,0,0.15);border:1px solid rgba(196,154,90,0.15)}
@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.form-modal-header{padding:2.5rem 2.5rem 0;position:relative}
.form-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:1px solid rgba(196,154,90,0.3);color:var(--gray-light);width:36px;height:36px;font-size:1.2rem;cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center;font-family:'Barlow',sans-serif}
.form-modal-close:hover{border-color:var(--bronze);color:var(--bronze)}
.form-modal-badge{display:inline-block;padding:0.3rem 1rem;border:1px solid var(--bronze);color:var(--bronze);font-size:0.65rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:1rem}
.form-modal-title{font-size:1.8rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:0.5rem}
.form-modal-subtitle{font-size:0.9rem;color:var(--gray);font-weight:400;line-height:1.6}

.emc-form-body{padding:2rem 2.5rem 2.5rem}
.form-row{margin-bottom:1.2rem}
.form-row.hidden,.form-row-half.hidden{display:none}
.form-row label{display:block;font-size:0.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--bronze);margin-bottom:0.5rem}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:0.9rem 1rem;background:var(--black);border:1px solid rgba(196,154,90,0.15);color:var(--white);font-family:'Barlow',sans-serif;font-size:0.9rem;font-weight:400;transition:border-color 0.3s;outline:none}
[data-theme="light"] .form-row input,[data-theme="light"] .form-row select,[data-theme="light"] .form-row textarea{background:#F5F5F0;color:#0D0D0D;border:1px solid #E0DDD5}
.form-row input::placeholder,.form-row textarea::placeholder{color:var(--gray)}
[data-theme="light"] .form-row input::placeholder,[data-theme="light"] .form-row textarea::placeholder{color:#999}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--bronze)}
[data-theme="light"] .form-row input:focus,[data-theme="light"] .form-row select:focus,[data-theme="light"] .form-row textarea:focus{border-color:var(--bronze);background:#FFFFFF;box-shadow:0 0 0 3px rgba(196,154,90,0.12)}
.form-row select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23BF8C4E' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.form-row select option{background:var(--black-light);color:var(--white)}
[data-theme="light"] .form-row select option{background:#FFFFFF;color:#0D0D0D}
.form-row textarea{resize:vertical;min-height:100px}
.form-hint{display:block;font-size:0.7rem;color:var(--gray);margin-top:0.4rem;font-weight:400}
.form-row-half{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-submit{width:100%;padding:1rem;background:var(--bronze);color:var(--black);border:none;font-family:'Barlow',sans-serif;font-weight:700;font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;margin-top:0.5rem}
.form-submit:hover{background:var(--bronze-light)}
.form-submit:disabled{opacity:0.5;cursor:not-allowed}
.form-submit.sending{background:var(--gray)}
.form-success{display:none;text-align:center;padding:3rem 2.5rem}
.form-success.active{display:block}
.form-success-icon{font-size:3rem;margin-bottom:1rem;color:var(--bronze)}
.form-success h3{font-size:1.3rem;font-weight:700;margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:1px}
.form-success p{color:var(--gray);font-size:0.9rem;line-height:1.6}

/* ─── INLINE FORM (contact page) ───────────────────────── */
.form-inline .emc-form-body{padding:0}
.form-inline .form-row input,.form-inline .form-row select,.form-inline .form-row textarea{border-color:rgba(196,154,90,0.2)}
.form-inline .form-submit{max-width:320px}

/* ─── FOOTER ───────────────────────────────────────────── */
footer{padding:4rem 0;border-top:1px solid rgba(196,154,90,0.15)}
[data-theme="light"] footer{background:var(--black-light)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand img{height:50px;margin-bottom:1rem}.footer-brand p{font-size:0.85rem;font-weight:300;color:var(--gray);line-height:1.7;max-width:300px}
.footer-col h4{font-size:0.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--bronze);margin-bottom:1.2rem}
.footer-col a{display:block;color:var(--gray-light);text-decoration:none;font-size:0.85rem;font-weight:400;margin-bottom:0.6rem;transition:color 0.3s}.footer-col a:hover{color:var(--bronze)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid rgba(196,154,90,0.08)}
.footer-bottom p{font-size:0.8rem;color:var(--gray)}

/* ─── LUCIDE ICONS GLOBAL ──────────────────────────────── */
i[data-lucide]{color:var(--bronze);display:inline-block}

/* ─── IMAGE-OVERLAY HERO PINNING ───────────────────────── *
 * Heroes with background images use hardcoded dark overlays
 * (rgba(10,10,10,...)) — text must stay light in ALL themes.
 * This affects: homepage hero, vehicle heroes, contact hero,
 * and service image cards.
 * ───────────────────────────────────────────────────────── */

/* Homepage hero */
[data-theme="light"] .hero{color:#FFFFFF}
[data-theme="light"] .hero h1{color:#FFFFFF}
[data-theme="light"] .hero h1 span{color:var(--bronze)}
[data-theme="light"] .hero .hero-label{color:#FFFFFF}
[data-theme="light"] .hero .hero-subtitle{color:rgba(255,255,255,0.7)}
[data-theme="light"] .hero .btn-primary{color:#0A0A0A}
[data-theme="light"] .hero .btn-secondary{color:#FFFFFF;border-color:rgba(255,255,255,0.3)}
[data-theme="light"] .hero .btn-secondary:hover{color:var(--bronze);border-color:var(--bronze)}
[data-theme="light"] .hero-stat .stat-value{color:var(--bronze)}
[data-theme="light"] .hero .hero-stat .stat-label{color:rgba(255,255,255,0.6)}
[data-theme="light"] .hero .hero-stats{border-top-color:rgba(196,154,90,0.15)}

/* Vehicle heroes (nammi-01, nammi-06-vigo, bestune-nat-e05) */
[data-theme="light"] .vehicle-hero{color:#FFFFFF}
[data-theme="light"] .vehicle-hero h1{color:#FFFFFF}
[data-theme="light"] .vehicle-hero h1 span,
[data-theme="light"] .vehicle-hero h1 .model{color:var(--bronze)}
[data-theme="light"] .vehicle-hero .hero-badge,
[data-theme="light"] .vehicle-hero .brand-badge{color:var(--bronze);border-color:var(--bronze)}
[data-theme="light"] .vehicle-hero .hero-sub,
[data-theme="light"] .vehicle-hero .hero-tagline,
[data-theme="light"] .vehicle-hero .brand-name{color:rgba(255,255,255,0.6)}
[data-theme="light"] .vehicle-hero .hero-model{color:var(--bronze)}
[data-theme="light"] .vehicle-hero .stat-value{color:var(--bronze)}
[data-theme="light"] .vehicle-hero .stat-label{color:rgba(255,255,255,0.6)}
[data-theme="light"] .vehicle-hero .hero-feature-value{color:#FFFFFF}
[data-theme="light"] .vehicle-hero .hero-feature-label{color:rgba(255,255,255,0.6)}
[data-theme="light"] .vehicle-hero .hero-feature-icon{color:var(--bronze)}
[data-theme="light"] .vehicle-hero .scroll-indicator span{color:rgba(255,255,255,0.6)}

/* Contact hero */
[data-theme="light"] .contact-hero{color:#FFFFFF}
[data-theme="light"] .contact-hero h1{color:#FFFFFF}
[data-theme="light"] .contact-hero h1 span{color:var(--bronze)}
[data-theme="light"] .contact-hero p{color:rgba(255,255,255,0.7)}
[data-theme="light"] .contact-hero .hero-label{color:#FFFFFF}

/* Contact map: remove dark-mode filter in light */
[data-theme="light"] .contact-map iframe{filter:none}
[data-theme="light"] .contact-map{background:var(--black-light);border-color:rgba(196,154,90,0.12)}

/* Service image cards (always dark overlay on images) */
[data-theme="light"] .service-link-card h3{color:#FFFFFF}
[data-theme="light"] .service-link-card p{color:rgba(255,255,255,0.7)}

/* ─── SMOOTH THEME TRANSITION ──────────────────────────── */
body.theme-transitioning,body.theme-transitioning *{transition:background-color 0.8s ease,color 0.6s ease,border-color 0.6s ease,box-shadow 0.6s ease !important}

/* ─── SCROLLBAR ────────────────────────────────────────── */
[data-theme="light"] ::-webkit-scrollbar-track{background:#F5F5F0}
[data-theme="light"] ::-webkit-scrollbar-thumb{background:rgba(196,154,90,0.3)}
[data-theme="light"] ::-webkit-scrollbar-thumb:hover{background:var(--bronze)}

/* ─── ANIMATIONS ───────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(30px);transition:all 0.8s ease}.reveal.active{opacity:1;transform:translateY(0)}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}

/* ─── RESPONSIVE ───────────────────────────────────────── */
@media(max-width:1024px){
    nav{padding:1rem 1.5rem}nav.scrolled{padding:1rem 1.5rem}
    .page-hero,.cta-section{padding-left:2rem;padding-right:2rem}
    .content-wrap{padding:0 1.5rem}
    .two-col{grid-template-columns:1fr}.nav-links{display:none}
    .hamburger{display:flex}
    .mobile-menu{display:block}
    .nav-cta{padding:0.5rem 1rem;font-size:0.65rem;letter-spacing:1.5px}
    .nav-right{gap:0.5rem}
    .theme-toggle{width:32px;height:32px}
    .theme-toggle svg{width:14px;height:14px}
    .nav-logo img{height:32px}
    .footer-top{grid-template-columns:1fr 1fr}footer{padding:2rem 0}
    .form-modal{margin:1rem}.form-row-half{grid-template-columns:1fr}
}
@media(max-width:480px){
    .nav-cta{display:none}
    .footer-top{grid-template-columns:1fr}.form-modal-title{font-size:1.4rem}
}
/* ─── BRAND PATTERNS (from brochure design system) ───── */

/* E-Divider: three graduated bars — 100% / 68% / 43% */
.e-divider{display:flex;flex-direction:column;gap:4px;padding:1.5rem 0}
.e-divider__bar{height:3px;background:var(--bronze);border-radius:0;transition:width 0.8s cubic-bezier(0.25,0.1,0.25,1)}
.e-divider__bar:nth-child(1){width:100%}
.e-divider__bar:nth-child(2){width:68%}
.e-divider__bar:nth-child(3){width:43%}
.e-divider--right{align-items:flex-end}
.e-divider--right .e-divider__bar:nth-child(1){width:43%}
.e-divider--right .e-divider__bar:nth-child(2){width:68%}
.e-divider--right .e-divider__bar:nth-child(3){width:100%}
.e-divider:not(.e-divider--animated) .e-divider__bar{width:100% !important}
.e-divider--animated .e-divider__bar:nth-child(1){transition-delay:0s}
.e-divider--animated .e-divider__bar:nth-child(2){transition-delay:0.15s}
.e-divider--animated .e-divider__bar:nth-child(3){transition-delay:0.3s}
.e-divider--right:not(.e-divider--animated) .e-divider__bar{width:100% !important}
[data-theme="light"] .e-divider__bar{background:var(--bronze-dark,#A47A3A)}
.footer-e-strip .e-divider{padding:0 0 2rem}

/* WARRANTY BADGE — fixed corner pennant (tablet+). A physical brand mark, not chrome: stays dark in both themes (SVG uses literal #BF8C4E), so it does NOT use the theme tokens. */
.warranty-badge{position:fixed;bottom:24px;left:24px;z-index:100;display:inline-block;text-decoration:none;transition:transform 0.3s ease}
.warranty-badge:hover{transform:scale(1.04)}
@media (max-width: 767px){.warranty-badge{display:none}}
@media (min-width: 768px) and (max-width: 1023px){.warranty-badge svg{width:82px;height:113px}.warranty-badge{bottom:20px;left:20px}}
.hero-e-strip{position:absolute;bottom:0;left:4rem;right:4rem;z-index:3}
.hero-e-strip .e-divider{padding:0 0 1.5rem}

/* M-Frame: 3/4 border — top, left, right with open bottom */
.m-frame{border:1.5px solid var(--bronze);border-bottom:none;overflow:hidden}
.m-frame img{width:100%;height:auto;display:block;object-fit:cover;transition:transform 0.6s ease}
.m-frame:hover img{transform:scale(1.03)}
.m-frame-wrap{position:relative}
[data-theme="light"] .m-frame{border-color:var(--bronze)}

/* Side Accent: three vertical bars on LEFT edge, fading opacity+height */
.side-accent{position:absolute;top:0;bottom:0;left:0;width:11px;display:flex;gap:1.5px;pointer-events:none;z-index:3}
.side-accent__bar{width:3px;background:var(--bronze)}
.side-accent__bar:nth-child(1){opacity:0.5;height:100%}
.side-accent__bar:nth-child(2){opacity:0.3;height:70%}
.side-accent__bar:nth-child(3){opacity:0.15;height:45%}
.hero-side-accent{position:absolute;top:0;bottom:0;left:0;width:14px;display:flex;gap:2px;z-index:3;pointer-events:none}
.hero-side-accent .side-accent{position:static;width:auto;top:auto;bottom:auto;left:auto;height:100%}
.hero-side-accent .side-accent__bar{width:3.5px}

/* CTA Accented: content block with side accent on left */
.cta-accented{position:relative;padding-left:24px}

/* Stat Rings: circular bordered stat displays */
.stat-rings{display:flex;gap:3rem;justify-content:center;flex-wrap:wrap;margin-top:2rem;animation:fadeInUp 1s ease 0.8s both}
.stat-rings--hero{position:relative;z-index:1}
.stat-ring{text-align:center}
.stat-ring__circle{width:100px;height:100px;border-radius:50%;border:2px solid var(--bronze);display:flex;align-items:center;justify-content:center;margin:0 auto 0.5rem;position:relative}
.stat-ring__circle::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(196,154,90,0.2)}
.stat-ring__value{font-weight:800;font-size:1.6rem;color:var(--bronze);line-height:1}
.stat-ring__label{font-size:0.65rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-top:0.3rem}
[data-theme="light"] .vehicle-hero .stat-ring__value{color:var(--bronze)}
[data-theme="light"] .vehicle-hero .stat-ring__label{color:rgba(255,255,255,0.6)}
[data-theme="light"] .vehicle-hero{background-color:#0A0A0A}

@media(max-width:1024px){
    .hero-side-accent{display:none}
    .hero-e-strip{left:2rem;right:2rem}
    .stat-rings{gap:1.5rem}
    .stat-ring__circle{width:80px;height:80px}
    .stat-ring__value{font-size:1.3rem}
}


/* ==========================================================================
   HOMEPAGE (from index.njk)
   ========================================================================== */

/* Hero */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:8rem 4rem 4rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,rgba(10,10,10,0.92) 30%,rgba(10,10,10,0.4) 70%,rgba(10,10,10,0.7) 100%),url('https://res.cloudinary.com/woureesystems/image/upload/v1770757936/emc/All-03-models-dusk-showroom-01-no-text.jpg?v=112026') center/cover no-repeat}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,rgba(10,10,10,1) 0%,transparent 100%)}
.hero-content{position:relative;z-index:2;max-width:750px}
@media(min-width:1200px){.hero-content,.hero-stats{width:780px;max-width:100%;margin-left:auto;margin-right:auto}}
.hero h1{font-size:clamp(3rem,6vw,5.5rem);font-weight:900;line-height:1.05;margin-bottom:1.5rem;letter-spacing:-2px;opacity:0;transform:translateY(30px);animation:fadeUp 0.8s ease 0.5s forwards}
.hero h1 span{color:var(--bronze)}
.hero .hero-label{opacity:0;transform:translateY(20px);animation:fadeUp 0.8s ease 0.3s forwards}
.hero .hero-subtitle{font-size:1.25rem;font-weight:300;color:var(--gray-light);line-height:1.8;margin-bottom:2.5rem;max-width:600px;opacity:0;transform:translateY(20px);animation:fadeUp 0.8s ease 0.7s forwards}
.hero-actions{display:flex;gap:1.5rem;align-items:center;opacity:0;transform:translateY(20px);animation:fadeUp 0.8s ease 0.9s forwards}
.btn-primary{background:var(--bronze);color:var(--black);padding:1rem 2.5rem;font-family:'Barlow',sans-serif;font-weight:700;font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:all 0.3s;display:inline-block}.btn-primary:hover{background:var(--bronze-light)}
.btn-secondary{color:var(--white);padding:1rem 2.5rem;font-family:'Barlow',sans-serif;font-weight:600;font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:1px solid rgba(255,255,255,0.3);transition:all 0.3s;display:inline-block}.btn-secondary:hover{border-color:var(--bronze);color:var(--bronze)}
.hero-stats{position:relative;z-index:2;display:flex;gap:4rem;margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(196,154,90,0.15);opacity:0;animation:fadeUp 0.8s ease 1.1s forwards}
.hero-stat .stat-value{font-size:2.5rem;font-weight:900;color:var(--bronze);line-height:1}
.hero-stat .stat-label{font-size:0.75rem;font-weight:500;color:var(--gray);letter-spacing:2px;text-transform:uppercase;margin-top:0.3rem}

/* Vision */
.vision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}
.vision-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:2.5rem 2rem;transition:all 0.4s;position:relative;overflow:hidden}
.vision-card:hover{border-color:rgba(196,154,90,0.3);transform:translateY(-4px)}
.vision-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}.vision-card:hover::before{transform:scaleX(1)}
.vision-icon{margin-bottom:1.2rem;color:var(--bronze)}.vision-icon svg{width:2rem;height:2rem}
.vision-card h3{font-size:1rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:0.8rem;color:var(--bronze)}
.vision-card p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7}

/* Vehicle Cards */
.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.vehicle-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);overflow:hidden;transition:all 0.4s;text-decoration:none;color:var(--white);display:block}
.vehicle-card:hover{border-color:rgba(196,154,90,0.3);transform:translateY(-6px)}
.vehicle-img-wrapper{position:relative;overflow:hidden;height:220px}
.vehicle-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s}.vehicle-card:hover .vehicle-img{transform:scale(1.05)}
.vehicle-badge{position:absolute;top:1rem;left:1rem;background:var(--bronze);color:var(--black);font-size:0.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:0.4rem 0.8rem}
.vehicle-content{padding:2rem}
.vehicle-type{font-size:0.7rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--bronze);margin-bottom:0.5rem}
.vehicle-card h3{font-size:1.4rem;font-weight:800;margin-bottom:0.3rem}
.vehicle-brand{font-size:0.8rem;font-weight:400;color:var(--gray);margin-bottom:1.2rem}
.vehicle-card .vehicle-content p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7}
.vehicle-stats{display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(196,154,90,0.1)}
.v-stat .v-value{font-size:1.3rem;font-weight:800;color:var(--bronze)}.v-stat .v-label{font-size:0.65rem;font-weight:500;color:var(--gray);letter-spacing:1px;text-transform:uppercase}
.vehicle-cta{display:flex;align-items:center;gap:0.5rem;margin-top:1.5rem;font-size:0.8rem;font-weight:700;color:var(--bronze);letter-spacing:1px;text-transform:uppercase;transition:gap 0.3s}.vehicle-card:hover .vehicle-cta{gap:1rem}

/* Why EMC */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
.why-card{display:flex;gap:1.5rem;align-items:start;padding:2rem;background:rgba(196,154,90,0.03);border-left:2px solid var(--bronze);transition:all 0.3s}.why-card:hover{background:rgba(196,154,90,0.06)}
.why-icon{flex-shrink:0;color:var(--bronze)}.why-icon svg{width:1.5rem;height:1.5rem}
.why-card h3{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:1px}
.why-card p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7}

/* Mission */
.mission-section{padding:6rem 0;text-align:center;background:linear-gradient(135deg,rgba(196,154,90,0.06) 0%,transparent 50%)}
.mission-section h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;margin-bottom:2rem;letter-spacing:-1px}.mission-section h2 span{color:var(--bronze)}
.mission-section p{font-size:1.15rem;font-weight:300;color:var(--gray-light);line-height:2;max-width:700px;margin:0 auto}
.mission-section .signature{margin-top:2.5rem;font-size:0.85rem;font-weight:700;color:var(--bronze);letter-spacing:3px;text-transform:uppercase}

/* CTA override for homepage */
.home-cta{padding:6rem 4rem;text-align:center;background:var(--black-light)}
.home-cta h2{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;margin-bottom:1rem}.home-cta h2 span{color:var(--bronze)}
.home-cta p{font-size:1.05rem;font-weight:300;color:var(--gray-light);margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}
.cta-buttons{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}

@media(max-width:1024px){.hero{padding:7rem 2rem 3rem}.vision-grid{grid-template-columns:repeat(2,1fr)}.vehicle-grid,.why-grid{grid-template-columns:1fr}.hero-stats{gap:2rem;flex-wrap:wrap}.hero-actions{flex-direction:column;align-items:stretch}.mission-section,.home-cta{padding-left:2rem;padding-right:2rem}}
@media(max-width:600px){.vision-grid{grid-template-columns:1fr}}


/* ==========================================================================
   BESTUNE NAT E05 (from bestune-nat-e05.njk)
   ========================================================================== */

    .vehicle-hero { height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; position: relative; overflow: hidden; }
    .vehicle-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,10,10,0.7) 0%, rgba(10,10,10,0.5) 40%, rgba(10,10,10,0.8) 100%); }
    .hero-content { position: relative; z-index: 1; }
    .hero-brand { display: flex; gap: 1rem; align-items: center; justify-content: center; margin-bottom: 2rem; animation: fadeInUp 1s ease 0.2s both; }
    .brand-badge { padding: 0.4rem 1rem; border: 1px solid var(--bronze); color: var(--bronze); font-size: 0.7rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
    .brand-name { font-size: 0.8rem; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--gray); }
    .vehicle-hero h1 { font-weight: 900; font-size: clamp(4rem, 15vw, 10rem); letter-spacing: 8px; line-height: 0.9; margin-bottom: 1rem; text-transform: uppercase; animation: fadeInUp 1s ease 0.4s both; }
    .vehicle-hero h1 .model { color: var(--bronze); }
    .hero-tagline { font-size: 1.2rem; font-weight: 300; color: var(--gray); letter-spacing: 4px; text-transform: uppercase; margin-bottom: 3rem; animation: fadeInUp 1s ease 0.6s both; }
    .hero-features { display: flex; gap: 3rem; justify-content: center; animation: fadeInUp 1s ease 0.8s both; }
    .hero-feature { display: flex; align-items: center; gap: 1rem; }
    .hero-feature-icon { color: var(--bronze); }
    .hero-feature-icon svg { width: 28px; height: 28px; }
    .hero-feature-value { font-weight: 700; font-size: 1rem; }
    .hero-feature-label { font-size: 0.7rem; color: var(--gray); text-transform: uppercase; letter-spacing: 1px; }
    .scroll-indicator { position: absolute; bottom: 3rem; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 0.5rem; animation: bounce 2s infinite; z-index: 1; }
    .scroll-indicator span { font-size: 0.65rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); }
    .scroll-line { width: 1px; height: 40px; background: linear-gradient(to bottom, var(--bronze), transparent); }

    .v-section { padding: 8rem 0; position: relative; }

    .purpose { background: linear-gradient(135deg, var(--black) 0%, var(--black-light) 100%); }
    .purpose-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
    .purpose-content p { font-size: 1.1rem; line-height: 1.8; color: var(--gray); margin-bottom: 1.5rem; }
    .purpose-highlights { margin-top: 2rem; display: flex; flex-direction: column; gap: 0.8rem; }
    .highlight-item { display: flex; align-items: center; gap: 1rem; }
    .highlight-icon { color: var(--bronze); font-weight: 700; }
    .highlight-text { font-size: 0.9rem; color: var(--gray); }
    .purpose-image { height: 500px; background: linear-gradient(135deg, var(--black-light), var(--black)); display: flex; align-items: center; justify-content: center; border: 1px solid rgba(196,154,90,0.2); overflow: hidden; }
    .purpose-image img { width: 100%; height: 100%; object-fit: cover; }

    .door-feature { background: var(--black-light); }
    .door-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
    .door-visual { display: flex; align-items: center; justify-content: center; }
    .door-visual img { width: 100%; max-width: 500px; border-radius: 10px; object-fit: cover; }
    .door-content h3 { font-weight: 800; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: 2px; line-height: 1.1; margin-bottom: 1.5rem; text-transform: uppercase; }
    .door-content p { font-size: 1rem; line-height: 1.8; color: var(--gray); margin-bottom: 2rem; }
    .door-benefits { display: flex; flex-direction: column; gap: 0.8rem; }
    .benefit { display: flex; align-items: center; gap: 1rem; }
    .benefit-check { color: var(--bronze); font-weight: 700; }
    .benefit span:last-child { font-size: 0.9rem; color: var(--gray); }

    .space { background: var(--black); text-align: center; }
    .space-visual { display: flex; justify-content: center; gap: 6rem; margin: 4rem 0; }
    .space-stat { text-align: center; }
    .space-number { font-weight: 900; font-size: clamp(3rem, 10vw, 6rem); color: var(--bronze); line-height: 1; }
    .space-unit { font-size: 1rem; font-weight: 300; }
    .space-label { font-size: 0.75rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-top: 0.5rem; }
    .space-note { max-width: 600px; margin: 0 auto; font-size: 0.95rem; line-height: 1.8; color: var(--gray); }

    .features { background: var(--black-light); }
    .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 4rem; }
    .feature-card { padding: 2rem; background: var(--black); border: 1px solid rgba(196,154,90,0.1); transition: all 0.4s ease; }
    .feature-card:hover { border-color: rgba(196,154,90,0.3); transform: translateY(-5px); }
    .feature-icon { margin-bottom: 1rem; color: var(--bronze); }
    .feature-icon svg { width: 32px; height: 32px; }
    .feature-card h3 { font-weight: 700; font-size: 1rem; letter-spacing: 2px; margin-bottom: 0.5rem; text-transform: uppercase; }
    .feature-card p { font-size: 0.85rem; line-height: 1.6; color: var(--gray); }

    .range-charging { display: grid; grid-template-columns: 1fr 1fr; background: var(--black); }
    .range-box, .charging-box { padding: 6rem 4rem; text-align: center; }
    .range-box { background: linear-gradient(135deg, var(--black), var(--black-light)); }
    .charging-box { background: linear-gradient(135deg, var(--black-light), var(--black)); }
    .big-number { font-weight: 900; font-size: clamp(5rem, 15vw, 10rem); color: var(--bronze); line-height: 1; }
    .big-unit { font-size: 1rem; font-weight: 300; letter-spacing: 3px; text-transform: uppercase; color: var(--gray); margin-top: 0.5rem; }

    .specs { background: var(--black-light); }
    .specs-table { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem; margin-top: 4rem; }
    .spec-category h3 { font-weight: 700; font-size: 0.9rem; letter-spacing: 2px; color: var(--bronze); margin-bottom: 1.5rem; text-transform: uppercase; border-bottom: 2px solid var(--bronze); padding-bottom: 0.5rem; }
    .spec-line { display: flex; justify-content: space-between; padding: 0.8rem 0; border-bottom: 1px solid rgba(196,154,90,0.1); }
    .spec-key { font-size: 0.85rem; color: var(--gray); }
    .spec-val { font-weight: 600; font-size: 0.85rem; }

    .use-cases { background: var(--black); text-align: center; }
    .cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 4rem; }
    .case-card { padding: 3rem 2rem; border: 1px solid rgba(196,154,90,0.1); transition: all 0.4s ease; }
    .case-card:hover { border-color: rgba(196,154,90,0.3); transform: translateY(-5px); }
    .case-icon { margin-bottom: 1.5rem; color: var(--bronze); }
    .case-icon svg { width: 48px; height: 48px; }
    .case-card h3 { font-weight: 700; font-size: 1.1rem; letter-spacing: 2px; margin-bottom: 1rem; text-transform: uppercase; }
    .case-card p { font-size: 0.9rem; line-height: 1.7; color: var(--gray); }

    .cta-section { background: linear-gradient(135deg, #A47A3A 0%, var(--bronze) 50%, #D4AA6A 100%); text-align: center; padding: 6rem 4rem; }
    .cta-section h2 { font-weight: 800; font-size: clamp(2rem, 5vw, 4rem); letter-spacing: 3px; color: var(--black); margin-bottom: 1rem; text-transform: uppercase; }
    .cta-section p { color: var(--black); opacity: 0.8; margin-bottom: 2rem; font-size: 1.1rem; font-weight: 500; }
    .cta-btn { background: var(--bronze); color: var(--black); padding: 0.8rem 2rem; border: none; font-family: 'Barlow', sans-serif; font-weight: 700; font-size: 0.8rem; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: all 0.3s ease; text-decoration: none; display: inline-block; }
    .cta-btn:hover { background: var(--bronze-light); transform: translateY(-2px); }

    .cta-section .cta-btn { background: var(--black); color: var(--white); }

    @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes bounce { 0%,20%,50%,80%,100% { transform: translateX(-50%) translateY(0); } 40% { transform: translateX(-50%) translateY(-10px); } 60% { transform: translateX(-50%) translateY(-5px); } }

    @media (max-width: 1024px) {
        .v-section { padding: 4rem 0; }
        .purpose-grid, .door-grid { grid-template-columns: 1fr; gap: 3rem; }
        .features-grid, .cases-grid { grid-template-columns: 1fr; }
        .specs-table { grid-template-columns: 1fr; }
        .range-charging { grid-template-columns: 1fr; }
        .hero-features { flex-direction: column; gap: 1rem; }
        .space-visual { flex-wrap: wrap; gap: 2rem; }
    }


/* ==========================================================================
   NAMMI 01 (from nammi-01.njk)
   ========================================================================== */

    .hero-badge { display: inline-block; padding: 0.5rem 1.5rem; border: 1px solid var(--bronze); color: var(--bronze); font-size: 0.75rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 2rem; animation: fadeInUp 1s ease 0.2s both; }
    .vehicle-hero h1 { font-weight: 900; font-size: clamp(4rem, 15vw, 12rem); letter-spacing: 10px; line-height: 0.9; margin-bottom: 1rem; text-transform: uppercase; animation: fadeInUp 1s ease 0.4s both; }
    .vehicle-hero h1 span { color: var(--bronze); }
    .hero-stats { display: flex; gap: 4rem; margin-top: 2rem; animation: fadeInUp 1s ease 0.8s both; }
    .stat { text-align: center; }
    .stat-value { font-weight: 800; font-size: 3.5rem; color: var(--bronze); line-height: 1; }
    .stat-label { font-size: 0.7rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-top: 0.5rem; }

    .section-label { font-size: 0.7rem; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: var(--bronze); margin-bottom: 1rem; }
    /* Césure : voir le bloc « CORRECTIFS DE LANCEMENT » en fin de feuille. */
    .section-title { font-weight: 800; font-size: clamp(2.5rem, 6vw, 4.5rem); letter-spacing: 3px; line-height: 1.1; margin-bottom: 2rem; text-transform: uppercase; }

    .overview { background: linear-gradient(135deg, var(--black) 0%, var(--black-light) 100%); }
    .overview .content-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
    .overview-content p { font-size: 1.1rem; line-height: 1.8; color: var(--gray); margin-bottom: 2rem; font-weight: 400; }
    .overview-image { position: relative; height: 500px; background: linear-gradient(135deg, var(--black-light), var(--black)); display: flex; align-items: center; justify-content: center; border: 1px solid rgba(196,154,90,0.2); overflow: hidden; }
    .overview-image img { width: 100%; height: 100%; object-fit: cover; }

    .feature-card { padding: 2.5rem; background: var(--black); border: 1px solid rgba(196,154,90,0.1); transition: all 0.4s ease; position: relative; overflow: hidden; }
    .feature-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: var(--bronze); transform: scaleX(0); transform-origin: left; transition: transform 0.4s ease; }
    .feature-card:hover::before { transform: scaleX(1); }
    .feature-card:hover { border-color: rgba(196,154,90,0.3); transform: translateY(-5px); }
    .feature-icon { margin-bottom: 1.5rem; color: var(--bronze); }
    .feature-icon svg { width: 36px; height: 36px; }
    .feature-card h3 { font-weight: 700; font-size: 1.3rem; letter-spacing: 2px; margin-bottom: 1rem; text-transform: uppercase; }
    .feature-card p { font-size: 0.9rem; line-height: 1.7; color: var(--gray); font-weight: 400; }

    .specs-container { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; margin-top: 4rem; }
    .spec-group { border-left: 2px solid var(--bronze); padding-left: 2rem; }
    .spec-group h3 { font-weight: 700; font-size: 1.1rem; letter-spacing: 2px; color: var(--bronze); margin-bottom: 1.5rem; text-transform: uppercase; }
    .spec-item { display: flex; justify-content: space-between; padding: 1rem 0; border-bottom: 1px solid rgba(196,154,90,0.1); }
    .spec-item:last-child { border-bottom: none; }
    .spec-label { font-size: 0.85rem; color: var(--gray); font-weight: 400; }
    .spec-value { font-weight: 600; font-size: 0.9rem; }

    .range { background: linear-gradient(135deg, var(--black-light) 0%, var(--black) 100%); text-align: center; }
    .range-display { margin: 4rem 0; }
    .range-number { font-weight: 900; font-size: clamp(6rem, 20vw, 14rem); color: var(--bronze); line-height: 1; }
    .range-unit { font-size: 1.5rem; font-weight: 300; letter-spacing: 5px; text-transform: uppercase; color: var(--gray); }
    .range-note { font-size: 0.9rem; color: var(--gray); max-width: 500px; margin: 0 auto; font-weight: 400; line-height: 1.8; }

    .charging { background: var(--black); }
    .charging-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
    .charging-visual { display: flex; flex-direction: column; align-items: center; gap: 2rem; }
    .charge-circle { width: 250px; height: 250px; border-radius: 50%; border: 3px solid var(--bronze); display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; }
    .charge-circle::before { content: ''; position: absolute; width: 100%; height: 100%; border-radius: 50%; border: 3px solid transparent; border-top-color: var(--bronze-light); animation: spin 3s linear infinite; }
    .charge-time { font-weight: 800; font-size: 4rem; color: var(--bronze); }
    .charge-label { font-size: 0.8rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); }

    .cta-section { background: linear-gradient(135deg, var(--bronze-dark) 0%, var(--bronze) 50%, var(--bronze-light) 100%); text-align: center; padding: 6rem 4rem; }
    .cta-section h2 { font-weight: 800; font-size: clamp(2rem, 5vw, 4rem); letter-spacing: 3px; color: var(--black); margin-bottom: 1rem; text-transform: uppercase; }
    .cta-section p { color: var(--black); opacity: 0.8; margin-bottom: 2rem; font-size: 1.1rem; font-weight: 500; }

    .cta-section .cta-btn { background: var(--black); color: var(--white); }
    .cta-section .cta-btn:hover { background: var(--black-light); }

    @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

    @media (max-width: 1024px) {
        .overview .content-wrap, .charging-grid { grid-template-columns: 1fr; gap: 3rem; }
        .specs-container { grid-template-columns: 1fr; }
        .hero-stats { flex-wrap: wrap; justify-content: center; gap: 2rem; }
    }


/* ==========================================================================
   NAMMI 06 VIGO (from nammi-06-vigo.njk)
   ========================================================================== */

    .hero-sub { font-size: 1rem; font-weight: 300; color: var(--gray); letter-spacing: 6px; text-transform: uppercase; animation: fadeInUp 1s ease 0.3s both; }
    .hero-model { font-weight: 800; font-size: clamp(2rem, 8vw, 5rem); letter-spacing: 15px; color: var(--bronze); text-transform: uppercase; animation: fadeInUp 1s ease 0.5s both; }

    .adventure { background: linear-gradient(135deg, var(--black) 0%, var(--black-light) 100%); }
    .adventure-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
    .adventure-content p { font-size: 1.1rem; line-height: 1.8; color: var(--gray); margin-bottom: 2rem; font-weight: 400; }
    .adventure-image { height: 500px; background: linear-gradient(135deg, var(--black-light), var(--black)); display: flex; align-items: center; justify-content: center; border: 1px solid rgba(196,154,90,0.2); overflow: hidden; }
    .adventure-image img { width: 100%; height: 100%; object-fit: cover; }

    .power { background: var(--black-light); text-align: center; }
    .power-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3rem; margin-top: 4rem; }
    .power-stat { padding: 3rem; border: 1px solid rgba(196,154,90,0.2); transition: all 0.4s ease; }
    .power-stat:hover { border-color: var(--bronze); transform: translateY(-5px); }
    .power-value { font-weight: 900; font-size: 4rem; color: var(--bronze); line-height: 1; }
    .power-unit { font-size: 1.2rem; font-weight: 300; color: var(--gray); margin-top: 0.5rem; }
    .power-label { font-size: 0.75rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-top: 1rem; }

    .features-showcase { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; margin-top: 4rem; }
    .feature-large { grid-column: span 2; display: flex; justify-content: space-between; align-items: center; padding: 3rem; background: linear-gradient(135deg, rgba(196,154,90,0.1), transparent); border: 1px solid rgba(196,154,90,0.2); }
    .feature-large h3 { font-weight: 700; font-size: 1.5rem; letter-spacing: 2px; margin-bottom: 1rem; text-transform: uppercase; }
    .feature-large p { font-size: 1rem; line-height: 1.8; color: var(--gray); max-width: 600px; }
    .feature-visual { font-size: 4rem; }
    .feature-visual i { color: var(--bronze); width: 64px; height: 64px; }

    .charging-section { background: var(--black-light); text-align: center; }
    .charging-highlight { margin: 4rem 0 2rem; }
    .charging-time { font-weight: 900; font-size: clamp(8rem, 25vw, 16rem); color: var(--bronze); line-height: 1; }
    .charging-label { font-size: 1.2rem; font-weight: 300; letter-spacing: 3px; text-transform: uppercase; color: var(--gray); }
    .charging-note { max-width: 600px; margin: 0 auto; font-size: 0.95rem; line-height: 1.8; color: var(--gray); }

    .specs-wrapper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 4rem; }
    .spec-column h3 { font-weight: 700; font-size: 0.9rem; letter-spacing: 2px; color: var(--bronze); margin-bottom: 1.5rem; text-transform: uppercase; border-bottom: 2px solid var(--bronze); padding-bottom: 0.5rem; }
    .spec-row { display: flex; justify-content: space-between; padding: 0.8rem 0; border-bottom: 1px solid rgba(196,154,90,0.1); }
    .spec-name { font-size: 0.8rem; color: var(--gray); }
    .spec-data { font-weight: 600; font-size: 0.85rem; }

    .colors { background: var(--black-light); text-align: center; }
    .color-palette { display: flex; justify-content: center; gap: 3rem; margin-top: 4rem; flex-wrap: wrap; }
    .color-swatch { display: flex; flex-direction: column; align-items: center; gap: 1rem; cursor: pointer; transition: transform 0.3s ease; }
    .color-swatch:hover { transform: scale(1.1); }
    .swatch { width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(196,154,90,0.2); }
    .color-name { font-size: 0.7rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--gray); }

    @media (max-width: 1024px) {
        .adventure-grid { grid-template-columns: 1fr; gap: 3rem; }
        .power-grid { grid-template-columns: repeat(2, 1fr); }
        .features-showcase { grid-template-columns: 1fr; }
        .feature-large { grid-column: span 1; flex-direction: column; text-align: center; }
        .specs-wrapper { grid-template-columns: 1fr; }
    }


/* ==========================================================================
   SERVICES LANDING (from services.njk)
   ========================================================================== */

.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }

.service-link-card {
    position: relative;
    min-height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2.5rem;
    overflow: hidden;
    border: 1px solid rgba(196,154,90,0.15);
    text-decoration: none;
    color: #FFFFFF;
    transition: all 0.5s ease;
}

.service-link-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}

.service-link-card:hover::before { transform: scale(1.05); }

.service-link-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10,10,10,0.95) 0%, rgba(10,10,10,0.6) 40%, rgba(10,10,10,0.3) 100%);
    transition: background 0.5s ease;
}

.service-link-card:hover::after {
    background: linear-gradient(to top, rgba(10,10,10,0.95) 0%, rgba(10,10,10,0.5) 40%, rgba(10,10,10,0.2) 100%);
}

.service-link-card:hover { border-color: rgba(196,154,90,0.4); }

.service-link-content { position: relative; z-index: 1; }

.service-link-icon { margin-bottom: 1.2rem; color: var(--bronze); }
.service-link-icon svg { width: 2.5rem; height: 2.5rem; }

.service-link-card h3 {
    font-size: 1.4rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0.8rem;
    color: #FFFFFF;
}

.service-link-card p {
    font-size: 0.95rem;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.service-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--bronze);
    transition: gap 0.3s ease;
}

.service-link-card:hover .service-link-arrow { gap: 1.2rem; }

.service-link-arrow svg { width: 18px; height: 18px; stroke: var(--bronze); transition: transform 0.3s; }
.service-link-card:hover .service-link-arrow svg { transform: translateX(4px); }

/* Approach section */
.approach-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.approach-item { padding: 2rem; border-left: 2px solid var(--bronze); }
.approach-item h4 { font-size: 0.95rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--white); margin-bottom: 0.6rem; }
.approach-item p { font-size: 0.9rem; font-weight: 300; color: var(--gray-light); line-height: 1.7; }

@media(max-width:1024px) {
    .services-grid { grid-template-columns: 1fr; }
    .service-link-card { min-height: 380px; }
    .approach-grid { grid-template-columns: 1fr; }
}


/* ==========================================================================
   SERVICE CARROSSERIE (from service-carrosserie.njk)
   ========================================================================== */

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.service-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:2.5rem 2rem;transition:all 0.4s;position:relative;overflow:hidden}.service-card:hover{border-color:rgba(196,154,90,0.3);transform:translateY(-4px)}
.service-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(to right,var(--bronze),transparent);opacity:0;transition:opacity 0.4s}.service-card:hover::after{opacity:1}
.service-icon{margin-bottom:1.2rem;color:var(--bronze)}.service-icon svg{width:2rem;height:2rem}
.service-card h3{font-size:1.05rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:0.8rem;color:var(--white)}
.service-card p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
.why-item{display:flex;gap:1.2rem;align-items:start;padding:1.5rem;background:rgba(196,154,90,0.03);border-left:2px solid var(--bronze)}
.why-item .icon{flex-shrink:0;color:var(--bronze)}.why-item .icon svg{width:1.5rem;height:1.5rem}
.why-item h4{font-size:0.95rem;font-weight:700;color:var(--white);margin-bottom:0.4rem;text-transform:uppercase;letter-spacing:0.5px}
.why-item p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.6}
@media(max-width:1024px){.service-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}}


/* ==========================================================================
   SERVICE PNEUMATIQUES (from service-pneumatiques.njk)
   ========================================================================== */

/* Info block */
.info-block{background:rgba(196,154,90,0.04);border:1px solid rgba(196,154,90,0.15);padding:2rem 2.5rem}
.info-block h3{font-size:1rem;font-weight:700;color:var(--bronze);letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem}
.info-block p{font-size:0.95rem;font-weight:300;color:var(--gray-light);line-height:1.8}

/* Stats row */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.stat-box{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:1.5rem 1rem;text-align:center}
.stat-box .number{font-size:2rem;font-weight:800;color:var(--bronze);line-height:1;margin-bottom:0.5rem}
.stat-box .unit{font-size:0.7rem;font-weight:600;color:var(--gray);letter-spacing:2px;text-transform:uppercase}

/* Light theme: hero text pinning (dark overlay = text must stay light) */
[data-theme="light"] .page-hero h1{color:#FFFFFF}
[data-theme="light"] .page-hero h1 span{color:var(--bronze)}
[data-theme="light"] .page-hero .hero-label{color:#FFFFFF}
[data-theme="light"] .page-hero .hero-subtitle{color:rgba(255,255,255,0.7)}

@media(max-width:1024px){
    .stats-row{grid-template-columns:repeat(2,1fr)}
}


/* ==========================================================================
   SERVICE RECHARGE (from service-recharge.njk)
   ========================================================================== */

/* Solution cards */
.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.solution-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:2.5rem 2rem;transition:all 0.4s}.solution-card:hover{border-color:rgba(196,154,90,0.3);transform:translateY(-4px)}
.solution-badge{display:inline-block;padding:0.25rem 0.8rem;border:1px solid var(--bronze);color:var(--bronze);font-size:0.65rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:1rem}
.solution-card h3{font-size:1.2rem;font-weight:800;margin-bottom:0.3rem;text-transform:uppercase;letter-spacing:1px;color:var(--white)}
.solution-card .subtitle{font-size:0.8rem;color:var(--bronze);font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem}
.solution-card p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7;margin-bottom:1.5rem}
.solution-specs{border-top:1px solid rgba(196,154,90,0.1);padding-top:1rem}
.spec-line .label{font-size:0.8rem;font-weight:500;color:var(--gray)}
.spec-line .value{font-size:0.8rem;font-weight:600;color:var(--white)}

/* Install process */
.install-process{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;margin-top:3rem}
.install-step{text-align:center;position:relative}
.step-number{width:48px;height:48px;border:2px solid var(--bronze);color:var(--bronze);font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.install-step h4{font-size:0.9rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--white);margin-bottom:0.5rem}
.install-step p{font-size:0.85rem;font-weight:300;color:var(--gray-light);line-height:1.6}

/* Info banner */
.info-banner{display:flex;gap:1.5rem;align-items:flex-start;background:rgba(196,154,90,0.04);border:1px solid rgba(196,154,90,0.15);padding:2rem 2.5rem;margin-top:3rem}
.info-banner .icon{color:var(--bronze);flex-shrink:0}.info-banner .icon svg{width:2rem;height:2rem}
.info-banner h4{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:0.5rem}
.info-banner p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7}

/* FAQ grid */
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
.faq-item{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:2rem}
.faq-item h4{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:0.8rem;line-height:1.4}
.faq-item p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7}
/* FAQ accordion — native <details>/<summary>, no JS; matches .faq-item card look */
.faq-accordion{display:flex;flex-direction:column;gap:1rem;margin-top:3rem;max-width:900px}
.faq-accordion details{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:0 1.5rem}
.faq-accordion summary{cursor:pointer;list-style:none;padding:1.3rem 0;font-size:1rem;font-weight:700;color:var(--white);line-height:1.4;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-accordion summary::-webkit-details-marker{display:none}
.faq-accordion summary::after{content:'+';color:var(--bronze);font-weight:400;font-size:1.5rem;line-height:1;flex-shrink:0;transition:transform 0.3s}
.faq-accordion details[open] summary::after{transform:rotate(45deg)}
.faq-accordion details p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7;margin:0;padding:0 0 1.3rem}
/* Pending-review marker — [bracketed] copy awaiting EMC finalisation (see pendingMarkers filter) */
.pending-review{color:#BF8C4E;font-style:italic;font-size:0.88em;opacity:0.7;border-bottom:1px dotted rgba(191,140,78,0.5);padding-bottom:1px;cursor:help}

@media(max-width:1024px){
    .solution-grid{grid-template-columns:1fr}
    .install-process{grid-template-columns:repeat(2,1fr)}
    .faq-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
    .install-process{grid-template-columns:1fr}
    .info-banner{flex-direction:column}
}


/* ==========================================================================
   CE QUE NOUS FAISONS (from ce-que-nous-faisons.njk)
   ========================================================================== */

.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
.pillar-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:3rem 2.5rem;position:relative;overflow:hidden;transition:all 0.4s}.pillar-card:hover{border-color:rgba(196,154,90,0.3);transform:translateY(-4px)}
.pillar-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--bronze);opacity:0;transition:opacity 0.4s}.pillar-card:hover::before{opacity:1}
.pillar-number{font-size:3rem;font-weight:900;color:rgba(196,154,90,0.15);margin-bottom:1rem;line-height:1}
.pillar-card h3{font-size:1.2rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:1rem;color:var(--white)}.pillar-card h3 span{color:var(--bronze)}
.pillar-card p{font-size:0.95rem;font-weight:300;color:var(--gray-light);line-height:1.8}
.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.model-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:0;text-align:center;transition:all 0.4s;overflow:hidden}.model-card:hover{border-color:rgba(196,154,90,0.3)}
.model-img{width:100%;height:200px;object-fit:cover;display:block}
.model-content{padding:2rem}
.model-type{font-size:0.7rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--bronze);margin-bottom:0.5rem}
.model-card h3{font-size:1.4rem;font-weight:800;margin-bottom:0.5rem}
.model-brand{font-size:0.8rem;font-weight:400;color:var(--gray);margin-bottom:1.5rem}
.model-card p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7}
.model-stat{display:flex;justify-content:center;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(196,154,90,0.1)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.process-step{text-align:center;padding:2rem 1.5rem;position:relative}
.process-step::after{content:'→';position:absolute;right:-1rem;top:50%;transform:translateY(-50%);color:var(--bronze);font-size:1.5rem}.process-step:last-child::after{display:none}
.process-icon{width:60px;height:60px;border:2px solid var(--bronze);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;color:var(--bronze)}.process-icon svg{width:1.5rem;height:1.5rem}
.process-step h4{font-size:0.9rem;font-weight:700;color:var(--bronze);letter-spacing:1px;text-transform:uppercase;margin-bottom:0.5rem}
.process-step p{font-size:0.85rem;font-weight:300;color:var(--gray-light);line-height:1.6}
@media(max-width:1024px){.pillar-grid,.model-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,1fr)}.process-step::after{display:none}}


/* ==========================================================================
   NOS VALEURS (from nos-valeurs.njk)
   ========================================================================== */

.value-block{display:grid;grid-template-columns:120px 1fr;gap:3rem;padding:3.5rem 0;border-bottom:1px solid rgba(196,154,90,0.08);align-items:start}.value-block:last-child{border-bottom:none}
.value-number{font-size:4rem;font-weight:900;color:rgba(196,154,90,0.2);line-height:1;text-align:right}
.value-content h3{font-size:1.5rem;font-weight:800;margin-bottom:0.3rem;text-transform:uppercase;letter-spacing:1px}.value-content h3 span{color:var(--bronze)}
.value-tagline{font-size:1rem;font-weight:500;color:var(--bronze);font-style:italic;margin-bottom:1rem}
.value-content p{font-size:1rem;font-weight:300;color:var(--gray-light);line-height:1.8;max-width:700px}
.commitment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.commitment-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:2.5rem 2rem;text-align:center;transition:all 0.4s}.commitment-card:hover{border-color:rgba(196,154,90,0.3);transform:translateY(-4px)}
.commitment-icon{margin-bottom:1.2rem;color:var(--bronze)}.commitment-icon svg{width:2.5rem;height:2.5rem}
.commitment-card h4{font-size:1rem;font-weight:700;color:var(--white);letter-spacing:1px;text-transform:uppercase;margin-bottom:0.8rem}
.commitment-card p{font-size:0.9rem;font-weight:300;color:var(--gray-light);line-height:1.7}
.manifesto{text-align:center;padding:5rem 0;background:linear-gradient(135deg,rgba(196,154,90,0.06) 0%,transparent 50%)}
.manifesto h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;margin-bottom:2rem;letter-spacing:-1px}.manifesto h2 span{color:var(--bronze)}
.manifesto p{font-size:1.15rem;font-weight:300;color:var(--gray-light);line-height:2;max-width:700px;margin:0 auto}
.manifesto .signature{margin-top:2.5rem;font-size:0.85rem;font-weight:700;color:var(--bronze);letter-spacing:3px;text-transform:uppercase}
@media(max-width:1024px){.commitment-grid{grid-template-columns:1fr}.value-block{grid-template-columns:1fr;gap:1rem}.value-number{text-align:left;font-size:3rem}.manifesto{padding:3rem 0}}


/* ==========================================================================
   QUI SOMMES-NOUS (from qui-sommes-nous.njk)
   ========================================================================== */

.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.highlight-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:2.5rem 2rem;transition:all 0.4s}.highlight-card:hover{border-color:rgba(196,154,90,0.3);transform:translateY(-4px)}
.highlight-icon{margin-bottom:1.2rem;color:var(--bronze)}.highlight-icon svg{width:2rem;height:2rem}
.highlight-card h3{font-size:1.1rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:0.8rem;color:var(--bronze)}
.highlight-card p{font-size:0.95rem;font-weight:300;color:var(--gray-light);line-height:1.7}
.timeline{position:relative;padding-left:3rem;margin-top:2rem}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--bronze),transparent)}
.timeline-item{position:relative;padding-bottom:2.5rem}
.timeline-item::before{content:'';position:absolute;left:-3.35rem;top:0.3rem;width:10px;height:10px;background:var(--bronze);border-radius:50%}
.timeline-item h4{font-size:1rem;font-weight:700;color:var(--bronze);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:1px}
.timeline-item p{font-size:0.95rem;font-weight:300;color:var(--gray-light);line-height:1.7}
@media(max-width:1024px){.highlight-grid{grid-template-columns:1fr}}


/* ==========================================================================
   CONTACT (from contact.njk)
   ========================================================================== */

    .contact-hero { padding: 10rem 4rem 4rem; position: relative; min-height: 60vh; display: flex; flex-direction: column; justify-content: center; }
    .contact-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,10,10,0.7) 0%, rgba(10,10,10,0.5) 40%, rgba(10,10,10,0.8) 100%); }
    .contact-hero h1 { font-size: clamp(2.5rem,5vw,4rem); font-weight: 800; letter-spacing: -1px; margin-bottom: 1rem; position: relative; z-index: 1; }
    .contact-hero h1 span { color: var(--bronze); }
    .contact-hero p { font-size: 1.1rem; font-weight: 300; color: var(--gray-light); line-height: 1.8; max-width: 600px; position: relative; z-index: 1; }
    .contact-hero .hero-label { position: relative; z-index: 1; }

    .contact-grid { padding: 3rem 0 6rem; }
    .contact-grid-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }

    /* Info column */
    .contact-info { padding-top: 1rem; }
    .contact-info-block { margin-bottom: 2.5rem; }
    .contact-info-block h3 { font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--bronze); margin-bottom: 0.8rem; display: flex; align-items: center; gap: 0.8rem; }
    .contact-info-block h3::before { content: ''; width: 20px; height: 1px; background: var(--bronze); }
    .contact-info-block p, .contact-info-block a { font-size: 1rem; font-weight: 400; color: var(--gray-light); line-height: 1.8; text-decoration: none; display: block; transition: color 0.3s; }
    .contact-info-block a:hover { color: var(--bronze); }

    .contact-hours { border: 1px solid rgba(196,154,90,0.15); padding: 1.5rem 2rem; background: rgba(196,154,90,0.03); }
    .contact-hours h3 { font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--bronze); margin-bottom: 1rem; }
    .contact-hours-row { display: flex; justify-content: space-between; padding: 0.4rem 0; font-size: 0.9rem; }
    .contact-hours-row span:first-child { color: var(--gray-light); }
    .contact-hours-row span:last-child { color: var(--white); font-weight: 500; }
    .contact-hours-row.closed span:last-child { color: var(--gray); }

    /* Map section */
    .contact-map { margin-top: 2rem; border: 1px solid rgba(196,154,90,0.15); height: 220px; display: flex; align-items: center; justify-content: center; background: var(--black-medium); }
    .contact-map iframe { width: 100%; height: 100%; border: none; filter: grayscale(1) invert(1) contrast(0.9) brightness(0.7); }

    @media(max-width:1024px) {
        .contact-hero { padding: 8rem 2rem 3rem; }
        .contact-grid-inner { grid-template-columns: 1fr; gap: 3rem; }
    }


/* ==========================================================================
   NEW IA ADDITIONS — avril 2026
   /vehicules/ gallery, shared vehicle detail layout, multi-type modal,
   new 5-column footer, consolidated /a-propos/, new /contact/ CTA cards.
   ========================================================================== */

/* ─── Layout helpers ─────────────────────────────────────────────── */
.container{max-width:1200px;margin:0 auto;padding:0 4rem}
@media(max-width:1024px){.container{padding:0 2rem}}

/* ─── Typography helpers ─────────────────────────────────────────── */
.kicker{font-size:0.8rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--bronze);margin-bottom:1.2rem;display:flex;align-items:center;gap:1rem}
.kicker::before{content:'';width:30px;height:1px;background:var(--bronze)}
.h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;line-height:1.05;letter-spacing:-1.5px;margin-bottom:1.5rem}
.h1 em{font-style:normal;color:var(--bronze);font-weight:900}
.h2{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;letter-spacing:-0.5px;margin-bottom:1.5rem;line-height:1.15}
.h2 em{font-style:normal;color:var(--bronze)}
.h2--bronze{color:var(--bronze)}
.h3{font-size:1.15rem;font-weight:700;letter-spacing:0.5px;margin-bottom:0.8rem}
.h3--bronze{color:var(--bronze);font-size:0.8rem;letter-spacing:3px;text-transform:uppercase;margin:1.8rem 0 0.8rem;padding-bottom:0.5rem;border-bottom:1px solid rgba(196,154,90,0.2)}
.lede{font-size:1.15rem;font-weight:300;color:var(--gray-light);line-height:1.7;margin-bottom:1.5rem;max-width:65ch}
.num{font-weight:800;color:var(--bronze)}
.unit{font-size:0.7em;font-weight:500;color:var(--gray);margin-left:0.15em;letter-spacing:0.05em}

/* ─── Buttons (new system) ───────────────────────────────────────── */
.btn{display:inline-block;padding:1rem 2.2rem;font-family:'Barlow',sans-serif;font-weight:700;font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all 0.3s;background:none;line-height:1}
.btn--primary{background:var(--bronze);color:var(--black);border-color:var(--bronze)}
.btn--primary:hover{background:var(--bronze-light);border-color:var(--bronze-light)}
[data-theme="light"] .btn--primary{color:#FFFFFF}
.btn--ghost{color:var(--white);border:1px solid rgba(196,154,90,0.4)}
.btn--ghost:hover{border-color:var(--bronze);color:var(--bronze)}
.btn--link{color:var(--bronze);border:none;padding:1rem 0.5rem;text-decoration:none}
.btn--link:hover{color:var(--bronze-light)}
.btn--sm{padding:0.6rem 1.4rem;font-size:0.75rem}

/* ─── Gallery intro section ──────────────────────────────────────── */
.veh-gallery-intro{padding:10rem 0 4rem;position:relative;overflow:hidden}
.veh-gallery-intro .side-accent{left:0}
.veh-gallery-intro .container{max-width:900px}

/* ─── Gallery filter bar ─────────────────────────────────────────── */
.veh-gallery-filters{padding:2rem 0;border-top:1px solid rgba(196,154,90,0.1);border-bottom:1px solid rgba(196,154,90,0.1);background:var(--black-light)}
.veh-gallery-filters .container{display:flex;flex-wrap:wrap;gap:2.5rem;align-items:center}
.filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem}
.filter-group__label{font-size:0.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gray);margin-right:0.4rem}
.filter-chip{font-family:'Barlow',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:0.5rem 1.1rem;background:transparent;color:var(--gray-light);border:1px solid rgba(196,154,90,0.25);border-radius:999px;cursor:pointer;transition:all 0.3s}
.filter-chip:hover{border-color:var(--bronze);color:var(--bronze)}
.filter-chip.is-active{background:var(--bronze);color:var(--black);border-color:var(--bronze)}
[data-theme="light"] .filter-chip.is-active{color:#FFFFFF}
@media(max-width:1024px){.veh-gallery-filters .container{gap:1.2rem}.filter-group{gap:0.4rem}.filter-chip{padding:0.4rem 0.9rem;font-size:0.72rem}}

/* ─── Gallery card grid ──────────────────────────────────────────── */
.veh-gallery{padding:4rem 0}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
@media(max-width:1100px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.card-grid{grid-template-columns:1fr}}

.veh-card{display:block;background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);text-decoration:none;color:var(--white);transition:all 0.4s;position:relative;overflow:hidden}
.veh-card:hover{transform:translateY(-6px);border-color:rgba(196,154,90,0.35)}
.veh-card[hidden]{display:none}
.veh-card__media{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--black-light)}
.veh-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s}
.veh-card:hover .veh-card__media img{transform:scale(1.04)}
.veh-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--gray);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:1.1rem}
.veh-card__body{padding:1.8rem 1.8rem 2rem}
.veh-card__meta{display:flex;align-items:center;gap:0.5rem;font-size:0.7rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--bronze);margin-bottom:0.6rem}
.veh-card__sep{opacity:0.5}
.veh-card__segment{color:var(--gray-light)}
.veh-card__name{font-size:1.3rem;font-weight:800;letter-spacing:-0.3px;margin-bottom:0.3rem;line-height:1.1}
.veh-card__name em{font-style:normal;color:var(--bronze);font-weight:700}
.veh-card__tagline{font-size:0.9rem;color:var(--gray-light);font-style:italic;margin-bottom:1.2rem;line-height:1.5}
.veh-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.2rem 0;border-top:1px solid rgba(196,154,90,0.12);border-bottom:1px solid rgba(196,154,90,0.12);margin-bottom:1rem}
.veh-card__stats>div{text-align:center}
.veh-card__stats dt{font-size:0.62rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);margin-bottom:0.3rem}
.veh-card__stats dd{font-size:1.2rem;font-weight:800;color:var(--bronze);line-height:1}
.veh-card__link{font-size:0.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--bronze)}
.veh-card__link span{display:inline-block;transition:transform 0.3s}
.veh-card:hover .veh-card__link span{transform:translateX(4px)}

.badge{position:absolute;top:1rem;right:1rem;padding:0.4rem 0.8rem;font-size:0.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:var(--bronze);color:var(--black);border-radius:999px}
.badge--phev{background:var(--bronze);color:var(--black)}
[data-theme="light"] .badge--phev{color:#FFFFFF}

.veh-gallery__empty{text-align:center;padding:3rem 0;color:var(--gray);font-size:1rem}

/* ─── Gallery CTA band ───────────────────────────────────────────── */
.veh-gallery-cta{padding:5rem 0 6rem;text-align:center;background:var(--black-light)}
.veh-gallery-cta__buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}

/* ═══════════════════════════════════════════════════════════════════
   VEHICLE DETAIL LAYOUT (vehicule.njk)
   ═══════════════════════════════════════════════════════════════════ */

.veh-page{overflow:hidden}

/* HERO */
.veh-hero{position:relative;min-height:85vh;display:flex;flex-direction:column;justify-content:flex-end;padding:10rem 0 3rem;overflow:hidden}
.veh-hero__media{position:absolute;inset:0;z-index:0}
.veh-hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.veh-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,0.95) 0%,rgba(10,10,10,0.4) 60%,rgba(10,10,10,0.15) 100%);z-index:1}
.veh-hero>*:not(.veh-hero__media){position:relative;z-index:2}
.veh-hero .side-accent{position:absolute;top:8rem;bottom:3rem;left:0;width:11px;z-index:3}
.veh-hero__content{max-width:900px}
.veh-name{margin-bottom:0.5rem;line-height:0.95}
.veh-name__l1{display:block;font-size:clamp(3rem,7vw,6rem);font-weight:900;letter-spacing:-2px;color:var(--white)}
.veh-name__l2{display:block;font-size:clamp(3rem,7vw,6rem);font-weight:900;color:var(--bronze);letter-spacing:-2px}
.veh-subname{font-size:0.9rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--bronze);margin-bottom:1rem}
.veh-tagline{font-size:1.2rem;font-weight:300;color:var(--gray-light);font-style:italic;margin-bottom:2rem;max-width:600px;line-height:1.6}
.veh-hero__cta{display:flex;gap:1rem;flex-wrap:wrap}
.veh-hero__stats{display:flex;gap:2.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(196,154,90,0.2);flex-wrap:wrap}
.stat-tile{display:flex;align-items:baseline;gap:0.4rem}
.stat-tile__val{font-size:2.5rem;font-weight:900;color:var(--bronze);line-height:1}
.stat-tile__meta{display:flex;flex-direction:column}
.stat-tile__unit{font-size:0.75rem;font-weight:700;color:var(--gray-light);letter-spacing:1px}
.stat-tile__label{font-size:0.65rem;font-weight:600;color:var(--gray);letter-spacing:1.5px;text-transform:uppercase}

[data-theme="light"] .veh-hero .veh-name__l1,
[data-theme="light"] .veh-hero .veh-tagline{color:#FFFFFF}
[data-theme="light"] .veh-hero::after{background:linear-gradient(to top,rgba(10,10,10,0.95) 0%,rgba(10,10,10,0.4) 60%,rgba(10,10,10,0.15) 100%)}

/* FLAP / INTRO */
.veh-intro{padding:6rem 0;background:var(--black)}
.veh-intro__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:start}
.veh-intro__features{list-style:none;padding:0;margin:0}
.veh-intro__features li{padding:1rem 0;border-bottom:1px solid rgba(196,154,90,0.15);font-size:0.95rem;line-height:1.6;color:var(--gray-light)}
.veh-intro__features li:last-child{border-bottom:none}
.veh-intro__features strong{color:var(--white);font-weight:700;display:inline}

/* LIFESTYLE */
.veh-lifestyle{padding:6rem 0;background:var(--black-light)}
.veh-lifestyle__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.veh-lifestyle__media{aspect-ratio:4/3;background:var(--black-medium);border:1px solid rgba(196,154,90,0.1)}
.veh-lifestyle__media img{width:100%;height:100%;object-fit:cover;display:block}

/* Cost comparison component */
.cost-compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;margin-bottom:0.8rem}
.cost-compare__tile{padding:1.5rem;border:1px solid rgba(196,154,90,0.2);background:rgba(196,154,90,0.04)}
.cost-compare__tile--elec{background:rgba(196,154,90,0.08);border-color:var(--bronze)}
.cost-compare__label{font-size:0.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);margin-bottom:0.5rem}
.cost-compare__val{font-size:1.6rem;font-weight:900;color:var(--bronze);line-height:1.1}
.cost-compare__val--strike{color:var(--gray);text-decoration:line-through;text-decoration-color:rgba(196,154,90,0.5);font-weight:700}
.cost-compare__base{font-size:0.8rem;color:var(--gray);font-style:italic}

/* EXTERIOR / INTERIOR / TECH (shared .veh-section__grid) */
.veh-exterior,.veh-interior,.veh-tech{padding:6rem 0}
.veh-interior{background:var(--black-light)}
.veh-section__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.veh-section__grid--reverse .veh-section__copy{order:2}
.veh-section__media{aspect-ratio:4/3;background:var(--black-medium)}
.veh-section__media img{width:100%;height:100%;object-fit:cover;display:block}
.feature-list{list-style:none;padding:0;margin:1.5rem 0}
.feature-list li{padding:0.8rem 0;border-bottom:1px solid rgba(196,154,90,0.1);font-size:0.95rem;color:var(--gray-light);line-height:1.5}
.feature-list li:last-child{border-bottom:none}
.feature-list strong{color:var(--white);font-weight:700}
.couleurs-note{margin-top:1.5rem;padding:1rem 1.2rem;background:rgba(196,154,90,0.06);border-left:2px solid var(--bronze);font-size:0.9rem;color:var(--gray-light)}
.couleurs-note em{color:var(--bronze);font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:1.5px;font-size:0.75rem}

/* PERFORMANCE */
.veh-performance{padding:6rem 0;background:var(--black);text-align:center}
.perf-hero{margin:3rem 0}
.perf-hero__val{font-size:clamp(5rem,12vw,9rem);font-weight:900;color:var(--bronze);line-height:1;letter-spacing:-3px}
.perf-hero__label{font-size:1rem;font-weight:500;color:var(--gray-light);margin-top:0.5rem;letter-spacing:1px}
.perf-hero__sub{font-size:0.75rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gray);margin-top:0.5rem}
.perf-body{max-width:720px;margin:2rem auto;color:var(--gray-light);font-size:1rem;line-height:1.8}

.veh-performance .stat-rings{display:flex;gap:3rem;justify-content:center;flex-wrap:wrap;margin:3rem 0}
.stat-ring__val{font-size:1.4rem;font-weight:900;color:var(--bronze);line-height:1}
.stat-ring__val .num{font-weight:900}
.stat-ring__val .unit{font-size:0.65em;color:var(--gray-light)}

.batt-options{margin-top:3rem;padding-top:3rem;border-top:1px solid rgba(196,154,90,0.15)}
.batt-options__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;max-width:600px;margin:1rem auto 0}
.batt-option{padding:1.5rem;border:1px solid rgba(196,154,90,0.2);background:rgba(196,154,90,0.04)}
.batt-option__cap{font-size:2rem;font-weight:900;color:var(--bronze);line-height:1}
.batt-option__range{font-size:0.85rem;color:var(--gray-light);margin-top:0.4rem}

/* FLEX */
.veh-flex{padding:6rem 0;background:var(--black-light)}
.flex-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;margin-top:3rem}
.flex-feature{padding:2rem;background:var(--black-medium);border:1px solid rgba(196,154,90,0.12);transition:all 0.3s}
.flex-feature:hover{border-color:rgba(196,154,90,0.3);transform:translateY(-4px)}
.flex-feature .h3{color:var(--bronze);margin-bottom:0.8rem}
.flex-feature p{font-size:0.92rem;color:var(--gray-light);line-height:1.6}

/* PHEV BLOCK */
.veh-phev{padding:6rem 0;background:var(--black)}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:3rem}
.spec-grid div{padding:1.2rem 0;border-bottom:1px solid rgba(196,154,90,0.1)}
.spec-grid dt{font-size:0.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--bronze);margin-bottom:0.3rem}
.spec-grid dd{font-size:1rem;color:var(--white);font-weight:500}

/* SPECS TABLE */
.veh-specs{padding:6rem 0;background:var(--black-light)}
.spec-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;margin-top:2rem}
@media(min-width:1200px){.spec-cols{grid-template-columns:repeat(4,1fr)}}
.spec-col{background:var(--black-medium);padding:2rem 1.8rem;border:1px solid rgba(196,154,90,0.1)}
.spec-list{list-style:none;padding:0;margin:0}
.spec-list div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:0.7rem 0;border-bottom:1px solid rgba(196,154,90,0.08);font-size:0.88rem}
.spec-list div:last-child{border-bottom:none}
.spec-list dt{color:var(--gray);font-weight:500;flex-shrink:0}
.spec-list dd{color:var(--white);font-weight:600;text-align:right}
.spec-notes{margin-top:2rem;padding:1.2rem 1.5rem;background:rgba(196,154,90,0.04);border-left:2px solid var(--bronze);font-size:0.85rem;color:var(--gray-light);font-style:italic}
.spec-notes p{margin:0.3rem 0}

/* ORION */
.veh-orion{padding:6rem 0;background:var(--black);position:relative}
.veh-orion .side-accent{left:0}
.connecteur-note{margin-top:1.5rem;padding:0.8rem 1.2rem;background:rgba(196,154,90,0.06);border-left:2px solid var(--bronze);font-size:0.85rem;color:var(--gray-light)}

/* FINAL CTA */
.veh-cta{padding:6rem 0;background:linear-gradient(to right,var(--black) 0%,var(--black-light) 100%);text-align:center}
.veh-cta .container{max-width:800px}
.veh-cta p{font-size:1.1rem;color:var(--gray-light);margin:1.5rem 0 2.5rem;line-height:1.7}
.veh-cta__buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* NOT FOUND */
.veh-notfound{padding:12rem 0 6rem;text-align:center}
.veh-notfound h1{font-size:2.5rem;margin-bottom:1rem}
.veh-notfound a{color:var(--bronze)}

/* Section-level e-divider spacing */
.veh-exterior>.e-divider,.veh-performance>.e-divider,.veh-flex>.e-divider,.veh-specs>.e-divider{padding:0 0 3rem}
.e-divider--bottom{padding-top:3rem}

/* Responsive — all sections */
@media(max-width:1024px){
    .veh-hero{padding:8rem 0 2rem;min-height:70vh}
    .veh-intro__grid,.veh-lifestyle__grid,.veh-section__grid,.veh-section__grid--reverse{grid-template-columns:1fr;gap:2.5rem}
    .veh-section__grid--reverse .veh-section__copy{order:initial}
    .veh-hero__stats{gap:1.5rem}
    .stat-tile__val{font-size:1.8rem}
    .spec-cols{grid-template-columns:1fr}
    .cost-compare{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════════════
   MODAL (lead form — multi-type)
   ═══════════════════════════════════════════════════════════════════ */

.modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem}
.modal[hidden]{display:none}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.75);backdrop-filter:blur(4px);cursor:pointer}
[data-theme="light"] .modal__backdrop{background:rgba(0,0,0,0.55)}
.modal__dialog{position:relative;z-index:1;background:var(--black-light);border:1px solid rgba(196,154,90,0.25);max-width:720px;width:100%;max-height:90vh;overflow-y:auto;padding:3rem 3rem 2.5rem;box-shadow:0 30px 80px rgba(0,0,0,0.5)}
[data-theme="light"] .modal__dialog{background:#FFFFFF;box-shadow:0 30px 80px rgba(0,0,0,0.18)}
.modal__dialog .side-accent{position:absolute;top:0;bottom:0;left:0;width:11px}
.modal__close{position:absolute;top:1rem;right:1rem;background:transparent;border:1px solid rgba(196,154,90,0.25);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-light);transition:all 0.3s}
.modal__close:hover{border-color:var(--bronze);color:var(--bronze)}
.modal__header{margin-bottom:1.5rem}
.modal__header .h2{margin-bottom:0.5rem}
.modal__header .lede{font-size:0.95rem;margin-bottom:0}

.modal__tabs{display:flex;gap:0.4rem;margin:1.5rem 0 2rem;flex-wrap:wrap;border-bottom:1px solid rgba(196,154,90,0.15);padding-bottom:0}
.modal__tabs button{background:transparent;border:none;font-family:'Barlow',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);padding:0.7rem 1.1rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.3s}
.modal__tabs button:hover{color:var(--bronze)}
.modal__tabs button[aria-selected="true"]{color:var(--bronze);border-bottom-color:var(--bronze)}

.modal__form{display:flex;flex-direction:column;gap:1.1rem}
.modal__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:680px){.modal__row{grid-template-columns:1fr}}
.modal__section{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}
.modal__section[hidden]{display:none}
.field-legend{font-size:0.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--bronze);padding:0;margin-bottom:0.8rem}
.modal__footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(196,154,90,0.15)}
.modal__status{min-height:1.5em;font-size:0.88rem;color:var(--bronze);margin-bottom:1rem}
.modal__actions{display:flex;gap:0.8rem;justify-content:flex-end;flex-wrap:wrap}

.field{display:flex;flex-direction:column;gap:0.4rem}
.field label{font-size:0.75rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray-light)}
.field input,.field select,.field textarea{font-family:'Barlow',sans-serif;font-size:0.95rem;font-weight:400;padding:0.75rem 0.9rem;background:var(--black-medium);color:var(--white);border:1px solid rgba(196,154,90,0.2);transition:border-color 0.3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze)}
[data-theme="light"] .field input,[data-theme="light"] .field select,[data-theme="light"] .field textarea{background:#FAFAF7;color:#0D0D0D;border-color:rgba(196,154,90,0.35)}
.field__hint{font-size:0.78rem;color:var(--gray);font-style:italic;margin-top:0.1rem}
.field--check label{font-size:0.85rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--gray-light);display:flex;align-items:flex-start;gap:0.6rem;cursor:pointer}
.field--check input[type="checkbox"]{margin-top:0.2rem;accent-color:var(--bronze)}
.req{color:var(--bronze);font-weight:900}

/* ═══════════════════════════════════════════════════════════════════
   SITE FOOTER (5-column new layout)
   ═══════════════════════════════════════════════════════════════════ */

.site-footer{background:var(--black-light);padding:4rem 0 0;margin-top:4rem;color:var(--gray-light)}
[data-theme="light"] .site-footer{background:#F5F5F0}
.site-footer .footer-e-strip{padding:0 4rem 2rem}
.site-footer__inner{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:2.5rem;padding-bottom:3rem}
.site-footer__brand .site-footer__logo{height:56px;margin-bottom:1rem}
.site-footer__tagline{font-size:0.92rem;color:var(--gray-light);line-height:1.6;margin-bottom:1.2rem;max-width:320px}
.site-footer__address{font-style:normal;font-size:0.88rem;line-height:1.8;color:var(--gray-light)}
.site-footer__address a{color:var(--gray-light);text-decoration:none;transition:color 0.3s}
.site-footer__address a:hover{color:var(--bronze)}
.site-footer__heading{font-size:0.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--bronze);margin-bottom:1.2rem}
.site-footer__col ul{list-style:none;padding:0;margin:0}
.site-footer__col li{margin-bottom:0.65rem}
.site-footer__col a,.footer-link-btn{font-size:0.88rem;color:var(--gray-light);text-decoration:none;transition:color 0.3s;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-align:left}
.site-footer__col a:hover,.footer-link-btn:hover{color:var(--bronze)}
.site-footer__social li a{font-size:0.88rem}
.site-footer__signature{border-top:1px solid rgba(196,154,90,0.15);padding:1.5rem 0;background:rgba(196,154,90,0.04)}
[data-theme="light"] .site-footer__signature{background:rgba(196,154,90,0.08)}
.site-footer__signature-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.site-footer__emc{font-size:1.4rem;font-weight:900;letter-spacing:3px;color:var(--bronze)}
.site-footer__copy{font-size:0.78rem;color:var(--gray)}

@media(max-width:1024px){
    .site-footer__inner{grid-template-columns:1fr 1fr;gap:2rem}
    .site-footer__brand{grid-column:1 / -1}
    .site-footer .footer-e-strip{padding:0 2rem 2rem}
}
@media(max-width:600px){
    .site-footer__inner{grid-template-columns:1fr}
    .site-footer__brand{grid-column:auto}
}

/* ═══════════════════════════════════════════════════════════════════
   A-PROPOS anchor nav
   ═══════════════════════════════════════════════════════════════════ */

.apropos-anchors{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(196,154,90,0.15)}
.apropos-anchors a{font-size:0.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--bronze);text-decoration:none;border:1px solid rgba(196,154,90,0.3);padding:0.5rem 1rem;border-radius:999px;transition:all 0.3s}
.apropos-anchors a:hover{background:var(--bronze);color:var(--black);border-color:var(--bronze)}
[data-theme="light"] .apropos-anchors a:hover{color:#FFFFFF}

/* ═══════════════════════════════════════════════════════════════════
   CONTACT CTA CARDS
   ═══════════════════════════════════════════════════════════════════ */

.contact-ctas{display:flex;flex-direction:column}
.contact-cta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:2rem}
.contact-cta-card{background:var(--black-medium);border:1px solid rgba(196,154,90,0.1);padding:1.8rem;text-align:left;cursor:pointer;font-family:inherit;color:inherit;transition:all 0.3s;display:flex;flex-direction:column;gap:0.6rem}
.contact-cta-card:hover{border-color:var(--bronze);transform:translateY(-3px)}
.contact-cta-card--wide{grid-column:1 / -1}
.contact-cta-icon{color:var(--bronze);margin-bottom:0.4rem}
.contact-cta-icon svg{width:1.8rem;height:1.8rem}
.contact-cta-card h3{font-size:1.05rem;font-weight:700;color:var(--white);margin:0}
.contact-cta-card p{font-size:0.88rem;color:var(--gray-light);line-height:1.5;margin:0}
@media(max-width:680px){.contact-cta-grid{grid-template-columns:1fr}.contact-cta-card--wide{grid-column:auto}}

/* ═══════════════════════════════════════════════════════════════════
   HOMEPAGE — "voir les 6 modèles" teaser link
   ═══════════════════════════════════════════════════════════════════ */
.vehicle-grid-more{text-align:center;margin-top:2rem}
.vehicle-grid-more .btn-secondary{display:inline-block}

/* ═══════════════════════════════════════════════════════════════════
   CORRECTIFS DE LANCEMENT · 20 sept. 2026
   Source : _launch/css/launch-patch.css, section 2.
   ═══════════════════════════════════════════════════════════════════ */

/* Débordement mobile 375 px (« Plus Qu'un Concessionnaire, », homepage.whyEmc.title,
   rendu par index.njk dans .section-title).
   Nécessite <html lang="fr"> pour que le navigateur sache césurer — présent base.njk L7.
   NE PAS masquer avec overflow-x:hidden. */
h1, h2, h3,
.h1, .h2, .h3,
.section-title, .hero-title,
.veh-name, .veh-tagline, .veh-card__name {
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}

/* Astérisque « donnée non validée » — source : _launch/css/launch-patch.css, section 1.
   Pastille jaune vif + astérisque noir : lisible sur sections claires ET sombres
   (un glyphe jaune seul disparaît sur fond blanc en thème clair).
   Posée par _build/unverified-marker.js sur toute valeur portant le préfixe
   « non validé » (trois astérisques) dans src/_data. */
.uv {
  display: inline-block;
  min-width: 1.15em;
  height: 1.15em;
  margin-left: 0.2em;
  padding: 0.12em 0 0;
  border-radius: 50%;
  background: #FFD60A;
  color: #111;
  font: 700 0.7em/1 "Barlow", system-ui, sans-serif;
  text-align: center;
  vertical-align: super;
  text-decoration: none;
  cursor: help;
  box-sizing: border-box;
}
/* dans les gros chiffres (hero, stat rings) la pastille ne doit pas grossir */
.stat-tile__val .uv, .perf-hero__val .uv, .stat-ring__val .uv,
.batt-option__cap .uv, .cost-compare__val .uv,
.v-value .uv, .stat-value .uv, .veh-card__stats .num .uv { font-size: 14px; vertical-align: top; }

.uv-note {
  max-width: 72ch;
  margin: 0 auto 1.25rem;
  padding: 0 1rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  opacity: 0.85;
}
.uv-note .uv { margin: 0 0.35em 0 0; vertical-align: middle; font-size: 0.75em; }
