/* ═══════════════════════════════════════
   KAIZOKU IMPORT — Feuille de style complète
   ═══════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --bg:#14171C;--bg2:#1B1F26;--bg3:#272D37;--bg4:#353D4A;
  --text:#E9EDF2;--text2:#B9C2CE;--text3:#828C9B;
  --gold:#3D7DFF;--gold2:#6FA0FF;--gold3:#A9C8FF;
  --serif:'Chakra Petch',sans-serif;
  --sans:'Manrope',system-ui,sans-serif;
}
html{scroll-behavior:smooth;font-size:20px;}
body{background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg3);}
::-webkit-scrollbar-thumb{background:var(--gold);}

/* ── UTILS ── */
.page{display:none;}
.page.active{display:block;}
.tab-pane{display:none;}
.tab-pane.active{display:block;}
.hide{display:none!important;}

/* ── NAV ── */
nav#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 5vw;transition:all .4s;}
nav#nav.scrolled{background:rgba(20,23,28,.97);backdrop-filter:blur(12px);padding:.9rem 5vw;border-bottom:1px solid var(--bg3);box-shadow:0 2px 20px rgba(0,0,0,.35);}
.nav-logo{font-family:var(--serif);font-size:1.2rem;font-weight:300;letter-spacing:.2em;cursor:pointer;color:var(--text);}
.nav-logo em{color:var(--gold);font-style:italic;}
.nav-links{display:flex;gap:2.2rem;}
.nav-links a{font-family:'Chakra Petch',var(--sans),sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);cursor:pointer;text-decoration:none;transition:color .3s,text-shadow .3s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));box-shadow:0 0 10px rgba(61,125,255,.55);transition:width .32s cubic-bezier(.22,1,.36,1);}
.nav-links a:hover,.nav-links a.active{color:var(--gold2);text-shadow:0 0 18px rgba(61,125,255,.35);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-actions{display:flex;gap:.75rem;align-items:center;}
.nav-user{display:flex;align-items:center;gap:.6rem;font-family:var(--sans);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text2);}
.nav-ava{width:28px;height:28px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.65rem;color:#14171C;font-weight:600;}

/* ── BOUTONS ── */
.btn{cursor:pointer;font-family:var(--sans);font-weight:400;letter-spacing:.22em;text-transform:uppercase;transition:all .3s;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;}
.btn-outline{background:none;border:1px solid var(--gold);color:var(--gold);padding:.48rem 1.4rem;font-size:.62rem;}
.btn-outline:hover{background:var(--gold);color:#fff;}
.btn-fill{background:var(--gold);color:#14171C;padding:.5rem 1.6rem;font-size:.62rem;}
.btn-fill:hover{background:var(--gold2);}
.btn-dark{background:var(--bg3);color:var(--text2);padding:.5rem 1.4rem;font-size:.62rem;border:1px solid var(--bg4);}
.btn-dark:hover{border-color:var(--gold);color:var(--gold);}
.btn-lg{padding:.88rem 2.8rem;font-size:.72rem;}
.btn-sm{padding:.28rem .85rem;font-size:.5rem;}
.btn-ghost{background:none;border:1px solid var(--bg3);color:var(--text3);padding:.28rem .85rem;font-size:.5rem;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.btn-red{background:rgba(160,48,48,.1);border:1px solid rgba(160,48,48,.3);color:#c04040;padding:.28rem .85rem;font-size:.5rem;}
.btn-red:hover{background:rgba(160,48,48,.2);}
.btn-green{background:rgba(42,112,64,.1);border:1px solid rgba(42,112,64,.3);color:#3a9050;padding:.28rem .85rem;font-size:.5rem;}
.btn-green:hover{background:rgba(42,112,64,.2);}
.btn-blue{background:rgba(40,96,168,.1);border:1px solid rgba(40,96,168,.3);color:#4878c0;padding:.28rem .85rem;font-size:.5rem;}
.btn-blue:hover{background:rgba(40,96,168,.2);}
.btn:disabled{opacity:.45;cursor:not-allowed;}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background:#07090C;}
.hero-bg{position:absolute;inset:0;z-index:0;background-image:url('https://images.unsplash.com/photo-1492144534655-ae79c964c9d7?w=1800&q=85');background-size:cover;background-position:center 40%;filter:brightness(.5) saturate(1.1);transform:scale(1.04);animation:heroZoom 18s ease-in-out infinite alternate;}
@keyframes heroZoom{from{transform:scale(1.04) translateX(0);}to{transform:scale(1.10) translateX(-1%);}}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.28) 55%,rgba(0,0,0,.18) 100%),linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 45%);}
.hero-content{position:relative;z-index:3;padding:8rem 5vw 5rem;max-width:700px;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:1rem;font-family:var(--sans);font-weight:300;font-size:.7rem;color:var(--gold3);letter-spacing:.5em;text-transform:uppercase;margin-bottom:1.8rem;opacity:0;animation:slideUp .7s ease .3s forwards;}
.hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);}
.hero-h1{font-family:var(--serif);font-weight:300;line-height:1.05;opacity:0;animation:slideUp .8s ease .5s forwards;}
.hero-h1 .l1,.hero-h1 .l2{display:block;font-size:clamp(2.6rem,5vw,4.8rem);color:#EFF3F8;}
.hero-h1 .l2{font-style:italic;}
.hero-h1 .l3{display:block;font-size:clamp(2.6rem,5vw,4.8rem);color:var(--gold);}
.hero-rule{width:60px;height:1px;background:var(--gold3);margin:1.8rem 0;opacity:0;animation:slideUp .6s ease .7s forwards;}
.hero-body{font-family:var(--sans);font-weight:300;font-size:.8rem;line-height:1.9;color:rgba(233,237,242,.72);max-width:430px;opacity:0;animation:slideUp .7s ease .9s forwards;}
.hero-cta{display:flex;gap:1rem;align-items:center;margin-top:2.2rem;flex-wrap:wrap;opacity:0;animation:slideUp .7s ease 1.1s forwards;}
.hero-stats{position:absolute;right:5vw;bottom:5vh;display:flex;gap:2.2rem;z-index:3;opacity:0;animation:fadeIn .8s ease 1.3s forwards;}
.hstat{text-align:center;}
.hstat-n{font-family:var(--serif);font-size:2.2rem;font-weight:300;color:var(--gold3);line-height:1;}
.hstat-l{font-family:var(--sans);font-weight:200;font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(185,194,206,.6);margin-top:.3rem;}
.hstat-sep{width:1px;height:45px;background:rgba(61,125,255,.3);align-self:center;}
@keyframes slideUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{to{opacity:1;}}

/* ── SERVICES ── */
.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--bg3);border-bottom:1px solid var(--bg3);}
.svc{padding:2.2rem;border-right:1px solid var(--bg3);transition:background .3s;}
.svc:last-child{border-right:none;}
.svc:hover{background:var(--bg2);}
.svc-icon{font-size:1.3rem;margin-bottom:.9rem;}
.svc-title{font-family:var(--sans);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;}
.svc-desc{font-family:var(--sans);font-weight:300;font-size:.82rem;color:var(--text3);line-height:1.75;}

/* ── MARQUEE ── */
.marquee{overflow:hidden;background:var(--gold);padding:.5rem 0;}
.marquee-track{display:flex;gap:1.8rem;white-space:nowrap;animation:marqueeAnim 22s linear infinite;}
.marquee-track span{font-family:var(--sans);font-weight:500;font-size:.5rem;letter-spacing:.5em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.mq-dot{opacity:.4;}
@keyframes marqueeAnim{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── SECTION ── */
.sec{padding:5.5rem 5vw;}
.sec-label{font-family:var(--sans);font-weight:300;font-size:.65rem;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;display:flex;align-items:center;gap:.7rem;}
.sec-label::before{content:'';width:22px;height:1px;background:var(--gold);}
.sec-h2{font-family:var(--serif);font-size:clamp(1.9rem,3.2vw,3rem);font-weight:300;line-height:1.1;color:var(--text);}
.sec-h2 em{color:var(--gold);font-style:italic;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;flex-wrap:wrap;gap:1rem;}

/* ── FILTRES ── */
.filters{display:flex;gap:.4rem;flex-wrap:wrap;}
.fpill{background:none;border:1px solid var(--bg3);color:var(--text3);padding:.35rem 1rem;font-family:var(--sans);font-weight:300;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .25s;}
.fpill:hover{border-color:var(--gold);color:var(--gold);}
.fpill.active{background:var(--gold);border-color:var(--gold);color:#fff;}

/* ── CARTES VEHICULE ── */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.vcard{background:var(--bg2);border:1px solid var(--bg3);cursor:pointer;transition:transform .3s,box-shadow .3s;overflow:hidden;position:relative;}
.vcard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.18);}
.vcard-vis{height:220px;background:var(--bg3);position:relative;overflow:hidden;}
.vcard-vis img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94);display:block;}
.vcard:hover .vcard-vis img{transform:scale(1.06);}
.vcard-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:linear-gradient(135deg,var(--bg3),var(--bg4));}
.vcard-badge{position:absolute;top:.8rem;left:.8rem;z-index:2;font-family:var(--sans);font-weight:400;font-size:.46rem;letter-spacing:.2em;text-transform:uppercase;padding:.2rem .7rem;background:var(--gold);color:#fff;}
.vcard-badge.rare{background:rgba(0,0,0,.55);border:1px solid var(--gold3);color:var(--gold3);}
.vcard-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.35) 0%,transparent 50%);}
.vcard-flag{position:absolute;top:.8rem;right:2.8rem;font-size:1rem;z-index:2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));}
.vcard-wish{position:absolute;top:.6rem;right:.7rem;z-index:5;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.82rem;transition:all .25s;backdrop-filter:blur(4px);}
.vcard-wish:hover,.vcard-wish.on{background:rgba(61,125,255,.85);border-color:var(--gold);}
.vcard-status{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:.28rem .7rem;font-family:var(--sans);font-size:.48rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;text-align:center;backdrop-filter:blur(4px);}
.status-reserved{background:rgba(180,120,20,.85);color:#fff;}
.status-sold{background:rgba(150,40,40,.85);color:#fff;}
.vcard-body{padding:1.3rem 1.5rem 1.5rem;}
.vcard-brand{font-family:var(--sans);font-weight:300;font-size:.5rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem;}
.vcard-model{font-family:var(--serif);font-size:1.75rem;font-weight:300;color:var(--text);line-height:1;margin-bottom:.15rem;}
.vcard-meta{font-family:var(--sans);font-weight:300;font-size:.8rem;color:var(--text3);margin-bottom:1rem;}
.vcard-specs{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .9rem;padding:.8rem 0;border-top:1px solid var(--bg3);border-bottom:1px solid var(--bg3);margin-bottom:1rem;}
.vs-l{font-family:var(--sans);font-weight:200;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);}
.vs-v{font-family:var(--sans);font-weight:400;font-size:.82rem;color:var(--text);margin-top:.08rem;}
.vcard-foot{display:flex;align-items:center;justify-content:space-between;}
.vcard-price{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--gold);}
.vcard-price-note{font-family:var(--sans);font-weight:200;font-size:.65rem;color:var(--text3);letter-spacing:.1em;text-transform:uppercase;margin-top:.08rem;}

/* ── POURQUOI ── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bg3);margin-top:2.5rem;}
.why-cell{background:var(--bg);padding:2.8rem;position:relative;overflow:hidden;transition:background .35s;}
.why-cell:hover{background:var(--bg2);}
.why-n{font-family:var(--serif);font-size:5rem;font-weight:300;font-style:italic;color:rgba(61,125,255,.07);position:absolute;top:.8rem;right:1.2rem;pointer-events:none;}
.why-icon{font-size:1.2rem;margin-bottom:1.1rem;display:block;}
.why-title{font-family:var(--serif);font-size:1.6rem;font-weight:300;color:var(--text);margin-bottom:.5rem;}
.why-text{font-family:var(--sans);font-weight:300;font-size:.85rem;color:var(--text3);line-height:1.85;max-width:340px;}

/* ── PROCESSUS ── */
.proc-track{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:3.5rem;position:relative;}
.proc-track::before{content:'';position:absolute;top:1.7rem;left:5%;right:5%;height:1px;background:var(--bg3);}
.proc-step{text-align:center;position:relative;z-index:1;}
.proc-dot{width:3.4rem;height:3.4rem;border-radius:50%;border:1px solid var(--bg3);background:var(--bg2);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;font-family:var(--serif);font-size:1.1rem;font-weight:300;font-style:italic;color:var(--gold);transition:all .3s;}
.proc-step:hover .proc-dot{background:var(--gold);color:#fff;border-color:var(--gold);}
.proc-name{font-family:var(--serif);font-size:1.25rem;font-weight:300;color:var(--text);margin-bottom:.35rem;}
.proc-desc{font-family:var(--sans);font-weight:300;font-size:.8rem;color:var(--text3);line-height:1.6;}

/* ── CONTACT BAND ── */
.contact-band{background:#0B0D11;padding:5rem 5vw;display:grid;grid-template-columns:1fr 1px 1fr;gap:4.5rem;align-items:center;}
.cb-div{background:rgba(255,255,255,.1);}
.cb-title{font-family:var(--serif);font-size:clamp(1.9rem,3vw,2.8rem);font-weight:300;line-height:1.15;color:var(--text);}
.cb-title em{color:var(--gold3);font-style:italic;}
.cb-lbl{font-family:var(--sans);font-weight:200;font-size:.5rem;letter-spacing:.48em;text-transform:uppercase;color:var(--gold3);margin-bottom:.7rem;}
.cb-phone{font-family:var(--serif);font-size:1.45rem;font-weight:300;font-style:italic;color:var(--gold3);}
.cb-hours{font-family:var(--sans);font-weight:200;font-size:.58rem;letter-spacing:.2em;color:rgba(255,255,255,.45);text-transform:uppercase;margin-top:.25rem;}

/* ── FOOTER ── */
footer{background:var(--bg2);border-top:1px solid var(--bg3);padding:3.5rem 5vw 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--bg3);}
.ft-brand{font-family:var(--serif);font-size:1.3rem;font-weight:300;font-style:italic;color:var(--gold);margin-bottom:.6rem;}
.ft-desc{font-family:var(--sans);font-weight:300;font-size:.8rem;color:var(--text3);line-height:1.8;max-width:210px;}
.ft-col-title{font-family:var(--sans);font-weight:300;font-size:.48rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;}
.ft-col a{display:block;font-family:var(--sans);font-weight:300;font-size:.82rem;color:var(--text3);text-decoration:none;margin-bottom:.4rem;cursor:pointer;transition:color .25s;}
.ft-col a:hover{color:var(--text);}
.ft-bottom{display:flex;justify-content:space-between;padding-top:1.4rem;font-family:var(--sans);font-weight:200;font-size:.62rem;color:var(--text3);flex-wrap:wrap;gap:.5rem;}

/* ══════════════════════════════════════
   PAGE : COMMENT ÇA MARCHE
   ══════════════════════════════════════ */
.process-hero{min-height:55vh;display:flex;align-items:center;position:relative;overflow:hidden;background:#07090C;}
.process-hero-bg{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1600&q=80');background-size:cover;background-position:center;filter:brightness(.4) saturate(.9);}
.process-hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.25) 100%);}
.process-hero-content{position:relative;z-index:2;padding:8rem 5vw 5rem;max-width:680px;}

/* Timeline */
.timeline-section{padding:5rem 5vw;background:var(--bg);}
.timeline-intro{max-width:680px;margin:0 auto 3.5rem;text-align:center;}
.timeline-intro .sec-label{justify-content:center;}
.timeline-intro .sec-label::before{display:none;}
.timeline-intro p{font-family:var(--sans);font-weight:300;font-size:.88rem;color:var(--text3);line-height:1.9;margin-top:.9rem;}

.steps-wrap{max-width:940px;margin:0 auto;position:relative;}
.steps-wrap::before{content:'';position:absolute;left:2.6rem;top:0;bottom:0;width:1px;background:var(--bg3);}
.step-item{display:flex;gap:2.2rem;margin-bottom:2.5rem;position:relative;}
.step-num{width:5.2rem;height:5.2rem;border-radius:50%;border:1px solid var(--bg3);background:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.3rem;font-weight:300;font-style:italic;color:var(--gold);flex-shrink:0;position:relative;z-index:1;transition:all .3s;}
.step-item:hover .step-num{background:var(--gold);color:#fff;border-color:var(--gold);}
.step-body{background:var(--bg2);border:1px solid var(--bg3);padding:1.6rem 1.8rem;flex:1;transition:border-color .3s;}
.step-item:hover .step-body{border-color:var(--bg4);}
.step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;flex-wrap:wrap;gap:.5rem;}
.step-title{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--text);}
.step-duration{font-family:var(--sans);font-weight:300;font-size:.52rem;letter-spacing:.22em;text-transform:uppercase;background:rgba(61,125,255,.1);border:1px solid rgba(61,125,255,.22);color:var(--gold);padding:.22rem .7rem;}
.step-desc{font-family:var(--sans);font-weight:300;font-size:.84rem;color:var(--text3);line-height:1.85;margin-bottom:.7rem;}
.step-details{display:flex;flex-direction:column;gap:.28rem;}
.step-detail{display:flex;align-items:flex-start;gap:.55rem;font-family:var(--sans);font-weight:300;font-size:.76rem;color:var(--text3);line-height:1.6;}
.step-detail::before{content:'◆';color:var(--gold);font-size:.42rem;flex-shrink:0;margin-top:.35rem;}
.step-highlight{background:rgba(61,125,255,.06);border-left:2px solid var(--gold);padding:.75rem 1.1rem;margin-top:.9rem;font-family:var(--sans);font-weight:300;font-size:.76rem;color:var(--text2);line-height:1.7;}

/* Info boxes */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:920px;margin:0 auto 3rem;}
.info-box{background:var(--bg2);border:1px solid var(--bg3);padding:1.8rem;text-align:center;}
.info-icon{font-size:1.7rem;margin-bottom:.7rem;}
.info-title{font-family:var(--sans);font-weight:400;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;}
.info-value{font-family:var(--serif);font-size:1.9rem;font-weight:300;color:var(--text);margin-bottom:.25rem;}
.info-note{font-family:var(--sans);font-weight:300;font-size:.7rem;color:var(--text3);}

/* FAQ */
.faq-section{padding:4rem 5vw;background:var(--bg2);}
.faq-list{max-width:740px;margin:2.5rem auto 0;}
.faq-item{border-bottom:1px solid var(--bg3);}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 0;cursor:pointer;font-family:var(--sans);font-weight:300;font-size:.88rem;color:var(--text2);transition:color .25s;}
.faq-q:hover{color:var(--gold);}
.faq-arrow{color:var(--gold);font-size:.65rem;transition:transform .3s;flex-shrink:0;margin-left:1rem;}
.faq-q.open .faq-arrow{transform:rotate(180deg);}
.faq-a{font-family:var(--sans);font-weight:300;font-size:.8rem;color:var(--text3);line-height:1.85;padding-bottom:1.2rem;display:none;}
.faq-a.open{display:block;}

/* ══════════════════════════════════════
   AUTH
   ══════════════════════════════════════ */
.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;}
.auth-panel{background:#0B0D11;display:flex;align-items:center;justify-content:center;padding:4rem;position:relative;overflow:hidden;}
.auth-panel::before{content:'';position:absolute;top:-30%;left:-20%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(61,125,255,.14),transparent 65%);}
.ap-inner{position:relative;z-index:1;max-width:440px;}
.ap-logo{font-family:var(--serif);font-size:1.15rem;font-weight:300;font-style:italic;color:var(--gold3);cursor:pointer;margin-bottom:2.2rem;display:block;}
.ap-title{font-family:var(--serif);font-size:2.5rem;font-weight:300;line-height:1.1;color:#EFF3F8;margin-bottom:1.1rem;}
.ap-title em{color:var(--gold3);font-style:italic;}
.ap-feats{display:flex;flex-direction:column;gap:1.2rem;margin-top:2.2rem;}
.ap-feat{display:flex;gap:.9rem;}
.ap-feat-line{width:1px;background:linear-gradient(to bottom,var(--gold3),transparent);height:2rem;flex-shrink:0;margin-top:.1rem;}
.ap-feat strong{display:block;font-family:var(--serif);font-size:.92rem;font-weight:300;color:#E9EDF2;margin-bottom:.12rem;}
.ap-feat p{font-family:var(--sans);font-weight:200;font-size:.6rem;color:rgba(255,255,255,.42);line-height:1.6;}
.auth-form{display:flex;flex-direction:column;justify-content:center;padding:4rem;background:var(--bg);overflow-y:auto;}
.auth-form-inner{max-width:400px;width:100%;}
.auth-form-title{font-family:var(--serif);font-size:2.3rem;font-weight:300;margin-bottom:.25rem;}
.auth-form-sub{font-family:var(--sans);font-weight:300;font-size:.8rem;color:var(--text3);margin-bottom:1.8rem;}

/* Champs */
.field{margin-bottom:.85rem;}
.field label{display:block;font-family:var(--sans);font-weight:300;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;}
.field input,.field select,.field textarea{width:100%;background:var(--bg2);border:1px solid var(--bg3);color:var(--text);padding:.72rem .95rem;font-family:var(--sans);font-weight:300;font-size:.88rem;outline:none;transition:border-color .25s;-webkit-appearance:none;border-radius:0;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);}
.field select option{background:var(--bg2);}
.field textarea{resize:vertical;min-height:80px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}
.field-err{font-family:var(--sans);font-size:.6rem;color:#c04040;margin-top:.22rem;display:none;}
.field-err.show{display:block;}
.auth-switch{margin-top:1.1rem;font-family:var(--sans);font-weight:300;font-size:.74rem;color:var(--text3);text-align:center;}
.auth-switch a{color:var(--gold);cursor:pointer;text-decoration:underline;}
.demo-hint{margin-top:.65rem;font-family:var(--sans);font-weight:300;font-size:.65rem;color:var(--text3);text-align:center;padding:.45rem;background:var(--bg2);border:1px solid var(--bg3);}
.demo-hint code{color:var(--gold);}
.rate-msg{display:none;padding:.75rem 1rem;background:rgba(160,48,48,.1);border:1px solid rgba(160,48,48,.28);color:#c04040;font-family:var(--sans);font-weight:300;font-size:.7rem;margin-bottom:.9rem;}
.rate-msg.show{display:block;}

/* ══════════════════════════════════════
   DASHBOARD — Layout principal
   ══════════════════════════════════════ */
.dash-layout { display:flex; min-height:100vh; background:var(--bg); }

/* ── Sidebar ── */
.kz-side {
  width: 260px; background: #0C0E13; flex-shrink: 0;
  display: flex; flex-direction: column;
  position: fixed; top: 0; bottom: 0; left: 0;
  z-index: 300; overflow-y: auto;
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
/* Overlay mobile */
.sb-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.6); z-index: 299; backdrop-filter: blur(3px);
}
.sb-overlay.open { display: block; }
@media (max-width: 900px) {
  .kz-side { transform: translateX(-100%); }
  .kz-side.sb-open { transform: translateX(0); }
}

.sb-header { padding: 1.6rem 1.5rem 1.2rem; border-bottom: 1px solid rgba(255,255,255,.07); }
.sb-logo { font-family:var(--serif); font-size:.95rem; font-weight:300; font-style:italic; color:var(--gold3); cursor:pointer; display:block; margin-bottom:.25rem; }
.sb-role { font-family:var(--sans); font-weight:200; font-size:.4rem; letter-spacing:.35em; text-transform:uppercase; color:rgba(255,255,255,.3); }

.sb-user { display:flex; align-items:center; gap:.85rem; padding:.9rem 1.5rem; border-bottom:1px solid rgba(255,255,255,.07); }
.sb-ava { width:38px; height:38px; background:var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:.9rem; color:#14171C; font-weight:700; flex-shrink:0; }
.sb-username { font-family:var(--sans); font-weight:400; font-size:.72rem; color:rgba(255,255,255,.75); }
.sb-email { font-family:var(--sans); font-weight:200; font-size:.5rem; color:rgba(255,255,255,.3); margin-top:.1rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:165px; }

.sb-nav { flex:1; padding:1rem 0; overflow-y:auto; }
.sb-section-title { font-family:var(--sans); font-weight:200; font-size:.38rem; letter-spacing:.4em; text-transform:uppercase; color:rgba(255,255,255,.25); padding:.7rem 1.5rem .3rem; }
.sb-link {
  display:flex; align-items:center; gap:.75rem; padding:.82rem 1.5rem;
  font-family:var(--sans); font-weight:300; font-size:.8rem;
  color:rgba(255,255,255,.4); cursor:pointer; transition:all .2s;
  border:none; background:none; width:100%; text-align:left;
  border-left:3px solid transparent;
}
.sb-link:hover { color:rgba(255,255,255,.85); background:rgba(255,255,255,.05); }
.sb-link.active { color:var(--gold3); background:rgba(61,125,255,.07); border-left-color:var(--gold); }
.sb-link .si { width:18px; font-size:.85rem; text-align:center; flex-shrink:0; }
.sb-badge { margin-left:auto; background:var(--gold); color:#14171C; font-family:var(--sans); font-size:.42rem; font-weight:700; padding:.1rem .45rem; border-radius:20px; }

.sb-footer { padding:1rem 1.5rem; border-top:1px solid rgba(255,255,255,.07); display:flex; flex-direction:column; gap:.5rem; }
.sb-logout { display:flex; align-items:center; gap:.6rem; font-family:var(--sans); font-weight:300; font-size:.7rem; color:rgba(255,255,255,.35); cursor:pointer; background:none; border:none; transition:color .2s; padding:.4rem 0; }
.sb-logout:hover { color:#e07070; }
.sb-back-site { display:flex; align-items:center; gap:.6rem; font-family:var(--sans); font-weight:300; font-size:.7rem; color:rgba(255,255,255,.35); cursor:pointer; background:none; border:none; transition:color .2s; padding:.4rem 0; }
.sb-back-site:hover { color:var(--gold3); }

/* ── Main zone ── */
.dash-main { margin-left:260px; flex:1; min-width:0; max-width:calc(100% - 260px); display:flex; flex-direction:column; min-height:100vh; background:var(--bg); }
@media (max-width:900px) { .dash-main { margin-left:0; max-width:100%; } }

/* Topbar sticky */
.dash-topbar {
  position: sticky; top: 0; z-index: 100;
  background: rgba(20,23,28,.97); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--bg3);
  display: flex; align-items: center; justify-content: space-between;
  padding: .85rem 2rem; gap: 1rem; flex-wrap: wrap;
}
.dash-burger {
  display: none; background: none; border: 1px solid var(--bg3);
  color: var(--text3); width: 36px; height: 36px; cursor: pointer;
  font-size: 1rem; transition: all .2s; flex-shrink: 0;
}
.dash-burger:hover { border-color:var(--gold); color:var(--gold); }
@media (max-width:900px) { .dash-burger { display:flex; align-items:center; justify-content:center; } }

.dash-topbar-left { display:flex; align-items:center; gap:.9rem; }
.dash-breadcrumb { font-family:var(--sans); font-weight:200; font-size:.55rem; letter-spacing:.28em; text-transform:uppercase; color:var(--text3); }
.dash-breadcrumb span { color:var(--gold); }
.dash-topbar-right { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }

/* Content zone */
.dash-content { padding: 2.2rem 2.5rem; flex:1; }
@media (max-width:900px) { .dash-content { padding:1.2rem; } }

.dash-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.8rem; flex-wrap:wrap; gap:.8rem; }
.dash-title { font-family:var(--serif); font-size:1.8rem; font-weight:300; color:var(--text); }
.dash-title span { color:var(--gold); font-style:italic; }
.dash-date { font-family:var(--sans); font-weight:200; font-size:.58rem; color:var(--text3); margin-top:.2rem; }

/* ── KPIs ── */
.kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--bg3); margin-bottom:1.5rem; }
.kpi { background:var(--bg2); padding:1.4rem 1.6rem; position:relative; overflow:hidden; }
.kpi::before { content:''; position:absolute; top:0; left:0; width:3px; height:100%; background:var(--gold); }
.kpi-label { font-family:var(--sans); font-weight:200; font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--text3); margin-bottom:.45rem; }
.kpi-value { font-family:var(--serif); font-size:2.4rem; font-weight:300; color:var(--text); line-height:1; margin-bottom:.2rem; }
.kpi-sub { font-family:var(--sans); font-weight:200; font-size:.62rem; color:var(--text3); }
.up { color:#3a9050; } .dn { color:#c04040; }
@media(max-width:900px) { .kpis { grid-template-columns:1fr 1fr; } }
@media(max-width:500px) { .kpis { grid-template-columns:1fr; } }

/* ── Panel ── */
.panel { background:var(--bg2); border:1px solid var(--bg3); margin-bottom:1.3rem; border-radius:0; }
.panel-head { display:flex; align-items:center; justify-content:space-between; padding:.9rem 1.3rem; border-bottom:1px solid var(--bg3); flex-wrap:wrap; gap:.5rem; }
.panel-title { font-family:var(--sans); font-weight:400; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text2); }

/* ── Tables ── */
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
thead th { font-family:var(--sans); font-weight:300; font-size:.56rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); padding:.7rem 1rem; text-align:left; border-bottom:1px solid var(--bg3); white-space:nowrap; background:var(--bg2); }
tbody tr { border-bottom:1px solid var(--bg3); transition:background .15s; }
tbody tr:last-child { border-bottom:none; }
tbody tr:hover { background:rgba(61,125,255,.04); }
tbody td { padding:.9rem 1rem; font-family:var(--sans); font-weight:300; font-size:.8rem; color:var(--text2); vertical-align:middle; }
.td-actions { display:flex; gap:.35rem; flex-wrap:wrap; align-items:center; }
.veh-thumb { width:56px; height:40px; object-fit:cover; border:1px solid var(--bg3); flex-shrink:0; }

/* ── Badges ── */
.badge { display:inline-block; padding:.15rem .65rem; font-family:var(--sans); font-size:.44rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; border-radius:2px; }
.b-av { background:rgba(42,112,64,.15); color:#4aba70; border:1px solid rgba(42,112,64,.2); }
.b-rs { background:rgba(61,125,255,.12); color:var(--gold2); border:1px solid rgba(61,125,255,.2); }
.b-sd { background:rgba(160,48,48,.12); color:#e05050; border:1px solid rgba(160,48,48,.2); }
.b-pe { background:rgba(61,125,255,.1); color:var(--gold); border:1px solid rgba(61,125,255,.15); }
.b-rp { background:rgba(40,96,168,.12); color:#6898e0; border:1px solid rgba(40,96,168,.2); }
.b-ac { background:rgba(42,112,64,.15); color:#4aba70; border:1px solid rgba(42,112,64,.2); }
.b-rj { background:rgba(160,48,48,.12); color:#e05050; border:1px solid rgba(160,48,48,.2); }
.b-tr { background:rgba(40,120,180,.12); color:#5090d8; border:1px solid rgba(40,120,180,.2); }
.b-hm { background:rgba(120,60,180,.12); color:#a070d0; border:1px solid rgba(120,60,180,.2); }
.b-dv { background:rgba(42,112,64,.15); color:#4aba70; border:1px solid rgba(42,112,64,.2); }

/* ── Formulaire sections ── */
.form-sec { background:var(--bg2); border:1px solid var(--bg3); padding:1.8rem; margin-bottom:1.2rem; }
.form-sec h4 { font-family:var(--sans); font-weight:300; font-size:.48rem; letter-spacing:.38em; text-transform:uppercase; color:var(--gold); margin-bottom:1.3rem; padding-bottom:.65rem; border-bottom:1px solid var(--bg3); display:flex; align-items:center; gap:.5rem; }
.form-sec h4::before { content:''; width:18px; height:1px; background:var(--gold); }

/* ── Banner profil client ── */
.client-banner {
  background:linear-gradient(135deg, #1a1812 0%, var(--bg2) 100%);
  border:1px solid var(--bg3); padding:2rem 2rem;
  display:flex; align-items:center; gap:2rem; margin-bottom:1.5rem;
  flex-wrap:wrap; position:relative; overflow:hidden;
}
.client-banner::before { content:''; position:absolute; top:-30%; right:-5%; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(61,125,255,.08),transparent 65%); pointer-events:none; }
.client-ava {
  width:64px; height:64px; background:var(--gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:1.5rem; font-weight:300; color:#14171C;
  flex-shrink:0; border:2px solid rgba(61,125,255,.4);
}
.client-info h3 { font-family:var(--serif); font-size:1.35rem; font-weight:300; margin-bottom:.2rem; }
.client-info p { font-family:var(--sans); font-weight:300; font-size:.68rem; color:var(--text3); line-height:1.6; }
.client-stats { margin-left:auto; display:flex; gap:2rem; }
.cstat { text-align:center; }
.cstat-n { font-family:var(--serif); font-size:1.6rem; font-weight:300; color:var(--gold3); }
.cstat-l { font-family:var(--sans); font-weight:200; font-size:.46rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text3); margin-top:.2rem; }

/* ── Wishlist ── */
.wish-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:1px; background:var(--bg3); }
.wish-card { background:var(--bg2); padding:0; display:flex; flex-direction:column; overflow:hidden; transition:background .25s; }
.wish-card:hover { background:var(--bg3); }
.wish-thumb-wrap { position:relative; height:160px; overflow:hidden; background:var(--bg3); }
.wish-thumb-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.wish-card:hover .wish-thumb-wrap img { transform:scale(1.05); }
.wish-thumb-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 60%); }
.wish-thumb-price { position:absolute; bottom:.7rem; left:.9rem; font-family:var(--serif); font-size:1.1rem; font-weight:300; color:var(--gold3); }
.wish-thumb-flag { position:absolute; top:.7rem; right:.7rem; font-size:.95rem; }
.wish-body { padding:1rem 1.1rem 1.1rem; flex:1; }
.wish-name { font-family:var(--serif); font-size:1.05rem; font-weight:300; color:var(--text); margin-bottom:.2rem; }
.wish-meta { font-family:var(--sans); font-weight:300; font-size:.6rem; color:var(--text3); margin-bottom:.8rem; }
.wish-actions-row { display:flex; gap:.35rem; flex-wrap:wrap; }

/* ── Commande tracking ── */
.order-card { background:var(--bg2); border:1px solid var(--bg3); padding:1.6rem; margin-bottom:1rem; }
.order-head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:1.4rem; flex-wrap:wrap; gap:.8rem; }
.order-vehicle { display:flex; align-items:center; gap:1rem; }
.order-thumb { width:80px; height:55px; object-fit:cover; flex-shrink:0; background:var(--bg3); }
.order-title { font-family:var(--serif); font-size:1.15rem; font-weight:300; }
.order-sub { font-family:var(--sans); font-weight:300; font-size:.62rem; color:var(--text3); margin-top:.2rem; }
.order-right { text-align:right; }
.order-price { font-family:var(--serif); font-size:1.3rem; font-weight:300; color:var(--gold); }
.order-date { font-family:var(--sans); font-weight:200; font-size:.58rem; color:var(--text3); margin-top:.2rem; }

.track-wrap { background:var(--bg); border:1px solid var(--bg3); padding:1.3rem 1.5rem; margin-top:.5rem; }
.track-title { font-family:var(--sans); font-weight:300; font-size:.55rem; letter-spacing:.25em; text-transform:uppercase; color:var(--text3); margin-bottom:1rem; }
.track-steps { display:flex; align-items:flex-start; }
.track-step { flex:1; display:flex; flex-direction:column; align-items:center; gap:.4rem; position:relative; }
.track-step:not(:last-child)::after { content:''; position:absolute; top:11px; left:calc(50% + 11px); right:calc(-50% + 11px); height:2px; background:var(--bg3); z-index:0; }
.track-step.done:not(:last-child)::after { background:var(--gold); }
.track-dot { width:22px; height:22px; border-radius:50%; border:2px solid var(--bg3); background:var(--bg2); position:relative; z-index:1; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all .3s; font-size:.55rem; }
.track-step.done .track-dot { background:var(--gold); border-color:var(--gold); color:#fff; }
.track-step.active .track-dot { background:var(--bg2); border-color:var(--gold); box-shadow:0 0 0 4px rgba(61,125,255,.2); }
.track-lbl { font-family:var(--sans); font-weight:300; font-size:.44rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text3); text-align:center; line-height:1.3; }
.track-step.done .track-lbl, .track-step.active .track-lbl { color:var(--gold); }
.order-note-box { margin-top:1rem; padding:.75rem 1rem; background:rgba(61,125,255,.06); border-left:2px solid var(--gold); font-family:var(--sans); font-weight:300; font-size:.75rem; color:var(--text2); line-height:1.7; }

/* ── Devis cards ── */
.quote-card { background:var(--bg2); border:1px solid var(--bg3); margin-bottom:1rem; overflow:hidden; }
.quote-card-head { display:flex; align-items:flex-start; justify-content:space-between; padding:1.2rem 1.4rem; border-bottom:1px solid var(--bg3); flex-wrap:wrap; gap:.7rem; }
.quote-vehicle-name { font-family:var(--serif); font-size:1.1rem; font-weight:300; color:var(--text); }
.quote-date-txt { font-family:var(--sans); font-weight:200; font-size:.58rem; color:var(--text3); margin-top:.2rem; }
.quote-card-body { padding:1rem 1.4rem; }
.quote-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:.4rem .8rem; margin-bottom:.8rem; }
.qi-item { font-family:var(--sans); font-size:.72rem; color:var(--text3); font-weight:300; }
.qi-item strong { color:var(--text2); font-weight:400; }
.quote-notes-box { font-family:var(--sans); font-weight:300; font-size:.75rem; color:var(--text3); padding:.65rem .9rem; background:var(--bg3); border-left:2px solid var(--bg4); line-height:1.7; margin-bottom:.8rem; }
.quote-response-box { padding:.9rem 1.1rem; background:rgba(61,125,255,.06); border:1px solid rgba(61,125,255,.15); margin-bottom:.8rem; }
.qr-title { font-family:var(--sans); font-weight:500; font-size:.55rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; display:flex; align-items:center; gap:.4rem; }
.qr-text { font-family:var(--sans); font-weight:300; font-size:.78rem; color:var(--text2); line-height:1.75; }
.qr-price { font-family:var(--serif); font-size:1.4rem; font-weight:300; color:var(--gold); margin-top:.5rem; }
.quote-card-foot { display:flex; gap:.45rem; flex-wrap:wrap; padding:.9rem 1.4rem; border-top:1px solid var(--bg3); background:var(--bg); }

/* ── Empty state ── */
.empty-state { padding:3.5rem 2rem; text-align:center; background:var(--bg2); border:1px solid var(--bg3); }
.empty-icon { font-size:2.8rem; margin-bottom:1rem; opacity:.4; display:block; }
.empty-state h4 { font-family:var(--serif); font-size:1.3rem; font-weight:300; color:var(--text); margin-bottom:.5rem; }
.empty-state p { font-family:var(--sans); font-weight:300; font-size:.78rem; color:var(--text3); margin-bottom:1.3rem; line-height:1.75; max-width:340px; margin-left:auto; margin-right:auto; }

/* ── Activité recent ── */
.activity-item { display:flex; align-items:center; gap:1rem; padding:.85rem 1.3rem; border-bottom:1px solid var(--bg3); }
.activity-item:last-child { border-bottom:none; }
.activity-dot { width:8px; height:8px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.activity-text { font-family:var(--sans); font-weight:300; font-size:.78rem; color:var(--text2); flex:1; }
.activity-date { font-family:var(--sans); font-weight:200; font-size:.6rem; color:var(--text3); white-space:nowrap; }

/* ══════════════════════════════════════
   MODALS
   ══════════════════════════════════════ */
.modal-veil{position:fixed;inset:0;z-index:900;background:rgba(16,19,24,.82);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:1.5rem;}
.modal-veil.open{display:flex;}
.modal-box{background:var(--bg);border:1px solid var(--bg3);width:100%;max-width:860px;max-height:92vh;overflow-y:auto;position:relative;animation:modalIn .32s ease;}
.modal-box-md{max-width:580px;}
.modal-box-sm{max-width:460px;}
@keyframes modalIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.modal-close{position:absolute;top:.9rem;right:.9rem;z-index:10;background:var(--bg2);border:1px solid var(--bg3);color:var(--text3);width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.82rem;transition:all .22s;}
.modal-close:hover{border-color:var(--gold);color:var(--gold);}
.modal-vis{height:300px;background:var(--bg3);overflow:hidden;position:relative;}
.modal-vis img{width:100%;height:100%;object-fit:cover;display:block;}
.modal-vis-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:6rem;background:linear-gradient(135deg,var(--bg2),var(--bg3));}
.modal-body{padding:1.8rem 2rem;}
.modal-ori{display:flex;align-items:center;gap:.65rem;margin-bottom:.45rem;}
.modal-ori span{font-family:var(--sans);font-weight:300;font-size:.5rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);}
.modal-title{font-family:var(--serif);font-size:2.3rem;font-weight:300;line-height:1;margin-bottom:.18rem;}
.modal-sub{font-family:var(--sans);font-weight:300;font-size:.85rem;color:var(--text3);}
.modal-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bg3);margin:1.4rem 0;}
.modal-spec{background:var(--bg);padding:.75rem .95rem;}
.ms-l{font-family:var(--sans);font-weight:200;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.18rem;}
.ms-v{font-family:var(--sans);font-weight:400;font-size:.85rem;color:var(--text);}
.modal-desc{font-family:var(--sans);font-weight:300;font-size:.85rem;color:var(--text3);line-height:1.9;margin-bottom:1.4rem;}
.modal-foot{display:flex;align-items:flex-end;justify-content:space-between;padding-top:1.4rem;border-top:1px solid var(--bg3);flex-wrap:wrap;gap:1rem;}
.modal-price{font-family:var(--serif);font-size:2.6rem;font-weight:300;color:var(--gold);line-height:1;}
.modal-price-note{font-family:var(--sans);font-weight:200;font-size:.48rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text3);margin-top:.18rem;}
.modal-actions{display:flex;gap:.65rem;flex-wrap:wrap;}

/* Modal header simple */
.modal-hd{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 1.8rem;border-bottom:1px solid var(--bg3);}
.modal-hd-title{font-family:var(--serif);font-size:1.45rem;font-weight:300;}
.modal-hd-sub{font-family:var(--sans);font-weight:300;font-size:.65rem;color:var(--text3);margin-top:.15rem;}

/* Décomposition prix */
.price-breakdown{background:var(--bg2);padding:1.1rem 1.4rem;margin:1rem 0;}
.pb-row{display:flex;justify-content:space-between;align-items:center;padding:.38rem 0;border-bottom:1px solid var(--bg3);}
.pb-row:last-child{border-bottom:none;padding-top:.55rem;}
.pb-label{font-family:var(--sans);font-weight:300;font-size:.75rem;color:var(--text3);}
.pb-val{font-family:var(--sans);font-weight:400;font-size:.75rem;color:var(--text);}
.pb-row.total .pb-label{font-family:var(--serif);font-size:.95rem;font-weight:300;color:var(--text);}
.pb-row.total .pb-val{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--gold);}

/* CGV */
.cgv-check{display:flex;align-items:flex-start;gap:.65rem;margin:1rem 0;}
.cgv-check input[type="checkbox"]{width:15px;height:15px;flex-shrink:0;margin-top:.15rem;accent-color:var(--gold);}
.cgv-check label{font-family:var(--sans);font-weight:300;font-size:.7rem;color:var(--text3);line-height:1.6;cursor:pointer;}
.cgv-check a{color:var(--gold);text-decoration:underline;}

/* ── Cinématique accueil ── */
.reveal{opacity:0;transform:translateY(38px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}
.hero::after{content:'';position:absolute;inset:0;z-index:2;box-shadow:inset 0 0 200px rgba(0,0,0,.72);pointer-events:none;}
.hero-content{will-change:transform,opacity;}
.hero-scroll{position:absolute;left:50%;bottom:3vh;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:.55rem;cursor:pointer;opacity:0;animation:fadeIn 1s ease 2s forwards;transition:opacity .4s;}
.hero-scroll-line{width:1px;height:52px;background:linear-gradient(to bottom,transparent,var(--gold3));position:relative;overflow:hidden;}
.hero-scroll-line::after{content:'';position:absolute;top:-30%;left:0;width:100%;height:30%;background:#fff;animation:scrollDrip 2s cubic-bezier(.4,0,.2,1) infinite;}
@keyframes scrollDrip{to{top:110%;}}
.hero-scroll-txt{font-family:var(--sans);font-weight:200;font-size:.44rem;letter-spacing:.5em;text-transform:uppercase;color:rgba(233,237,242,.5);}
.hero-scroll:hover .hero-scroll-txt{color:var(--gold3);}
.vcard{animation:cardIn .8s cubic-bezier(.22,1,.36,1) both;}
.vcard:nth-child(2){animation-delay:.07s;}
.vcard:nth-child(3){animation-delay:.14s;}
.vcard:nth-child(4){animation-delay:.21s;}
.vcard:nth-child(5){animation-delay:.28s;}
.vcard:nth-child(6){animation-delay:.35s;}
@keyframes cardIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}

/* ── Historique commande ── */
.order-history{margin-top:.9rem;padding:.85rem 1.1rem;background:var(--bg);border:1px solid var(--bg3);}
.order-history-title{font-family:var(--sans);font-weight:300;font-size:.5rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text3);margin-bottom:.55rem;}
.oh-item{display:flex;gap:.9rem;align-items:flex-start;padding:.32rem 0;border-bottom:1px solid var(--bg3);}
.oh-item:last-child{border-bottom:none;}
.oh-date{font-family:var(--sans);font-weight:200;font-size:.58rem;color:var(--text3);white-space:nowrap;flex-shrink:0;padding-top:.08rem;}
.oh-note{font-family:var(--sans);font-weight:300;font-size:.72rem;color:var(--text2);line-height:1.6;}

/* ── Enchères USS Tokyo ── */
.uss-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bg3);border:1px solid var(--bg3);margin-bottom:1.3rem;}
.uss-strip-item{background:var(--bg2);padding:.9rem 1.1rem;font-family:var(--sans);font-weight:300;font-size:.68rem;color:var(--text3);line-height:1.65;}
.uss-strip-item strong{color:var(--gold);font-weight:400;}
.auc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem;}
.auc-card{background:var(--bg2);border:1px solid var(--bg3);overflow:hidden;transition:border-color .25s,transform .25s;}
.auc-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.auc-thumb{position:relative;height:170px;background:var(--bg3);overflow:hidden;}
.auc-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.auc-card:hover .auc-thumb img{transform:scale(1.05);}
.auc-lot{position:absolute;top:.6rem;left:.6rem;background:rgba(0,0,0,.8);color:var(--gold3);font-family:var(--sans);font-weight:500;font-size:.5rem;letter-spacing:.2em;padding:.25rem .6rem;}
.auc-count{position:absolute;bottom:.6rem;right:.6rem;background:rgba(0,0,0,.8);color:#fff;font-family:var(--sans);font-weight:300;font-size:.55rem;padding:.25rem .6rem;}
.auc-body{padding:1rem 1.1rem 1.1rem;}
.auc-name{font-family:var(--serif);font-size:1.05rem;font-weight:300;color:var(--text);margin-bottom:.2rem;}
.auc-meta{font-family:var(--sans);font-weight:300;font-size:.6rem;color:var(--text3);margin-bottom:.55rem;}
.auc-grades{display:flex;gap:.35rem;margin-bottom:.65rem;}
.auc-prices{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .8rem;background:var(--bg);border:1px solid var(--bg3);margin-bottom:.6rem;}
.auc-prices>div{display:flex;flex-direction:column;gap:.12rem;}
.auc-price-l{font-family:var(--sans);font-weight:200;font-size:.46rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);}
.auc-price-v{font-family:var(--serif);font-size:.95rem;font-weight:300;color:var(--text2);}
.auc-price-v.gold{color:var(--gold);}
.auc-notes{font-family:var(--sans);font-weight:300;font-size:.64rem;color:var(--text3);line-height:1.6;padding:.5rem .7rem;background:var(--bg);border-left:2px solid var(--bg4);}

/* ── Bouton retour dashboard ── */
.btn-back{background:none;border:1px solid var(--bg4);color:var(--text3);font-family:var(--sans);font-size:.5rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;padding:.32rem .85rem;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;}
.btn-back:hover{border-color:var(--gold);color:var(--gold);}

/* ── Client overview grid ── */
.cl-ov-grid{display:grid;grid-template-columns:1fr 290px;gap:1.3rem;align-items:start;}
.cl-ov-aside{display:flex;flex-direction:column;gap:1rem;}
.quick-actions{padding:.8rem;display:flex;flex-direction:column;gap:.45rem;}
.qbtn{justify-content:flex-start!important;font-size:.58rem!important;padding:.65rem 1rem!important;text-align:left;}
.info-help-box{background:rgba(61,125,255,.06);border:1px solid rgba(61,125,255,.15);padding:1.1rem;}
.info-help-box .info-help-label{font-family:var(--sans);font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.info-help-box p{font-family:var(--sans);font-weight:300;font-size:.72rem;color:var(--text3);line-height:1.7;}
.info-help-box strong{color:var(--gold);}

/* ── Profile grid ── */
.prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;align-items:start;}

/* ── Add vehicle grid ── */
.add-veh-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;}
.form-sec-hint{font-family:var(--sans);font-weight:300;font-size:.65em;color:var(--text3);text-transform:none;letter-spacing:0;}

/* ── Photo tab switcher ── */
.photo-tab-btns{display:flex;border:1px solid var(--bg3);overflow:hidden;margin-bottom:.8rem;}
.photo-tab{flex:1;background:none;border:none;border-right:1px solid var(--bg3);color:var(--text3);font-family:var(--sans);font-size:.52rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;padding:.55rem;cursor:pointer;transition:all .2s;}
.photo-tab:last-child{border-right:none;}
.photo-tab.active{background:var(--gold);color:#14171C;}
.photo-tab:not(.active):hover{background:var(--bg3);color:var(--text2);}

/* ── Upload zone ── */
.upload-zone{border:2px dashed var(--bg4);padding:2rem 1rem;text-align:center;cursor:pointer;transition:all .25s;margin-bottom:.8rem;user-select:none;}
.upload-zone:hover,.upload-zone.drag-over{border-color:var(--gold);background:rgba(61,125,255,.04);}
.upload-zone-icon{font-size:1.8rem;margin-bottom:.6rem;opacity:.45;display:block;}
.upload-zone-text{font-family:var(--sans);font-weight:300;font-size:.75rem;color:var(--text3);line-height:1.6;}
.upload-zone-text span{color:var(--gold);text-decoration:underline;}
.upload-zone-sub{font-family:var(--sans);font-weight:200;font-size:.5rem;color:var(--bg4);margin-top:.45rem;letter-spacing:.15em;text-transform:uppercase;}

/* ── Photo preview ── */
.photo-preview{position:relative;height:340px;overflow:hidden;background:#0B0D11;margin-bottom:.8rem;border:1px solid var(--bg3);}
.photo-preview img{width:100%;height:100%;object-fit:contain;display:block;}
.photo-preview-rm{position:absolute;top:.5rem;right:.5rem;background:rgba(0,0,0,.78);border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.6rem;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.photo-preview-rm:hover{background:rgba(192,64,64,.9);}

/* ── Extra photos ── */
.extra-photos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.5rem;}
.extra-slot{position:relative;aspect-ratio:4/3;}
.extra-slot-empty{width:100%;height:100%;border:2px dashed var(--bg4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;background:var(--bg2);font-size:1.4rem;color:var(--bg4);}
.extra-slot-empty:hover{border-color:var(--gold);color:var(--gold);background:rgba(61,125,255,.04);}
.extra-slot-preview{width:100%;height:100%;object-fit:cover;display:block;}
.extra-slot-rm{position:absolute;top:.25rem;right:.25rem;background:rgba(0,0,0,.78);border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:.52rem;display:flex;align-items:center;justify-content:center;}
.extra-slot-rm:hover{background:rgba(192,64,64,.9);}

/* ── TOAST ── */
#toast{position:fixed;bottom:2rem;right:2rem;z-index:9999;background:var(--text);color:var(--bg);padding:.8rem 1.3rem;font-family:var(--sans);font-weight:300;font-size:.78rem;border-left:3px solid var(--gold);max-width:310px;transform:translateY(10px);opacity:0;transition:all .32s;pointer-events:none;}
#toast.show{opacity:1;transform:translateY(0);}
#toast.ok{border-left-color:#3a9050;}
#toast.err{border-left-color:#c04040;}
#toast.info{border-left-color:#4878c0;}

/* ══════════════════════════════════════
   MENU MOBILE
   ══════════════════════════════════════ */
.burger-btn{
  display:none;background:none;border:none;color:var(--text);
  font-size:1.3rem;cursor:pointer;padding:.3rem;z-index:600;
  transition:color .2s;
}
.burger-btn:hover{color:var(--gold);}

#mobile-menu{
  position:fixed;inset:0;z-index:550;
  background:rgba(16,19,24,.98);backdrop-filter:blur(12px);
  display:flex;flex-direction:column;
  padding:5rem 2rem 2rem;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
#mobile-menu.open{transform:translateX(0);}

.mob-nav-link{
  font-family:var(--serif);font-size:1.6rem;font-weight:300;
  color:var(--text2);padding:1rem 0;border-bottom:1px solid var(--bg3);
  cursor:pointer;transition:color .2s;text-decoration:none;display:block;
}
.mob-nav-link:hover{color:var(--gold);}
.mob-nav-actions{display:flex;flex-direction:column;gap:.7rem;margin-top:2rem;}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media(max-width:1100px){
  .nav-links{display:none;}
  .burger-btn{display:block;}
  .auth-panel{display:none;}
  .auth-layout{grid-template-columns:1fr;}
  .auth-form{padding:2.5rem 1.8rem;min-height:100vh;justify-content:flex-start;padding-top:5.5rem;}
  .hero-stats{display:none;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr 1fr;}
  .proc-track{grid-template-columns:repeat(3,1fr);}
  .proc-track::before{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
  .services{grid-template-columns:1fr 1fr;}
  .contact-band{grid-template-columns:1fr;gap:2rem;}
  .cb-div{display:none;}
  .info-grid{grid-template-columns:1fr 1fr;}
  .modal-specs{grid-template-columns:repeat(2,1fr);}
  .steps-wrap::before{display:none;}
  .nav-actions .btn-outline,.nav-actions .btn-fill,.nav-actions .btn-ghost,.nav-user{display:none!important;}
}
/* Dashboard responsive — géré par le breakpoint 900px dans les règles .kz-side/.dash-main */
@media(max-width:900px){
  .kpis{grid-template-columns:repeat(2,1fr);}
  .cl-ov-grid{grid-template-columns:1fr;}
  .prof-grid{grid-template-columns:1fr;}
  .uss-strip{grid-template-columns:1fr;}
  .add-veh-grid{grid-template-columns:1fr;}
  .extra-photos-grid{grid-template-columns:repeat(2,1fr);}
  .table-wrap{overflow-x:auto;}
  .btn-back{display:none;}
}
@media(max-width:640px){
  .cat-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  nav{padding:.9rem 1.1rem;}
  .sec{padding:3rem 1.1rem;}
  .hero-content{padding-left:1.1rem;padding-right:1.1rem;}
  .kpis{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}
  .modal-title{font-size:1.75rem;}
  .modal-price{font-size:2rem;}
  .step-item{flex-direction:column;}
  .timeline-section{padding:3rem 1.1rem;}
  .modal-specs{grid-template-columns:1fr 1fr;}
  .field-row{grid-template-columns:1fr;}
  .services{grid-template-columns:1fr;}
  .wish-grid{grid-template-columns:1fr;}
}

/* ══════════════════════════════════════════════════════════════════
   DIRECTION ARTISTIQUE « CARBON » — appliquée à TOUT le site,
   ACCUEIL INCLUS. Palette dorée du :root conservée ; on ne change que
   la TYPOGRAPHIE (Chakra Petch capitales) et la GÉOMÉTRIE : texture
   carbone, coins coupés, barres d'accent, chiffres en contour,
   marqueurs losange — comme sur la page « Comment ça marche ».
   ══════════════════════════════════════════════════════════════════ */

/* ── 1. Typo Carbon (couleurs inchangées) ── */
body, #page-home, #page-process, #page-login, #page-register, #page-client, #page-admin,
nav#nav, #mobile-menu, .modal-veil {
  --serif:'Chakra Petch','Manrope',sans-serif;
  --sans:'Manrope',system-ui,sans-serif;
}

/* ── 2. Texture carbone diagonale sur les fonds de page ── */
#page-home, #page-process, #page-login, #page-register, #page-client, #page-admin{
  background-color:var(--bg);
  background-image:repeating-linear-gradient(45deg,rgba(61,125,255,.028) 0,rgba(61,125,255,.028) 1px,transparent 1px,transparent 8px);
}

/* ── 3. Titres : Chakra Petch, CAPITALES, tracking serré, pas d'italique ── */
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin,.modal-veil)
  :is(.sec-h2,.sec-h2 em,.step-title,.dash-title,.dash-title span,.modal-title,.modal-hd-title,
      .ap-title,.ap-title em,.auth-form-title,.hero-h1,.hero-h1 .l1,.hero-h1 .l2,.hero-h1 .l3,
      .client-info h3,.empty-state h4,.quote-vehicle-name,.order-title,.wish-name,.cb-title,.cb-title em,
      .v-name,.veh-name,.service-title,.faq-q span,.auc-name){
  font-family:'Chakra Petch',sans-serif !important;
  font-style:normal !important;
  text-transform:uppercase;
  letter-spacing:.005em;
  font-weight:600;
}

/* Logos : Chakra Petch capitales, sans italique */
nav#nav .nav-logo, .ap-logo, .sb-logo, footer .nav-logo, .foot-logo{
  font-family:'Chakra Petch',sans-serif !important;
  font-style:normal !important; text-transform:uppercase; letter-spacing:.12em; font-weight:600;
}
nav#nav .nav-logo em, .ap-logo em, .sb-logo em, .foot-logo em{ font-style:normal !important; }

/* Grands nombres en contour (chiffres d'étape) */
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin)
  :is(.kpi-value,.cstat-n,.qr-price,.modal-price,.stat-n,.v-price,.veh-price,.hstat-n,.auc-price-v){
  font-family:'Chakra Petch',sans-serif !important; font-weight:700; font-style:normal !important;
}

/* ── 4. Barres d'accent verticales (signature Carbon) ── */
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin)
  :is(.step-body,.info-box,.order-card,.quote-card,.panel,.client-banner,.demo-hint,.service-card,.auc-card){
  border-left:3px solid var(--gold);
}
/* L'éditorial : le libellé de section devient un losange doré */
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin) .sec-label::before{
  width:9px; height:9px; background:var(--gold); transform:rotate(45deg);
}

/* ── 5. Coins coupés (clip-path) — boutons, badges, KPI, states ── */
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin,.modal-veil)
  :is(.btn-fill,.btn-outline,.btn-dark,.btn-lg){
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  border-radius:0; letter-spacing:.24em;
}
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin)
  :is(.kpi,.info-box,.empty-state,.demo-hint){
  clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
  border-radius:0;
}
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin)
  :is(.fpill,.step-duration,.b-rs,.b-pe){
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
  border-radius:0 !important;
}

/* ── 6. Chiffre d'étape : carré coupé, contour doré, Chakra Petch ── */
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin) .step-num{
  border-radius:0;
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
  border:1.5px solid var(--gold); background:transparent; color:var(--gold);
  font-family:'Chakra Petch',sans-serif !important; font-weight:700;
}
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin) .step-item:hover .step-num{
  background:var(--gold); color:#14171C; border-color:var(--gold);
}

/* ── 7. Modale : accent doré en tête (pas de clip sur conteneur scrollable) ── */
.modal-box{ border-top:3px solid var(--gold); border-radius:0; }

/* ── 8. Nav Carbon partout ── */
nav#nav.scrolled{ background:rgba(20,23,28,.97); border-bottom-color:var(--bg3); }
nav#nav .nav-links a{ letter-spacing:.12em; }

/* ── 9. Champs : coins nets + libellés Chakra Petch ── */
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin,.modal-veil) :is(.field input,.field select,.field textarea){ border-radius:0; }
:is(#page-home,#page-process,#page-login,#page-register,#page-client,#page-admin,.modal-veil) :is(.field label,.panel-title,.sec-label){ font-family:'Chakra Petch',sans-serif; }

/* ══════════════════════════════════════════════════════════════════
   CINÉMATIQUE DASHBOARD — Commandes, Devis, Wishlist, Enchères
   Typo agrandie + apparitions en cascade + survols lumineux
   ══════════════════════════════════════════════════════════════════ */

/* ── Titres de section plus imposants ── */
:is(#cl-orders,#cl-quotes,#cl-wishlist,#cl-auctions,#ad-auctions) .dash-title{ font-size:2.1rem; }
:is(#cl-orders,#cl-quotes,#cl-wishlist,#cl-auctions,#ad-auctions) .dash-date{ font-size:.75rem; }

/* ── Apparition cinématique en cascade ── */
@keyframes dashCardIn{
  from{ opacity:0; transform:translateY(30px); }
  to{ opacity:1; transform:none; }
}
.order-card,.quote-card,.wish-card,.auc-card{
  animation:dashCardIn .75s cubic-bezier(.22,1,.36,1) both;
}
:is(.order-card,.quote-card,.wish-card,.auc-card):nth-child(2){ animation-delay:.09s; }
:is(.order-card,.quote-card,.wish-card,.auc-card):nth-child(3){ animation-delay:.18s; }
:is(.order-card,.quote-card,.wish-card,.auc-card):nth-child(4){ animation-delay:.27s; }
:is(.order-card,.quote-card,.wish-card,.auc-card):nth-child(5){ animation-delay:.36s; }
:is(.order-card,.quote-card,.wish-card,.auc-card):nth-child(6){ animation-delay:.45s; }

/* ── Survol lumineux ── */
.order-card,.quote-card{ transition:transform .3s,box-shadow .3s,border-color .3s; }
:is(.order-card,.quote-card,.wish-card,.auc-card):hover{
  transform:translateY(-4px);
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  border-color:rgba(61,125,255,.45);
}

/* ── COMMANDES : typo agrandie ── */
.order-card{ padding:2rem; }
.order-title{ font-size:1.5rem; }
.order-sub{ font-size:.7rem; }
.order-price{ font-size:1.75rem; }
.order-thumb{ width:100px; height:68px; }
.order-note-box{ font-size:.85rem; padding:.9rem 1.2rem; }
.track-lbl{ font-size:.52rem; }
.track-dot{ width:26px; height:26px; font-size:.65rem; }
.track-step:not(:last-child)::after{ top:13px; }
.oh-note{ font-size:.78rem; }
.oh-date{ font-size:.62rem; }

/* ── DEVIS : typo agrandie ── */
.quote-vehicle-name{ font-size:1.45rem; }
.quote-date-txt{ font-size:.65rem; }
.qi-item{ font-size:.8rem; }
.quote-notes-box{ font-size:.82rem; }
.qr-text{ font-size:.86rem; }
.qr-price{ font-size:1.9rem; }
.qr-title{ font-size:.62rem; }

/* ── WISHLIST : vignettes plus grandes, typo agrandie ── */
.wish-thumb-wrap{ height:205px; }
.wish-name{ font-size:1.35rem; }
.wish-meta{ font-size:.7rem; margin-bottom:1rem; }
.wish-thumb-price{ font-size:1.45rem; }
.wish-thumb-flag{ font-size:1.15rem; }
.wish-body{ padding:1.2rem 1.3rem 1.3rem; }

/* ── ENCHÈRES : vignettes plus grandes, typo agrandie ── */
.auc-thumb{ height:205px; }
.auc-name{ font-size:1.35rem; }
.auc-meta{ font-size:.7rem; }
.auc-lot{ font-size:.58rem; padding:.32rem .75rem; }
.auc-count{ font-size:.64rem; padding:.32rem .75rem; }
.auc-price-l{ font-size:.52rem; }
.auc-price-v{ font-size:1.25rem; }
.auc-prices{ padding:.7rem 1rem; }
.auc-notes{ font-size:.74rem; }
.auc-body{ padding:1.2rem 1.3rem 1.3rem; }
.uss-strip-item{ font-size:.76rem; }

/* ── Empty states plus présents ── */
:is(#cl-orders,#cl-quotes,#cl-wishlist,#cl-auctions) .empty-state h4{ font-size:1.5rem; }
:is(#cl-orders,#cl-quotes,#cl-wishlist,#cl-auctions) .empty-state p{ font-size:.85rem; }
:is(#cl-orders,#cl-quotes,#cl-wishlist,#cl-auctions) .empty-icon{ font-size:3.4rem; }

/* ══════════════════════════════════════════════════════════════════
   AJUSTEMENTS — Tracker XL, volets enchères, tables admin lisibles
   ══════════════════════════════════════════════════════════════════ */

/* ── Tracker de commande : GRAND format cinématique ── */
.track-wrap{ padding:2.2rem 2rem; }
.track-title{ font-size:.7rem; margin-bottom:1.6rem; }
.track-dot{ width:38px; height:38px; font-size:.95rem; border-width:2.5px; }
.track-step:not(:last-child)::after{ top:19px; height:3px; left:calc(50% + 19px); right:calc(-50% + 19px); }
.track-lbl{ font-size:.62rem; letter-spacing:.1em; margin-top:.2rem; }
.track-step.active .track-dot{ box-shadow:0 0 0 6px rgba(61,125,255,.22), 0 0 24px rgba(61,125,255,.35); }
.track-step.done .track-dot{ font-size:.8rem; }

/* ── Volets enchères admin ── */
.sub-tabs{ display:flex; gap:.4rem; margin-bottom:1.3rem; border-bottom:1px solid var(--bg3); }
.sub-tab{
  background:none; border:none; border-bottom:3px solid transparent;
  color:var(--text3); font-family:'Chakra Petch',sans-serif; font-weight:500;
  font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.75rem 1.2rem; cursor:pointer; transition:all .25s;
  display:inline-flex; align-items:center; gap:.5rem;
}
.sub-tab:hover{ color:var(--text2); }
.sub-tab.active{ color:var(--gold); border-bottom-color:var(--gold); }
.sub-tab-n{
  background:var(--bg3); color:var(--text2); font-size:.6rem; font-weight:700;
  padding:.08rem .5rem; min-width:1.4rem; text-align:center;
}
.sub-tab.active .sub-tab-n{ background:var(--gold); color:#14171C; }

/* ── Tables admin : typo agrandie et lisible ── */
.table-wrap table{ width:100%; border-collapse:collapse; }
.table-wrap th{
  font-family:'Chakra Petch',sans-serif !important; font-weight:600;
  font-size:.62rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); padding:.9rem 1rem; text-align:left;
  border-bottom:1px solid var(--bg4); white-space:nowrap;
}
.table-wrap td{
  font-family:'Manrope',sans-serif; font-weight:400; font-size:.8rem;
  color:var(--text2); padding:.85rem 1rem; vertical-align:middle;
  border-bottom:1px solid var(--bg3); line-height:1.5;
}
.table-wrap td strong{ font-size:.85rem; color:var(--text); font-weight:600; }
.table-wrap tr:hover td{ background:rgba(61,125,255,.03); }
.veh-thumb{ width:72px; height:48px; object-fit:cover; display:block; }
.table-wrap .badge{ font-size:.6rem; padding:.28rem .65rem; }
.table-wrap .btn-sm{ font-size:.56rem; padding:.35rem .8rem; }

/* ══════════════════════════════════════════════════════════════════
   DASHBOARDS « CARBON CINEMA » — espace client & admin.
   Mise en scène : entrées animées, halos dorés, KPI monumentaux,
   sidebar profonde, bannière projecteur. CSS pur, logique intacte.
   ══════════════════════════════════════════════════════════════════ */

@keyframes dcRise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes dcSweep { from { transform:translateX(-120%) skewX(-20deg); } to { transform:translateX(320%) skewX(-20deg); } }
@keyframes dcGlow { 0%,100% { opacity:.45; } 50% { opacity:.85; } }
@keyframes dcBar { from { transform:scaleY(0); } to { transform:scaleY(1); } }

/* ── Fond de scène : vignette + nappe dorée ── */
:is(#page-client,#page-admin) .dash-main{
  background:
    radial-gradient(90% 60% at 70% -10%, rgba(61,125,255,.07), transparent 60%),
    radial-gradient(120% 90% at 50% 115%, rgba(0,0,0,.55), transparent 55%),
    var(--bg);
}

/* ── Entrées en scène, cascadées ── */
:is(#page-client,#page-admin).active .dash-content > *{ animation:dcRise .7s cubic-bezier(.2,.7,.2,1) both; }
:is(#page-client,#page-admin).active .dash-content > *:nth-child(1){ animation-delay:.05s; }
:is(#page-client,#page-admin).active .dash-content > *:nth-child(2){ animation-delay:.14s; }
:is(#page-client,#page-admin).active .dash-content > *:nth-child(3){ animation-delay:.23s; }
:is(#page-client,#page-admin).active .dash-content > *:nth-child(4){ animation-delay:.32s; }
:is(#page-client,#page-admin).active .dash-content > *:nth-child(n+5){ animation-delay:.4s; }

/* ── Sidebar : profondeur, liseré doré, lien actif lumineux ── */
:is(#page-client,#page-admin) .kz-side{
  background:linear-gradient(180deg,#14120d 0%,#0C0E13 55%,#0c0b07 100%);
  border-right:1px solid rgba(61,125,255,.16);
  box-shadow:14px 0 44px rgba(0,0,0,.5);
}
:is(#page-client,#page-admin) .sb-header{ position:relative; }
:is(#page-client,#page-admin) .sb-header::after{
  content:''; position:absolute; left:1.5rem; right:1.5rem; bottom:-1px; height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
}
:is(#page-client,#page-admin) .sb-link{ transition:all .25s; }
:is(#page-client,#page-admin) .sb-link.active{
  background:linear-gradient(90deg,rgba(61,125,255,.16),rgba(61,125,255,.02));
  box-shadow:inset 0 0 22px rgba(61,125,255,.06);
  text-shadow:0 0 14px rgba(169,200,255,.4);
}
:is(#page-client,#page-admin) .sb-link:hover{ padding-left:1.75rem; }
:is(#page-client,#page-admin) .sb-ava{
  border-radius:0; clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  box-shadow:0 0 18px rgba(61,125,255,.45);
}

/* ── Topbar : verre fumé + ligne dorée ── */
:is(#page-client,#page-admin) .dash-topbar{
  background:rgba(20,18,14,.82); backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(61,125,255,.2);
  box-shadow:0 8px 30px rgba(0,0,0,.35);
}

/* ── Titre : grand, capitales, soulignement laser ── */
:is(#page-client,#page-admin) .dash-title{
  font-size:2.3rem; letter-spacing:.02em; position:relative; padding-bottom:.55rem;
}
:is(#page-client,#page-admin) .dash-title::after{
  content:''; position:absolute; left:0; bottom:0; width:64px; height:3px;
  background:linear-gradient(90deg,var(--gold),transparent);
  box-shadow:0 0 12px rgba(61,125,255,.6);
}
:is(#page-client,#page-admin) .dash-title span{ color:var(--gold2); text-shadow:0 0 22px rgba(61,125,255,.45); }

/* ── KPI : monumentaux, halo, balayage lumineux au survol ── */
:is(#page-client,#page-admin) .kpis{ gap:.9rem; background:transparent; }
:is(#page-client,#page-admin) .kpi{
  background:linear-gradient(160deg,#1F242E 0%,#1d1b17 60%,#191713 100%);
  border:1px solid rgba(61,125,255,.14);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
  padding:1.6rem 1.7rem; transition:transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s, box-shadow .3s;
}
:is(#page-client,#page-admin) .kpi::before{
  background:linear-gradient(180deg,var(--gold3),var(--gold)); width:3px;
  box-shadow:0 0 16px rgba(61,125,255,.55);
  transform-origin:top; animation:dcBar .8s cubic-bezier(.2,.7,.2,1) .5s both;
}
:is(#page-client,#page-admin) .kpi::after{
  content:''; position:absolute; top:0; bottom:0; width:38%; left:0;
  background:linear-gradient(105deg,transparent,rgba(169,200,255,.09),transparent);
  transform:translateX(-120%) skewX(-20deg); pointer-events:none;
}
:is(#page-client,#page-admin) .kpi:hover{ transform:translateY(-4px); border-color:rgba(61,125,255,.45); box-shadow:0 18px 40px rgba(0,0,0,.45), 0 0 24px rgba(61,125,255,.1); }
:is(#page-client,#page-admin) .kpi:hover::after{ animation:dcSweep .9s ease; }
:is(#page-client,#page-admin) .kpi-value{
  font-size:2.9rem; font-weight:700; letter-spacing:.01em;
  background:linear-gradient(175deg,#CDE0FF 20%,var(--gold2) 60%,var(--gold) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
:is(#page-client,#page-admin) .kpi-label{ color:var(--gold2); letter-spacing:.14em; font-weight:400; white-space:normal; overflow:visible; line-height:1.5; }

/* Grille KPI : 2 colonnes dès 1100px (libellés longs) */
@media (max-width:1100px){
  :is(#page-client,#page-admin) .kpis{ grid-template-columns:repeat(2,1fr); }
}

/* ── Panels : plaque sombre biseautée + tête soulignée ── */
:is(#page-client,#page-admin) .panel{
  background:linear-gradient(170deg,#181D25,#12151B);
  border:1px solid rgba(61,125,255,.12); border-left:3px solid var(--gold);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
  box-shadow:0 16px 44px rgba(0,0,0,.35);
}
:is(#page-client,#page-admin) .panel-head{ border-bottom:1px solid rgba(61,125,255,.14); }
:is(#page-client,#page-admin) .panel-title{ color:var(--gold2); letter-spacing:.28em; }

/* ── Bannière client : projecteur cinéma ── */
#page-client .client-banner{
  position:relative; overflow:hidden;
  background:linear-gradient(120deg,#1C222C 0%,#12151B 55%,#15130f 100%);
  border:1px solid rgba(61,125,255,.2); border-left:3px solid var(--gold);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
}
#page-client .client-banner::before{
  background:radial-gradient(circle at 80% 20%, rgba(61,125,255,.22), transparent 55%);
  animation:dcGlow 5s ease-in-out infinite;
}

/* ── Tableaux : lignes réactives, en-têtes Chakra ── */
:is(#page-client,#page-admin) thead th{ font-family:'Chakra Petch',sans-serif; letter-spacing:.24em; color:var(--gold2); }
:is(#page-client,#page-admin) tbody tr{ transition:background .2s, box-shadow .2s; }
:is(#page-client,#page-admin) tbody tr:hover{ background:rgba(61,125,255,.06); box-shadow:inset 3px 0 0 var(--gold); }

/* ── Cartes commandes / devis : lueur au survol ── */
:is(#page-client,#page-admin) :is(.order-card,.quote-card){
  transition:transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s, box-shadow .3s;
}
:is(#page-client,#page-admin) :is(.order-card,.quote-card):hover{
  transform:translateY(-3px); border-color:rgba(61,125,255,.4);
  box-shadow:0 16px 38px rgba(0,0,0,.45), 0 0 20px rgba(61,125,255,.08);
}

@media (prefers-reduced-motion:reduce){
  :is(#page-client,#page-admin) *{ animation:none !important; transition:none !important; }
}

/* ══════════════════════════════════════════════════════════════════
   ACCUEIL — Deux chemins (enchères / occasion) + Pourquoi 2x2
   ══════════════════════════════════════════════════════════════════ */
.find-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.find-card{
  position:relative; background:linear-gradient(165deg,#1C222C,#12151B);
  border:1px solid rgba(61,125,255,.16); border-left:3px solid var(--gold);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
  padding:2.4rem 2.2rem; display:flex; flex-direction:column; gap:1rem;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s, box-shadow .3s;
}
.find-card:hover{ transform:translateY(-5px); border-color:rgba(61,125,255,.5); box-shadow:0 20px 50px rgba(0,0,0,.45), 0 0 26px rgba(61,125,255,.1); }
.find-icon{ font-size:2.2rem; }
.find-flag{ position:absolute; top:1.6rem; right:1.6rem; font-size:1rem; letter-spacing:.3em; }
.find-title{ font-family:'Chakra Petch',sans-serif; font-size:1.4rem; font-weight:600; text-transform:uppercase; color:var(--text); }
.find-desc{ font-family:var(--sans); font-weight:300; font-size:.82rem; color:var(--text3); line-height:1.85; }
.find-desc strong{ color:var(--gold2); font-weight:500; }
.find-points{ list-style:none; display:flex; flex-direction:column; gap:.5rem; margin:.3rem 0 .8rem; }
.find-points li{ font-family:var(--sans); font-weight:300; font-size:.76rem; color:var(--text2); padding-left:1.3rem; position:relative; }
.find-points li::before{ content:''; position:absolute; left:0; top:.42em; width:8px; height:8px; background:var(--gold); transform:rotate(45deg); }
.find-card .btn{ align-self:flex-start; margin-top:auto; }

/* Pourquoi : 4 cartes de confiance en 2x2 */
.why-grid{ grid-template-columns:repeat(2,1fr) !important; gap:1.5rem; }
.why-cell{ padding:2rem; background:var(--bg2); border:1px solid var(--bg3); border-left:3px solid var(--gold); }
.why-cell .why-text{ line-height:1.9; }

@media(max-width:900px){
  .find-grid{ grid-template-columns:1fr; }
  .why-grid{ grid-template-columns:1fr !important; }
}

/* ══════════════════════════════════════════════════════════════════
   FICHE ENCHÈRE — galerie photos + carte cliquable
   ══════════════════════════════════════════════════════════════════ */
.auc-photos-badge{ position:absolute; bottom:.6rem; left:.6rem; background:rgba(0,0,0,.8); color:#fff; font-family:var(--sans); font-weight:400; font-size:.55rem; padding:.22rem .55rem; letter-spacing:.05em; }
.auc-see-fiche{ margin-top:.7rem; font-family:'Chakra Petch',sans-serif; font-size:.58rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold2); text-align:center; opacity:.75; transition:opacity .2s; }
.auc-card:hover .auc-see-fiche{ opacity:1; }

.auc-gallery{ background:var(--bg3); }
.auc-gallery-main{ height:360px; overflow:hidden; background:var(--bg3); }
.auc-gallery-main img{ width:100%; height:100%; object-fit:cover; display:block; }
.auc-gallery-thumbs{ display:flex; gap:.45rem; padding:.6rem; background:var(--bg2); overflow-x:auto; border-bottom:1px solid var(--bg3); }
.auc-gthumb{ width:88px; height:60px; object-fit:cover; cursor:pointer; opacity:.45; border:2px solid transparent; transition:all .2s; flex-shrink:0; }
.auc-gthumb:hover{ opacity:.85; }
.auc-gthumb.active{ opacity:1; border-color:var(--gold); }
@media(max-width:600px){ .auc-gallery-main{ height:240px; } }

/* ══════════════════════════════════════════════════════════════════
   HERO « COMMENT ÇA MARCHE » — titre horizontal, centré
   ══════════════════════════════════════════════════════════════════ */
#page-process .process-hero{ align-items:center; }
#page-process .process-hero-content{ max-width:1240px; margin:0 auto; text-align:center; }
#page-process .process-hero-content .sec-label{ justify-content:center; }
#page-process .hero-h1{ font-size:clamp(1.3rem,3.1vw,2.5rem); line-height:1.3; }
#page-process .hero-h1 .l1,
#page-process .hero-h1 .l2,
#page-process .hero-h1 .l3{ display:inline; font-size:inherit; }
#page-process .hero-rule{ margin-left:auto; margin-right:auto; }
#page-process .hero-body{ margin-left:auto; margin-right:auto; max-width:620px; }

/* ══════════════════════════════════════════════════════════════════
   NOTIFICATIONS — cloche, badge, liste
   ══════════════════════════════════════════════════════════════════ */
.notif-bell{
  position:relative; background:none; border:1px solid var(--bg4);
  color:var(--text2); width:36px; height:32px; cursor:pointer;
  font-size:.9rem; line-height:1; transition:all .22s; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
}
.notif-bell:hover{ border-color:var(--gold); color:var(--gold); }
.notif-badge{
  position:absolute; top:-7px; right:-7px; min-width:17px; height:17px;
  background:#e05050; color:#fff; border-radius:9px;
  font-family:var(--sans); font-size:.5rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; padding:0 4px;
  box-shadow:0 0 0 2px var(--bg);
}

.notif-item{ display:flex; gap:1rem; padding:1rem 1.4rem; border-bottom:1px solid var(--bg3); transition:background .2s; }
.notif-item:last-child{ border-bottom:none; }
.notif-item:hover{ background:rgba(61,125,255,.03); }
.notif-item.unread{ background:rgba(61,125,255,.06); border-left:3px solid var(--gold); }
.notif-icon{ font-size:1.25rem; flex-shrink:0; line-height:1.3; }
.notif-main{ flex:1; min-width:0; }
.notif-title{ font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.85rem; color:var(--text); line-height:1.4; margin-bottom:.3rem; }
.notif-item.unread .notif-title{ color:var(--gold3); }
.notif-body{ font-family:var(--sans); font-weight:300; font-size:.76rem; color:var(--text3); line-height:1.7; }
.notif-date{ font-family:var(--sans); font-weight:200; font-size:.6rem; color:var(--text3); margin-top:.45rem; opacity:.8; }

/* ══════════════════════════════════════════════════════════════════
   CALENDRIER ADMIN + ETA COMMANDES
   ══════════════════════════════════════════════════════════════════ */
.cal-grid{
  display:grid; grid-template-columns:repeat(7,1fr);
  gap:1px; background:var(--bg3); padding:1px;
}
.cal-head{
  background:var(--bg); padding:.55rem .3rem; text-align:center;
  font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.58rem;
  letter-spacing:.2em; color:var(--gold2);
}
.cal-cell{
  background:var(--bg2); min-height:86px; padding:.4rem .45rem;
  display:flex; flex-direction:column; gap:.25rem; transition:background .2s;
}
.cal-cell:hover{ background:rgba(61,125,255,.05); }
.cal-cell.out{ opacity:.32; }
.cal-cell.today{ background:rgba(61,125,255,.1); box-shadow:inset 0 0 0 1.5px var(--gold); }
.cal-cell.today .cal-day{ color:var(--gold3); font-weight:700; }
.cal-day{
  font-family:'Chakra Petch',sans-serif; font-weight:500; font-size:.72rem;
  color:var(--text3); line-height:1;
}
.cal-ev{
  font-family:var(--sans); font-weight:400; font-size:.56rem; line-height:1.35;
  padding:.22rem .4rem; color:var(--text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  border-left:2px solid transparent;
}
.cal-ev.ev-ship{ background:rgba(72,120,192,.16); border-left-color:#4878c0; }
.cal-ev.ev-ship:hover{ background:rgba(72,120,192,.3); }
.cal-ev.ev-auction{ background:rgba(61,125,255,.14); border-left-color:var(--gold); }

@media(max-width:900px){
  .cal-cell{ min-height:60px; padding:.25rem; }
  .cal-ev{ font-size:.48rem; padding:.15rem .25rem; }
}

/* ── Barre ETA sur la carte de commande client ── */
.order-eta-bar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  flex-wrap:wrap; margin-top:.9rem; padding:.8rem 1.2rem;
  background:rgba(72,120,192,.08); border-left:3px solid #4878c0;
}
.order-eta-txt{ font-family:var(--sans); font-weight:300; font-size:.82rem; color:var(--text2); }
.order-eta-txt strong{ color:var(--text); font-weight:600; }
.eta-chip{
  display:inline-block; margin-left:.5rem; padding:.14rem .55rem;
  font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.6rem;
  letter-spacing:.08em; background:var(--bg3); color:var(--text2);
}
.eta-chip.warn{ background:rgba(61,125,255,.2); color:var(--gold3); }
.eta-chip.ok{ background:rgba(74,186,112,.16); color:#4aba70; }

/* ══════════════════════════════════════════════════════════════════
   DOSSIERS DE COMMANDE — recherche + puce dossier
   ══════════════════════════════════════════════════════════════════ */
.order-search-wrap{
  position:relative; display:flex; align-items:center; min-width:300px; flex:0 1 380px;
}
.order-search-icn{ position:absolute; left:.7rem; font-size:.75rem; opacity:.55; pointer-events:none; }
.order-search{
  width:100%; background:var(--bg); border:1px solid var(--bg4); color:var(--text);
  font-family:var(--sans); font-weight:400; font-size:.72rem;
  padding:.55rem .9rem .55rem 2.1rem; border-radius:0; transition:border-color .25s, box-shadow .25s;
}
.order-search::placeholder{ color:var(--text3); opacity:.7; }
.order-search:focus{
  outline:none; border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(61,125,255,.15), 0 0 18px rgba(61,125,255,.1);
}
.dossier-chip{
  display:inline-block; cursor:pointer;
  font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.68rem; letter-spacing:.06em;
  color:var(--gold2); background:rgba(61,125,255,.1); border:1px solid rgba(61,125,255,.28);
  padding:.3rem .65rem; white-space:nowrap;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
  transition:all .2s;
}
.dossier-chip:hover{ background:var(--gold); color:#14171C; }
@media(max-width:900px){ .order-search-wrap{ min-width:0; flex:1 1 100%; } .panel-head{ flex-wrap:wrap; gap:.6rem; } }

/* ══════════════════════════════════════════════════════════════════
   RÉALISATIONS · PARTENAIRES · MESSAGERIE · STATS
   ══════════════════════════════════════════════════════════════════ */

/* Réalisations */
.real-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.4rem; }
.real-card{
  background:linear-gradient(165deg,#1C222C,#12151B); border:1px solid rgba(61,125,255,.16);
  border-left:3px solid var(--gold); overflow:hidden;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.real-card:hover{ transform:translateY(-5px); border-color:rgba(61,125,255,.5); box-shadow:0 20px 50px rgba(0,0,0,.45); }
.real-thumb{ position:relative; height:190px; background:var(--bg3); overflow:hidden; }
.real-thumb img{ width:100%; height:100%; object-fit:cover; }
.real-badge{
  position:absolute; top:.7rem; left:.7rem; background:rgba(74,186,112,.9); color:#fff;
  font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.52rem; letter-spacing:.15em;
  text-transform:uppercase; padding:.28rem .7rem;
}
.real-body{ padding:1.2rem 1.3rem 1.4rem; }
.real-name{ font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:1.1rem; text-transform:uppercase; color:var(--text); }
.real-meta{ font-family:var(--sans); font-weight:300; font-size:.66rem; color:var(--text3); margin-top:.3rem; }
.real-note{ font-family:var(--sans); font-weight:300; font-size:.76rem; color:var(--text2); line-height:1.7; margin-top:.7rem; }


/* Messagerie par dossier */
.order-msgs{ margin-top:1rem; background:var(--bg); border:1px solid var(--bg3); padding:1rem 1.2rem; }
.order-msgs-head{ font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold2); margin-bottom:.7rem; }
.msg-thread{ display:flex; flex-direction:column; gap:.5rem; }
.msg{ max-width:78%; padding:.55rem .8rem; }
.msg-me{ align-self:flex-end; background:rgba(61,125,255,.14); border-right:2px solid var(--gold); }
.msg-them{ align-self:flex-start; background:var(--bg3); border-left:2px solid var(--bg4); }
.msg-txt{ font-family:var(--sans); font-weight:300; font-size:.78rem; color:var(--text2); line-height:1.6; }
.msg-when{ font-family:var(--sans); font-weight:200; font-size:.54rem; color:var(--text3); margin-top:.25rem; }
.msg-empty{ font-family:var(--sans); font-weight:300; font-size:.72rem; color:var(--text3); padding:.3rem 0; }
.msg-input-row{ display:flex; gap:.5rem; margin-top:.8rem; }
.msg-input{
  flex:1; background:var(--bg2); border:1px solid var(--bg4); color:var(--text);
  font-family:var(--sans); font-size:.75rem; padding:.55rem .8rem; border-radius:0;
}
.msg-input:focus{ outline:none; border-color:var(--gold); }
.msg-unread{ font-size:.8rem; margin-left:.3rem; animation:pulseDot 1.5s ease-in-out infinite; }

/* Chiffres clés */
.stats-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--bg3); }
.stat-cell{ background:var(--bg2); padding:1.3rem 1.4rem; transition:background .25s; }
.stat-cell:hover{ background:#232934; }
.stat-val{
  font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:1.6rem;
  background:linear-gradient(175deg,#CDE0FF 20%,var(--gold2) 60%,var(--gold) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stat-lbl{ font-family:'Chakra Petch',sans-serif; font-weight:500; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold2); margin-top:.35rem; }
.stat-sub{ font-family:var(--sans); font-weight:300; font-size:.64rem; color:var(--text3); margin-top:.3rem; }
@media(max-width:900px){ .stats-grid{ grid-template-columns:repeat(2,1fr); } }

/* ══════════════════════════════════════════════════════════════════
   PAGE CONTACT — équipe à trois
   ══════════════════════════════════════════════════════════════════ */
.contact-hero{ padding:9.5rem 5vw 3rem; text-align:center; max-width:820px; margin:0 auto; }
.ct-h1{
  font-family:'Chakra Petch',sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.02em; font-size:clamp(1.7rem,4vw,2.7rem); line-height:1.15; color:var(--text);
}
.ct-h1 em{ color:var(--gold); font-style:normal; }
.contact-intro{ font-family:var(--sans); font-weight:300; font-size:.85rem; color:var(--text3); line-height:1.9; margin-top:1.2rem; }

.team-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem;
  max-width:1240px; margin:2.5rem auto 0; padding:0 5vw;
}
@media(max-width:1100px) and (min-width:901px){
  .team-grid{ grid-template-columns:repeat(2,1fr); max-width:760px; }
}
.team-card{
  position:relative; background:linear-gradient(165deg,#1C222C,#12151B);
  border:1px solid rgba(61,125,255,.16); border-left:3px solid var(--gold);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
  padding:2.2rem 1.8rem; text-align:center;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;
}
.team-card:hover{ transform:translateY(-5px); border-color:rgba(61,125,255,.5); box-shadow:0 20px 50px rgba(0,0,0,.45),0 0 26px rgba(61,125,255,.1); }
.team-ava{
  width:74px; height:74px; margin:0 auto 1.1rem;
  display:flex; align-items:center; justify-content:center;
  background:rgba(61,125,255,.12); border:1.5px solid var(--gold);
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
  font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:1.5rem; color:var(--gold);
}
.team-name{ font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:1.15rem; text-transform:uppercase; letter-spacing:.06em; color:var(--text); }
.team-role{ font-family:'Chakra Petch',sans-serif; font-weight:500; font-size:.56rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold2); margin-top:.35rem; }
.team-sep{ width:44px; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:1.1rem auto; }
.team-tel{ display:inline-flex; align-items:center; gap:.55rem; font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.85rem; letter-spacing:.1em; color:var(--text2); }
.team-tel span{ color:var(--gold); }
.team-note{ font-family:var(--sans); font-weight:300; font-size:.68rem; color:var(--text3); margin-top:.7rem; }

.info-band{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--bg3);
  border:1px solid var(--bg3); max-width:1080px; margin:2.8rem auto 0;
}
.info-cell{ background:var(--bg2); padding:1.6rem 1.4rem; text-align:center; transition:background .3s; }
.info-cell:hover{ background:#232934; }
.info-icn{ font-size:1.3rem; margin-bottom:.6rem; }
.info-ttl{ font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.58rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:.45rem; }
.info-val{ font-family:var(--sans); font-weight:400; font-size:.82rem; color:var(--text2); line-height:1.7; }
.info-val a{ color:var(--gold2); text-decoration:none; }
.info-val a:hover{ text-decoration:underline; }

@media(max-width:900px){
  .team-grid{ grid-template-columns:1fr; max-width:460px; }
  .info-band{ grid-template-columns:1fr; max-width:460px; }
  .contact-hero{ padding-top:7.5rem; }
}

/* ══════════════════════════════════════════════════════════════════
   AMBIANCE CINÉMA DE LA VITRINE — rideau, grain, vignette,
   logo image dans la nav, balayage lumineux du hero
   ══════════════════════════════════════════════════════════════════ */

/* ── Rideau d'ouverture (une fois par session) ── */
/* ═══════════════════════════════════════════════════════════════════
   KAIZOKU IMPORT — RIDEAU D'OUVERTURE · variante BURN
   Le logo démarre comme une roue en burn : léger recul (grip),
   rotation lancée + vibration + fumée, puis le rideau décolle.
   Remplace le bloc « rideau » existant de style.css.

   HTML CORRESPONDANT (à placer juste après <body>)

     <div id="curtain">
       <div class="cstage">
         <div class="csmoke s1"></div>
         <div class="csmoke s2"></div>
         <div class="csmoke s3"></div>
         <div class="csmoke s4"></div>
         <div class="csmoke s5"></div>
         <div class="cshake">
           <div class="cspin">
             <div class="cmark" role="img" aria-label="Logo Kaizoku Import"></div>
           </div>
         </div>
       </div>
       <div class="cw">Kaizoku Import</div>
     </div>

   RÉGLAGES (sur #curtain ou :root)
     --kz-tours     nombre de tours de roue      (défaut 5)
     --kz-burn-dur  durée de la rotation         (défaut 2.1s)

   Le script sessionStorage du <head> et les dépendances
   (logo-kaizoku.png, Chakra Petch, --serif, --gold) sont inchangés.
   ═══════════════════════════════════════════════════════════════════ */


/* ───────────── LES ANIMATIONS ───────────── */

/* Apparition du logo (écourtée : le burn prend le relais) */
@keyframes curtainMark {
  0%   { opacity: 0; transform: scale(.82); }
  55%  { opacity: 1; }
  100% { opacity: 1; transform: scale(1); }
}

/* Les lettres du nom se resserrent (inchangé) */
@keyframes curtainWord {
  0%   { opacity: 0;  letter-spacing: 1.1em; }
  40%  { opacity: 1; }
  100% { opacity: .6; letter-spacing: .6em; }
}

/* Le rideau remonte (inchangé) */
@keyframes curtainOut {
  to { transform: translateY(-101%); visibility: hidden; }
}

/* NOUVEAU · la roue : léger recul (grip)… puis ça part */
@keyframes curtainBurn {
  0%   { transform: rotate(0deg); }
  12%  { transform: rotate(-28deg); }
  100% { transform: rotate(calc(var(--kz-tours, 5) * 1turn)); }
}

/* NOUVEAU · vibration pendant le burn */
@keyframes curtainShake {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(1.5px, -1px); }
  50% { transform: translate(-1.5px, 1px); }
  75% { transform: translate(1px, 1.5px); }
}

/* NOUVEAU · bouffées de fumée */
@keyframes curtainSmoke {
  0%   { opacity: 0; transform: translate(0, 10px) scale(.35); }
  25%  { opacity: .5; }
  100% { opacity: 0; transform: translate(var(--sx, 0px), -95px) scale(1.7); }
}


/* ───────────── LE RIDEAU ───────────── */

#curtain {
  position: fixed; inset: 0; z-index: 9998;
  background: #07090C;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1.5rem;
  animation: curtainOut 1.1s cubic-bezier(.7, 0, .3, 1) 1.5s forwards;
}

/* Scène du logo : fumée derrière, roue devant */
#curtain .cstage { position: relative; width: 132px; height: 132px; }

#curtain .cshake {
  width: 100%; height: 100%;
  animation: curtainShake .09s linear .45s 14;
}

/* La roue : apparition + rotation lancée */
#curtain .cspin {
  width: 100%; height: 100%; border-radius: 50%;
  opacity: 0;
  animation:
    curtainMark .5s cubic-bezier(.16, .8, .24, 1) .1s forwards,
    curtainBurn var(--kz-burn-dur, 2.1s) cubic-bezier(.55, .04, .28, .99) .4s forwards;
}

/* Le logo (l'opacité/l'apparition est portée par .cspin) */
#curtain .cmark {
  width: 100%; height: 100%;
  background-image: url('logo-kaizoku.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/* Fumée */
#curtain .csmoke {
  position: absolute; bottom: -6px; width: 54px; height: 54px;
  border-radius: 50%; opacity: 0; filter: blur(11px);
  background: radial-gradient(circle at 50% 60%, rgba(205, 214, 230, .38), rgba(205, 214, 230, 0) 70%);
  animation: curtainSmoke 1.5s ease-out forwards;
}
#curtain .csmoke.s1 { left: -22px;  --sx: -46px; animation-delay: .50s; }
#curtain .csmoke.s2 { right: -22px; --sx: 46px;  animation-delay: .62s; width: 64px; height: 64px; }
#curtain .csmoke.s3 { left: 18px;   --sx: -20px; animation-delay: .78s; width: 70px; height: 70px; }
#curtain .csmoke.s4 { right: 12px;  --sx: 30px;  animation-delay: .95s; }
#curtain .csmoke.s5 { left: 40px;   --sx: 6px;   animation-delay: 1.12s; width: 76px; height: 76px; }

/* Le nom sous le logo (inchangé) */
#curtain .cw {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .6em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0;
  animation: curtainWord 1.5s ease forwards;
}


/* ───────────── VISITE DÉJÀ VUE ───────────── */

html[data-seen] #curtain { display: none; }


/* ───────────── ANIMATIONS RÉDUITES ───────────── */

@media (prefers-reduced-motion: reduce) {
  #curtain { display: none; }
}


/* ── Grain de pellicule + vignette (globaux, très subtils) ── */
.film-grain{
  position:fixed;inset:-50%;z-index:9990;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grainShift 1.1s steps(4) infinite;
}
@keyframes grainShift{
  0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}
  50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}100%{transform:translate(0,0)}
}
.vignette{position:fixed;inset:0;z-index:9985;pointer-events:none;box-shadow:inset 0 0 220px rgba(0,0,0,.55);}
@media (prefers-reduced-motion:reduce){ .film-grain{animation:none;} #curtain{display:none;} }

/* ── Logo image dans la nav ── */
.nav-logo-wrap{display:flex;align-items:center;gap:.85rem;cursor:pointer;}
.nav-mark{
  width:52px;height:52px;flex-shrink:0;
  background-image:url('logo-kaizoku.png');background-size:contain;
  background-position:center;background-repeat:no-repeat;
  transition:width .4s,height .4s;
}
nav#nav.scrolled .nav-mark{width:42px;height:42px;}
@media(max-width:620px){ .nav-mark{width:38px;height:38px;} }

/* ── Balayage lumineux type projecteur sur le hero ── */
.hero-sweep{
  position:absolute;top:0;bottom:0;width:45%;z-index:2;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(169,200,255,.07),transparent);
  transform:translateX(-140%) skewX(-18deg);
  animation:heroSweep 9s ease-in-out 3.2s infinite;
}
@keyframes heroSweep{
  0%,55%,100%{transform:translateX(-140%) skewX(-18deg);}
  30%{transform:translateX(340%) skewX(-18deg);}
}


/* ══════════ PORT VITRINE : ACCUEIL ══════════ */

/* keyframes portés (#page-home) */

@keyframes grainShiftHv{
  0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}
  50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}100%{transform:translate(0,0)}
}

@keyframes curtainMarkHv{0%{opacity:0;transform:scale(.82)}55%{opacity:1}100%{opacity:1;transform:scale(1)}}

@keyframes curtainWordHv{0%{opacity:0;letter-spacing:1.1em}40%{opacity:1}100%{opacity:.6;letter-spacing:.6em}}

@keyframes curtainOutHv{to{transform:translateY(-100%);}}

@keyframes pulseDotHv{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(61,125,255,.5)}50%{opacity:.5;box-shadow:0 0 0 6px rgba(61,125,255,0)}}

@keyframes heroPushHv{to{transform:scale(1.04);}}

@keyframes heroDriftHv{from{transform:scale(1.04) translateX(0);}to{transform:scale(1.11) translateX(-1.4%);}}

@keyframes heroSweepHv{0%{transform:translateX(-140%) skewX(-18deg)}45%,100%{transform:translateX(320%) skewX(-18deg)}}

@keyframes cineLineHv{from{opacity:0;transform:translateY(34px);filter:blur(10px);}to{opacity:1;transform:none;filter:blur(0);}}

@keyframes cineUpHv{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}

@keyframes ruleGrowHv{to{transform:scaleX(1);}}

@keyframes scrollDripHv{to{top:110%;}}

@keyframes marqueeAnimHv{from{transform:translateX(0);}to{transform:translateX(-50%);}}

@keyframes cardSweepHv{to{transform:translateX(320%) skewX(-20deg);}}
#page-home{

@media(max-width:620px){ .nav-links{gap:.7rem;} .nav-links a{font-size:.55rem;letter-spacing:.02em;} .nav-mark{width:38px;height:38px;} .nav-logo{font-size:.9rem;} nav{padding:1rem 1.2rem;gap:.7rem;} }


/* ══ BOUTONS ══ */
.btn{
  cursor:pointer;font-family:var(--serif);font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  transition:all .3s;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
}

.btn-fill{background:var(--gold);color:#14171C;padding:.88rem 2.2rem;font-size:.65rem;}

.btn-fill:hover{background:var(--gold2);box-shadow:0 0 30px rgba(61,125,255,.35);}

.btn-outline{background:none;border:1px solid var(--gold);color:var(--gold);padding:.85rem 2rem;font-size:.65rem;}

.btn-outline:hover{background:var(--gold);color:#14171C;}


/* ══ HERO ══ */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background:#07090C;}

.hero-bg{
  position:absolute;inset:0;z-index:0;
  background-image:url('https://images.unsplash.com/photo-1492144534655-ae79c964c9d7?w=1800&q=85');
  background-size:cover;background-position:center 40%;
  filter:brightness(.42) saturate(1.15) contrast(1.05);
  transform:scale(1.16);animation:heroPushHv 2.6s cubic-bezier(.16,.8,.24,1) 1.9s forwards, heroDriftHv 26s ease-in-out 4.5s infinite alternate;
}

.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(70% 60% at 20% 45%,rgba(61,125,255,.13),transparent 62%),
    linear-gradient(105deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.34) 55%,rgba(0,0,0,.2) 100%),
    linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 48%);
}

/* balayage lumineux type projecteur */
.hero-sweep{
  position:absolute;top:0;bottom:0;width:45%;z-index:2;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(169,200,255,.07),transparent);
  transform:translateX(-140%) skewX(-18deg);
  animation:heroSweepHv 9s ease-in-out 3.2s infinite;
}

.hero-content{position:relative;z-index:3;padding:8rem 5vw 6rem;max-width:820px;will-change:transform,opacity;}


.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.9rem;font-family:var(--serif);font-weight:500;
  font-size:.6rem;color:var(--gold3);letter-spacing:.45em;text-transform:uppercase;margin-bottom:1.8rem;
  opacity:0;animation:cineUpHv .9s cubic-bezier(.2,.7,.2,1) 2.5s forwards;
}

.hero-eyebrow::before{content:'';width:30px;height:1px;background:var(--gold);}


.hero-h1{font-family:var(--serif);font-weight:600;line-height:1.02;text-transform:uppercase;letter-spacing:.004em;}

.hero-h1 span{display:block;font-size:clamp(2.1rem,4.6vw,4.3rem);opacity:0;}

.hero-h1 .l1{color:#EFF3F8;animation:cineLineHv 1.1s cubic-bezier(.16,.8,.24,1) 2.62s forwards;}

.hero-h1 .l2{color:#EFF3F8;animation:cineLineHv 1.1s cubic-bezier(.16,.8,.24,1) 2.78s forwards;}

.hero-h1 .l3{color:var(--gold);text-shadow:0 0 22px rgba(61,125,255,.16);animation:cineLineHv 1.1s cubic-bezier(.16,.8,.24,1) 2.94s forwards;}


.hero-rule{width:70px;height:2px;background:linear-gradient(90deg,var(--gold3),transparent);margin:2rem 0;
  transform-origin:left;transform:scaleX(0);box-shadow:0 0 16px rgba(61,125,255,.55);
  animation:ruleGrowHv 1s cubic-bezier(.16,.8,.24,1) 3.15s forwards;}


.hero-body{font-family:var(--sans);font-weight:300;font-size:.86rem;line-height:1.95;
  color:rgba(233,237,242,.75);max-width:480px;opacity:0;animation:cineUpHv 1s ease 3.3s forwards;}


.hero-cta{display:flex;gap:1rem;align-items:center;margin-top:2.2rem;flex-wrap:wrap;
  opacity:0;animation:cineUpHv 1s ease 3.7s forwards;}


.hero-stats{position:absolute;right:5vw;bottom:6vh;display:flex;gap:2.4rem;z-index:3;
  opacity:0;animation:cineUpHv 1.1s ease 3.9s forwards;}

.hstat{text-align:center;}

.hstat-n{font-family:var(--serif);font-size:2.3rem;font-weight:700;line-height:1;
  background:linear-gradient(175deg,#CDE0FF 20%,var(--gold2) 60%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

.hstat-l{font-family:var(--serif);font-weight:500;font-size:.48rem;letter-spacing:.26em;
  text-transform:uppercase;color:rgba(185,194,206,.6);margin-top:.4rem;}

.hstat-sep{width:1px;height:48px;background:linear-gradient(transparent,rgba(61,125,255,.45),transparent);align-self:center;}


.hero-scroll{position:absolute;left:50%;bottom:3vh;transform:translateX(-50%);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:.55rem;cursor:pointer;
  opacity:0;animation:cineUpHv 1s ease 4.1s forwards;transition:opacity .4s;}

.hero-scroll-line{width:1px;height:54px;background:linear-gradient(transparent,var(--gold3));position:relative;overflow:hidden;}

.hero-scroll-line::after{content:'';position:absolute;top:-30%;left:0;width:100%;height:30%;background:#fff;animation:scrollDripHv 2s cubic-bezier(.4,0,.2,1) infinite;}

.hero-scroll-txt{font-family:var(--serif);font-weight:500;font-size:.44rem;letter-spacing:.45em;text-transform:uppercase;color:rgba(233,237,242,.55);}


/* ══ MARQUEE MARQUES ══ */
.marquee{overflow:hidden;background:var(--gold);padding:.62rem 0;position:relative;}

.marquee::before,.marquee::after{content:'';position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none;}

.marquee::before{left:0;background:linear-gradient(90deg,var(--gold),transparent);}

.marquee::after{right:0;background:linear-gradient(270deg,var(--gold),transparent);}

.marquee-track{display:flex;gap:1.6rem;white-space:nowrap;animation:marqueeAnimHv 46s linear infinite;will-change:transform;}

.marquee:hover .marquee-track{animation-play-state:paused;}

.marquee-track span{font-family:var(--serif);font-weight:600;font-size:.52rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(20,23,28,.82);}

.mq-dot{opacity:.4;}


/* ══ SECTIONS ══ */
.sec{padding:6rem 5vw;position:relative;}

.sec-label{font-family:var(--serif);font-weight:600;font-size:.58rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;}

.sec-label::before{content:'';width:9px;height:9px;background:var(--gold);transform:rotate(45deg);}

.sec-h2{font-family:var(--serif);font-size:clamp(1.7rem,3.1vw,2.9rem);font-weight:600;
  line-height:1.12;text-transform:uppercase;letter-spacing:.004em;color:var(--text);}

.sec-h2 em{color:var(--gold);font-style:normal;}

.sec-intro{font-family:var(--sans);font-weight:300;font-size:.85rem;color:var(--text3);
  max-width:580px;line-height:1.9;margin:1.3rem 0 2.8rem;}


/* révélation au scroll */
.reveal{opacity:0;transform:translateY(42px);
  transition:opacity 1.05s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;}

.reveal.in{opacity:1;transform:none;}

.reveal-d1{transition-delay:.09s}
.reveal-d2{transition-delay:.18s}

.reveal-d3{transition-delay:.27s}
.reveal-d4{transition-delay:.36s}


/* ══ SERVICES ══ */
.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--bg3);border-bottom:1px solid var(--bg3);}

.svc{padding:2.4rem 2.1rem;border-right:1px solid var(--bg3);transition:background .35s,transform .35s;position:relative;overflow:hidden;}

.svc:last-child{border-right:none;}

.svc::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1);}

.svc:hover{background:var(--bg2);transform:translateY(-3px);}

.svc:hover::after{transform:scaleX(1);}

.svc-icon{font-size:1.35rem;margin-bottom:1rem;display:block;}

.svc-title{font-family:var(--serif);font-weight:600;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}

.svc-desc{font-family:var(--sans);font-weight:300;font-size:.8rem;color:var(--text3);line-height:1.8;}


/* ══ DEUX CHEMINS ══ */
.find-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}

.find-card{
  position:relative;background:linear-gradient(165deg,#1C222C,#12151B);
  border:1px solid rgba(61,125,255,.16);border-left:3px solid var(--gold);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
  padding:2.6rem 2.3rem;display:flex;flex-direction:column;gap:1rem;overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s;
}

.find-card::after{content:'';position:absolute;top:0;bottom:0;left:0;width:40%;
  background:linear-gradient(105deg,transparent,rgba(169,200,255,.08),transparent);
  transform:translateX(-130%) skewX(-20deg);pointer-events:none;}

.find-card:hover{transform:translateY(-6px);border-color:rgba(61,125,255,.5);box-shadow:0 22px 55px rgba(0,0,0,.5),0 0 28px rgba(61,125,255,.1);}

.find-card:hover::after{animation:cardSweepHv .95s ease;}

.find-icon{font-size:2.2rem;}

.find-flag{position:absolute;top:1.7rem;right:1.7rem;font-size:1rem;letter-spacing:.3em;}

.find-title{font-family:var(--serif);font-size:1.35rem;font-weight:600;text-transform:uppercase;color:var(--text);}

.find-desc{font-family:var(--sans);font-weight:300;font-size:.82rem;color:var(--text3);line-height:1.9;}

.find-desc strong{color:var(--gold2);font-weight:500;}

.find-points{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin:.3rem 0 .3rem;}

.find-points li{font-family:var(--sans);font-weight:300;font-size:.76rem;color:var(--text2);padding-left:1.35rem;position:relative;}

.find-points li::before{content:'';position:absolute;left:0;top:.42em;width:8px;height:8px;background:var(--gold);transform:rotate(45deg);}

.find-soon{margin-top:auto;padding-top:1rem;font-family:var(--serif);font-weight:600;font-size:.55rem;
  letter-spacing:.26em;text-transform:uppercase;color:var(--gold2);opacity:.85;
  display:flex;align-items:center;gap:.55rem;}


/* ══ POURQUOI ══ */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:2.6rem;}

.why-cell{background:var(--bg2);border:1px solid var(--bg3);border-left:3px solid var(--gold);
  padding:2.2rem;position:relative;overflow:hidden;transition:background .35s,transform .35s,box-shadow .35s;}

.why-cell:hover{background:#232934;transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.4);}

.why-n{font-family:var(--serif);font-size:5rem;font-weight:700;color:rgba(61,125,255,.07);
  position:absolute;top:.4rem;right:1.1rem;pointer-events:none;transition:color .4s,text-shadow .4s;}

.why-cell:hover .why-n{color:rgba(61,125,255,.2);text-shadow:0 0 34px rgba(61,125,255,.25);}

.why-icon{font-size:1.25rem;margin-bottom:1.1rem;display:block;}

.why-title{font-family:var(--serif);font-size:1.15rem;font-weight:600;text-transform:uppercase;color:var(--text);margin-bottom:.6rem;}

.why-text{font-family:var(--sans);font-weight:300;font-size:.82rem;color:var(--text3);line-height:1.9;}


/* ══ PROCESSUS ══ */
.proc-track{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:3.6rem;position:relative;}

.proc-track::before{content:'';position:absolute;top:1.75rem;left:6%;right:6%;height:1px;background:var(--bg3);}

.proc-step{text-align:center;position:relative;z-index:1;}

.proc-dot{width:3.5rem;height:3.5rem;border:1.5px solid var(--gold);background:var(--bg);
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;
  font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--gold);transition:all .3s;}

.proc-step:hover .proc-dot{background:var(--gold);color:#14171C;box-shadow:0 0 26px rgba(61,125,255,.5);}

.proc-name{font-family:var(--serif);font-size:.95rem;font-weight:600;text-transform:uppercase;color:var(--text);margin-bottom:.4rem;}

.proc-desc{font-family:var(--sans);font-weight:300;font-size:.76rem;color:var(--text3);line-height:1.7;}


/* ══ CONTACT ══ */
.contact-band{background:#0B0D11;padding:5.5rem 5vw;display:grid;grid-template-columns:1fr 1px 1fr;
  gap:4.5rem;align-items:center;position:relative;overflow:hidden;}

.cb-div{background:rgba(255,255,255,.1);}

.cb-title{font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:600;
  line-height:1.2;text-transform:uppercase;color:var(--text);position:relative;z-index:1;}

.cb-title em{color:var(--gold3);font-style:normal;}

.cb-lbl{font-family:var(--serif);font-weight:600;font-size:.52rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--gold3);margin-bottom:.8rem;position:relative;z-index:1;}

.cb-phone{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--gold3);position:relative;z-index:1;}

.cb-mail{font-family:var(--sans);font-weight:300;font-size:.85rem;color:var(--text2);margin-top:.4rem;position:relative;z-index:1;}

.cb-hours{font-family:var(--serif);font-weight:500;font-size:.52rem;letter-spacing:.2em;
  color:rgba(255,255,255,.45);text-transform:uppercase;margin-top:.5rem;position:relative;z-index:1;}


/* ══ FOOTER ══ */
footer{background:var(--bg2);border-top:1px solid var(--bg3);padding:3rem 5vw 1.8rem;}

.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--bg3);}

.ft-brand{font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.7rem;}

.ft-desc{font-family:var(--sans);font-weight:300;font-size:.78rem;color:var(--text3);line-height:1.85;max-width:250px;}

.ft-col-title{font-family:var(--serif);font-weight:600;font-size:.5rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}

.ft-col p,.ft-col a{display:block;font-family:var(--sans);font-weight:300;font-size:.8rem;
  color:var(--text3);margin-bottom:.45rem;}

.ft-bottom{display:flex;justify-content:space-between;padding-top:1.4rem;
  font-family:var(--sans);font-weight:300;font-size:.62rem;color:var(--text3);flex-wrap:wrap;gap:.6rem;}


/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  .hero-stats{display:none;}
  .services{grid-template-columns:1fr 1fr;}
  .proc-track{grid-template-columns:repeat(3,1fr);}
  .proc-track::before{display:none;}
  .contact-band{grid-template-columns:1fr;gap:2.2rem;}
  .cb-div{display:none;}
}

@media(max-width:900px){
  .find-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}

@media(max-width:1200px){ .nav-status{display:none;} nav{grid-template-columns:auto 1fr;gap:1.6rem;} .nav-links{justify-content:flex-end;gap:1.1rem;} .nav-links a{font-size:.72rem;letter-spacing:.08em;} }

@media(max-width:860px){ nav{gap:1rem;} .nav-links{gap:.85rem;} .nav-links a{font-size:.62rem;letter-spacing:.04em;} .nav-mark{width:44px;height:44px;} .nav-logo{font-size:1.08rem;letter-spacing:.08em;} }

@media(max-width:640px){
  html{font-size:18px;}
  nav{padding:1rem 1.2rem;}
  .sec{padding:3.5rem 1.2rem;}
  .hero-content{padding:7rem 1.2rem 5rem;}
  .services{grid-template-columns:1fr;}
  .nav-status{font-size:.48rem;letter-spacing:.2em;padding:.35rem .7rem;}
}


/* Fenêtres basses : on resserre le hero pour que l'annonce et les boutons tiennent */
@media(max-height:820px){
  .hero{min-height:auto;}
  .hero-content{padding-top:6rem;padding-bottom:3.5rem;}
  .hero-construct{margin-top:1.5rem;padding:1.1rem 1.3rem;}
  .hero-cta{margin-top:1.5rem;}
  .hero-rule{margin:1.4rem 0;}
  .hero-stats,.hero-scroll{display:none;}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  #curtain{display:none;}
  .hero-h1 span,.hero-eyebrow,.hero-body,.hero-cta,.hero-stats,.hero-scroll,.hero-construct{opacity:1!important;}
  .hero-rule{transform:scaleX(1)!important;}
  .reveal{opacity:1!important;transform:none!important;}
}
}


/* ══════════ PORT VITRINE : COMMENT ÇA MARCHE ══════════ */

/* keyframes portés (#page-process) */


@keyframes slideUpPv { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }

@keyframes pulseDotPv{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(61,125,255,.5)}50%{opacity:.5;box-shadow:0 0 0 6px rgba(61,125,255,0)}}
#page-process{

/* Esprit CARBON : Chakra Petch capitales, coins coupés, accents dorés, texture carbone */
.hero-h1, .hero-h1 .l1, .hero-h1 .l2, .sec-h2, .sec-h2 em, .step-title, .cost-value, .cta-title, .cta-title em {
  font-family:'Chakra Petch',sans-serif !important; font-style:normal !important;
  text-transform:uppercase; letter-spacing:.005em; font-weight:600;
}

.step-card, .info-box, .doc-block, .cost-item, .highlight-item { border-left:3px solid var(--gold); }

.btn-fill, .btn-outline { clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); border-radius:0; letter-spacing:.24em; }

.btn-fill { color:#14171C; }

.info-box, .cost-item, .highlight-item, .kpi-item { clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%); border-radius:0; }

.step-tag { clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px); border-radius:0 !important; background:rgba(61,125,255,.1); border-color:rgba(61,125,255,.28); }

.step-note, .highlight-item { background:rgba(61,125,255,.07); }

.step-circle { border-radius:0; clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px); border:1.5px solid var(--gold); background:transparent; color:var(--gold); font-family:'Chakra Petch',sans-serif !important; font-weight:700; }


.btn {
  cursor: pointer; font-family: var(--sans); font-weight: 400;
  letter-spacing: .22em; text-transform: uppercase; transition: all .3s;
  border: none; display: inline-flex; align-items: center; gap: .4rem; text-decoration: none;
}

.btn-outline { background: none; border: 1px solid var(--gold); color: var(--gold); padding: .48rem 1.4rem; font-size: .62rem; }

.btn-outline:hover { background: var(--gold); color: #fff; }

.btn-fill { background: var(--gold); color: #14171C; padding: .5rem 1.6rem; font-size: .62rem; }

.btn-fill:hover { background: var(--gold2); }

.btn-lg { padding: .88rem 2.8rem; font-size: .72rem; }


/* ══════════════════════════════════════
   HERO
   ══════════════════════════════════════ */
.process-hero {
  min-height: 65vh; display: flex; align-items: flex-end;
  position: relative; overflow: hidden;
}

.process-hero-bg {
  position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1600&q=80');
  background-size: cover; background-position: center 35%;
  filter: brightness(.36) saturate(.85);
}

.process-hero-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(105deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.5) 55%, rgba(0,0,0,.25) 100%),
    linear-gradient(to top, rgba(0,0,0,.7) 0%, transparent 55%);
}

.process-hero-content {
  position: relative; z-index: 2;
  padding: 9rem 5vw 5rem; max-width: 1240px; margin: 0 auto; text-align: center;
}


/* Eyebrow */
.eyebrow {
  display: inline-flex; align-items: center; gap: 1rem;
  font-family: var(--sans); font-weight: 300; font-size: .7rem; color: var(--gold3);
  letter-spacing: .5em; text-transform: uppercase; margin-bottom: 1.8rem;
  opacity: 0; animation: slideUpPv .7s ease .2s forwards;
}

.eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--gold); }


.hero-h1 {
  font-family: var(--serif); font-weight: 300; line-height: 1.28;
  font-size: clamp(1.3rem, 3.1vw, 2.5rem);
  opacity: 0; animation: slideUpPv .8s ease .4s forwards;
}

.hero-h1 .l1, .hero-h1 .l2 { display: inline; font-size: inherit; color: #EFF3F8; }

.hero-h1 .l2 { font-style: italic; }

.hero-h1 .l3 { display: inline; font-size: inherit; color: var(--gold); }


.hero-rule {
  width: 60px; height: 1px; background: var(--gold3); margin: 1.8rem auto;
  opacity: 0; animation: slideUpPv .6s ease .6s forwards;
}

.hero-body {
  font-family: var(--sans); font-weight: 300; font-size: .8rem;
  line-height: 1.9; color: rgba(233,237,242,.72); max-width: 620px; margin: 0 auto;
  opacity: 0; animation: slideUpPv .7s ease .8s forwards;
}

.hero-cta {
  display: flex; gap: 1rem; align-items: center; justify-content: center; margin-top: 2rem; flex-wrap: wrap;
  opacity: 0; animation: slideUpPv .7s ease 1s forwards;
}

.process-hero-content .eyebrow { justify-content: center; }


/* ══════════════════════════════════════
   KPIs / INFO BOXES
   ══════════════════════════════════════ */
.kpi-band {
  background: var(--bg2); border-top: 1px solid var(--bg3);
  display: grid; grid-template-columns: repeat(4, 1fr);
}

.kpi-item {
  padding: 2rem 1.8rem; border-right: 1px solid var(--bg3);
  text-align: center; transition: background .3s;
}

.kpi-item:last-child { border-right: none; }

.kpi-item:hover { background: var(--bg3); }

.kpi-icon { font-size: 1.4rem; margin-bottom: .7rem; }

.kpi-value { font-family: var(--serif); font-size: 2rem; font-weight: 300; color: var(--gold3); }

.kpi-label { font-family: var(--sans); font-weight: 200; font-size: .55rem; letter-spacing: .28em; text-transform: uppercase; color: var(--text3); margin-top: .35rem; }


/* ══════════════════════════════════════
   SECTION HEADER
   ══════════════════════════════════════ */
.sec-label {
  font-family: var(--sans); font-weight: 300; font-size: .65rem;
  letter-spacing: .5em; text-transform: uppercase; color: var(--gold);
  margin-bottom: .8rem; display: flex; align-items: center; gap: .7rem;
}

.sec-label::before { content: ''; width: 22px; height: 1px; background: var(--gold); }

.sec-h2 { font-family: var(--serif); font-size: clamp(1.9rem, 3.2vw, 3rem); font-weight: 300; line-height: 1.1; color: var(--text); }

.sec-h2 em { color: var(--gold); font-style: italic; }


/* ══════════════════════════════════════
   INTRO TEXTE
   ══════════════════════════════════════ */
.intro-section {
  padding: 5rem 5vw; background: var(--bg);
  display: grid; grid-template-columns: 1fr 1.2fr; gap: 5rem; align-items: center;
}

.intro-text { font-family: var(--sans); font-weight: 300; font-size: .88rem; color: var(--text3); line-height: 1.95; margin-top: 1.2rem; }

.intro-highlights { display: flex; flex-direction: column; gap: .8rem; }

.highlight-item {
  display: flex; align-items: flex-start; gap: 1.2rem;
  background: var(--bg2); border: 1px solid var(--bg3); padding: 1.2rem 1.4rem;
  transition: border-color .3s;
}

.highlight-item:hover { border-color: var(--gold); }

.hi-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: .1rem; }

.hi-title { font-family: var(--sans); font-weight: 400; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin-bottom: .3rem; }

.hi-text { font-family: var(--sans); font-weight: 300; font-size: .78rem; color: var(--text3); line-height: 1.65; }


/* ══════════════════════════════════════
   TIMELINE PRINCIPALE
   ══════════════════════════════════════ */
/* ══════════════════════════════════════
   SUIVI EN DIRECT — tracker espace client
   ══════════════════════════════════════ */
.suivi-section { padding: 5rem 5vw; background: var(--bg); }

.suivi-track {
  display: flex; align-items: flex-start; justify-content: center;
  max-width: 900px; margin: 3rem auto 0; flex-wrap: wrap; gap: .4rem 0;
}

.suivi-step {
  flex: 1 1 90px; min-width: 82px; display: flex; flex-direction: column;
  align-items: center; gap: .55rem; position: relative;
}

.suivi-step:not(:last-child)::after {
  content: ''; position: absolute; top: 21px;
  left: calc(50% + 21px); right: calc(-50% + 21px);
  height: 2px; background: var(--gold); opacity: .35;
}

.suivi-dot {
  width: 42px; height: 42px; flex-shrink: 0; position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.05rem; background: var(--bg); border: 1.5px solid var(--gold);
  clip-path: polygon(11px 0, 100% 0, 100% calc(100% - 11px), calc(100% - 11px) 100%, 0 100%, 0 11px);
  transition: background .25s, transform .25s;
}

.suivi-step:hover .suivi-dot { background: rgba(61,125,255,.16); transform: translateY(-3px); }

.suivi-lbl {
  font-family: var(--sans); font-weight: 300; font-size: .58rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--text3);
  text-align: center; line-height: 1.3;
}

@media (max-width: 700px) {
  .suivi-track { max-width: 340px; }
  .suivi-step { flex: 0 0 25%; }
  .suivi-step::after { display: none !important; }
}


.timeline-section { padding: 5rem 5vw; background: var(--bg2); }

.timeline-header { text-align: center; max-width: 640px; margin: 0 auto 4rem; }

.timeline-header .sec-label { justify-content: center; }

.timeline-header .sec-label::before { display: none; }

.timeline-header p { font-family: var(--sans); font-weight: 300; font-size: .88rem; color: var(--text3); line-height: 1.9; margin-top: 1rem; }


.steps-wrap { max-width: 960px; margin: 0 auto; position: relative; }

.steps-wrap::before {
  content: ''; position: absolute; left: 2.3rem; top: 0; bottom: 0;
  width: 1px; background: linear-gradient(to bottom, var(--gold), var(--bg3) 90%);
}


.step-item { display: flex; gap: 2.2rem; margin-bottom: 2.5rem; position: relative; align-items: flex-start; }


.step-circle {
  width: 4.6rem; height: 4.6rem; border-radius: 50%;
  border: 1px solid var(--bg4); background: var(--bg2);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 1.3rem; font-weight: 300; font-style: italic;
  color: var(--gold); flex: 0 0 4.6rem; position: relative; z-index: 1;
  transition: all .35s; cursor: default;
}

.step-item:hover .step-circle { background: var(--gold); color: #fff; border-color: var(--gold); box-shadow: 0 0 0 6px rgba(61,125,255,.12); }


.step-card {
  background: var(--bg); border: 1px solid var(--bg3); padding: 1.8rem 2rem;
  flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere;
  transition: border-color .35s, transform .35s;
}

.step-item:hover .step-card { border-color: rgba(61,125,255,.3); transform: translateX(4px); }


.step-header {
  display: grid; grid-template-columns: minmax(0,1fr) auto;
  align-items: start; column-gap: 1.2rem; row-gap: .5rem; margin-bottom: 1rem;
}

.step-title {
  font-family: var(--serif); font-size: 1.3rem; font-weight: 300; color: var(--text);
  min-width: 0; line-height: 1.3; text-wrap: pretty; hyphens: auto;
}

.step-tag {
  font-family: var(--sans); font-weight: 300; font-size: .5rem; letter-spacing: .22em;
  text-transform: uppercase; background: rgba(61,125,255,.1);
  border: 1px solid rgba(61,125,255,.22); color: var(--gold); padding: .28rem .7rem;
  white-space: nowrap; justify-self: end; align-self: start; margin-top: .25rem;
}

.step-flag { font-size: 1.1rem; margin-left: .5rem; white-space: nowrap; }


.step-desc {
  font-family: var(--sans); font-weight: 300; font-size: .84rem;
  color: var(--text3); line-height: 1.88; margin-bottom: 1rem;
  text-wrap: pretty; overflow-wrap: anywhere;
}


.step-bullets { display: flex; flex-direction: column; gap: .42rem; }

.step-bullet {
  display: flex; align-items: flex-start; gap: .65rem; min-width: 0;
  font-family: var(--sans); font-weight: 300; font-size: .76rem; color: var(--text3); line-height: 1.7;
  overflow-wrap: anywhere; text-wrap: pretty;
}

.step-bullet::before { content: '◆'; color: var(--gold); font-size: .42rem; flex-shrink: 0; margin-top: .48rem; }


.step-note {
  margin-top: 1.1rem; padding: .9rem 1.2rem;
  background: rgba(61,125,255,.06); border-left: 2px solid var(--gold);
  font-family: var(--sans); font-weight: 300; font-size: .78rem; color: var(--text2); line-height: 1.8;
  overflow-wrap: anywhere; text-wrap: pretty;
}

.step-note strong { color: var(--gold); }


/* Séparateur entre étapes */
.step-connector {
  display: flex; align-items: center; gap: 1rem;
  margin: .7rem 0 .9rem 6.8rem; position: relative; z-index: 0;
  font-family: var(--sans); font-weight: 200; font-size: .52rem;
  letter-spacing: .25em; text-transform: uppercase; color: var(--text3);
}

.step-connector::before, .step-connector::after {
  content: ''; flex: 1; height: 1px; background: var(--bg3);
}


/* ══════════════════════════════════════
   COÛTS & DÉLAIS
   ══════════════════════════════════════ */
.costs-section { padding: 5rem 5vw; background: var(--bg); }

.costs-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--bg3); margin-top: 3rem; max-width: 960px;
}

.cost-item { background: var(--bg); padding: 2rem; transition: background .3s; }

.cost-item:hover { background: var(--bg2); }

.cost-category {
  font-family: var(--sans); font-weight: 300; font-size: .5rem;
  letter-spacing: .35em; text-transform: uppercase; color: var(--gold); margin-bottom: .6rem;
}

.cost-label { font-family: var(--serif); font-size: 1.2rem; font-weight: 300; color: var(--text); margin-bottom: .3rem; }

.cost-value { font-family: var(--serif); font-size: 1.7rem; font-weight: 300; color: var(--gold3); margin-bottom: .3rem; }

.cost-note { font-family: var(--sans); font-weight: 200; font-size: .68rem; color: var(--text3); line-height: 1.6; }


/* Total estimé */
.cost-total {
  max-width: 960px; margin-top: 1px; background: var(--bg3);
  padding: 1.5rem 2rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
}

.ct-label { font-family: var(--serif); font-size: 1.2rem; font-weight: 300; color: var(--text2); }

.ct-value { font-family: var(--serif); font-size: 1.8rem; font-weight: 300; color: var(--gold3); }

.ct-note { font-family: var(--sans); font-weight: 200; font-size: .62rem; color: var(--text3); text-transform: uppercase; letter-spacing: .18em; margin-top: .2rem; }


/* ══════════════════════════════════════
   CHECKLIST DOCUMENTS
   ══════════════════════════════════════ */
.docs-section { padding: 4rem 5vw; background: var(--bg2); }

.docs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; max-width: 960px; margin-top: 2.5rem; }

.doc-block { background: var(--bg); border: 1px solid var(--bg3); padding: 1.6rem 1.8rem; }

.doc-block-title {
  font-family: var(--sans); font-weight: 400; font-size: .6rem;
  letter-spacing: .28em; text-transform: uppercase; color: var(--gold);
  margin-bottom: 1.1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--bg3);
  display: flex; align-items: center; gap: .6rem;
}

.doc-list { display: flex; flex-direction: column; gap: .45rem; }

.doc-item {
  display: flex; align-items: center; gap: .7rem;
  font-family: var(--sans); font-weight: 300; font-size: .78rem; color: var(--text3);
}

.doc-item::before { content: '✓'; color: var(--gold); font-size: .7rem; flex-shrink: 0; }


/* ══════════════════════════════════════
   FAQ
   ══════════════════════════════════════ */
.faq-section { padding: 5rem 5vw; background: var(--bg); }

.faq-inner { max-width: 760px; margin: 2.5rem auto 0; }

.faq-item { border-bottom: 1px solid var(--bg3); }

.faq-q {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.3rem 0; cursor: pointer;
  font-family: var(--sans); font-weight: 300; font-size: .88rem; color: var(--text2);
  transition: color .25s; user-select: none;
}

.faq-q:hover { color: var(--gold); }

.faq-arrow { color: var(--gold); font-size: .65rem; transition: transform .3s; flex-shrink: 0; margin-left: 1rem; }

.faq-q.open .faq-arrow { transform: rotate(180deg); }

.faq-a {
  font-family: var(--sans); font-weight: 300; font-size: .8rem;
  color: var(--text3); line-height: 1.88; padding-bottom: 1.3rem; display: none;
}

.faq-a.open { display: block; }


/* ══════════════════════════════════════
   CTA FINAL
   ══════════════════════════════════════ */
.cta-band {
  background: #0B0D11; padding: 5.5rem 5vw;
  display: grid; grid-template-columns: 1fr 1px 1fr; gap: 5rem; align-items: center;
}

.cta-div { background: rgba(255,255,255,.08); }

.cta-label { font-family: var(--sans); font-weight: 200; font-size: .5rem; letter-spacing: .48em; text-transform: uppercase; color: var(--gold3); margin-bottom: .8rem; }

.cta-title { font-family: var(--serif); font-size: clamp(1.9rem, 3vw, 2.8rem); font-weight: 300; line-height: 1.15; color: var(--text); }

.cta-title em { color: var(--gold3); font-style: italic; }

.cta-text { font-family: var(--sans); font-weight: 300; font-size: .82rem; color: var(--text3); line-height: 1.8; margin-bottom: 1.5rem; }

.cta-contact { display: flex; flex-direction: column; gap: .6rem; }

.cta-phone { font-family: var(--serif); font-size: 1.5rem; font-weight: 300; font-style: italic; color: var(--gold3); }

.cta-hours { font-family: var(--sans); font-weight: 200; font-size: .58rem; letter-spacing: .2em; color: rgba(255,255,255,.45); text-transform: uppercase; }


/* ══════════════════════════════════════
   FOOTER
   ══════════════════════════════════════ */
footer { background: var(--bg2); border-top: 1px solid var(--bg3); padding: 1.8rem 5vw; }

.ft-bottom {
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--sans); font-weight: 200; font-size: .62rem; color: var(--text3);
  flex-wrap: wrap; gap: .8rem;
}

.ft-bottom a { color: var(--gold); cursor: pointer; text-decoration: none; transition: opacity .2s; }

.ft-bottom a:hover { opacity: .75; }


/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media (max-width: 1100px) {
  .nav-links { display: none; }
  .burger-btn { display: block; }
  .nav-actions .btn-outline, .nav-actions .btn-fill { display: none; }
  .kpi-band { grid-template-columns: repeat(2, 1fr); }
  .kpi-item:nth-child(2) { border-right: none; }
  .kpi-item:nth-child(3) { border-top: 1px solid var(--bg3); }
  .intro-section { grid-template-columns: 1fr; gap: 2.5rem; }
  .steps-wrap::before { display: none; }
  .step-item { flex-direction: row; }
  .costs-grid { grid-template-columns: 1fr 1fr; }
  .docs-grid { grid-template-columns: 1fr; }
  .cta-band { grid-template-columns: 1fr; gap: 2.5rem; }
  .cta-div { display: none; }
}

@media (max-width: 640px) {
  .kpi-band { grid-template-columns: 1fr 1fr; }
  .step-item { flex-direction: column; }
  .step-circle { width: 3.8rem; height: 3.8rem; font-size: 1rem; }
  .costs-grid { grid-template-columns: 1fr; }
  nav { padding: .9rem 1.1rem; }
  .process-hero-content { padding: 7rem 1.2rem 3.5rem; }
  .timeline-section, .faq-section { padding: 3rem 1.2rem; }
  .step-item { flex-direction: column; gap: 1rem; }
  .step-circle { flex: 0 0 auto; }
  .steps-wrap::before { display: none; }
  .step-header { grid-template-columns: 1fr; }
  .step-tag { justify-self: start; margin-top: 0; }
  .step-card { padding: 1.4rem 1.3rem; }
  .step-connector { margin-left: 0; }
  .intro-section { padding: 3rem 1.2rem; }
  .cta-band { padding: 3.5rem 1.2rem; }
}

@media(max-width:1100px){ .nav-status{display:none;} }

@media(max-width:1200px){ .nav-status{display:none;} nav{grid-template-columns:auto 1fr;gap:1.6rem;} .nav-links{justify-content:flex-end;gap:1.1rem;} .nav-links a{font-size:.72rem;letter-spacing:.08em;} }

@media(max-width:860px){ nav{gap:1rem;} .nav-links{gap:.85rem;} .nav-links a{font-size:.62rem;letter-spacing:.04em;} .nav-mark{width:44px;height:44px;} .nav-logo{font-size:1.08rem;letter-spacing:.08em;} }

@media(max-width:620px){ .nav-links{gap:.7rem;} .nav-links a{font-size:.55rem;letter-spacing:.02em;} .nav-mark{width:38px;height:38px;} .nav-logo{font-size:.9rem;} nav{padding:1rem 1.2rem;gap:.7rem;} }


/* ══════════════════════════════════════
   SÉLECTEUR DE PARCOURS (enchères / occasion)
   ══════════════════════════════════════ */
.guide-tabs{
  display:flex; justify-content:center; gap:.6rem;
  max-width:960px; margin:0 auto 3rem; flex-wrap:wrap;
}

.guide-tab{
  cursor:pointer; background:var(--bg); border:1.5px solid rgba(61,125,255,.35);
  color:var(--text3); font-family:'Chakra Petch',sans-serif; font-weight:600;
  font-size:.78rem; letter-spacing:.12em; text-transform:uppercase;
  padding:1rem 2.4rem; transition:all .25s;
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
}

.guide-tab:hover{ color:var(--gold2); border-color:var(--gold); }

.guide-tab.active{
  background:var(--gold); color:#14171C; border-color:var(--gold);
  box-shadow:0 0 30px rgba(61,125,255,.3);
}

@media(max-width:620px){ .guide-tab{ padding:.8rem 1.2rem; font-size:.62rem; flex:1 1 auto; text-align:center; } }


/* Bannière du tronc commun */
.common-banner{
  display:flex; align-items:center; gap:1.2rem; justify-content:center;
  margin:3.2rem 0 2.6rem; text-align:center;
  font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.72rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold2);
}

.common-line{ flex:1; max-width:180px; height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }

.common-line:last-child{ background:linear-gradient(90deg,var(--gold),transparent); }
}

/* ── Modal édition d'annonce : grand format 2 colonnes ── */
.modal-box-xl{ max-width:1040px; }
.edit-veh-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }
@media(max-width:900px){ .edit-veh-grid{ grid-template-columns:1fr; } }

/* ══════════════════════════════════════════════════════════════════
   PAGES LÉGALES
   ══════════════════════════════════════════════════════════════════ */
.legal-wrap{ max-width:780px; margin:0 auto; padding:9rem 5vw 5rem; }
.legal-wrap .sec-label{ margin-bottom:.6rem; }
.legal-h1{
  font-family:'Chakra Petch',sans-serif; font-weight:600; text-transform:uppercase;
  font-size:clamp(1.5rem,3.4vw,2.2rem); letter-spacing:.02em; color:var(--text); margin-bottom:.4rem;
}
.legal-h1 em{ color:var(--gold); font-style:normal; }
.legal-date{ font-family:var(--sans); font-weight:300; font-size:.72rem; color:var(--text3); margin-bottom:1.5rem; }
.legal-wrap h2{
  font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.8rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold2); margin:2rem 0 .6rem;
  padding-bottom:.35rem; border-bottom:1px solid var(--bg3);
}
.legal-wrap p, .legal-wrap li{
  font-family:var(--sans); font-weight:300; font-size:.82rem; color:var(--text2); line-height:1.9;
}
.legal-wrap ul{ margin:.4rem 0 .4rem 1.3rem; }
.legal-wrap li{ margin-bottom:.35rem; }
.legal-wrap a{ color:var(--gold2); text-decoration:none; }
.legal-wrap a:hover{ text-decoration:underline; }
.legal-wrap .todo{
  color:var(--gold); border:1px dashed rgba(61,125,255,.55); padding:.05rem .45rem;
  font-size:.9em; white-space:nowrap;
}
.legal-warn{
  background:rgba(61,125,255,.08); border-left:3px solid var(--gold);
  padding:.9rem 1.1rem; margin:1rem 0 1.4rem;
  font-family:var(--sans); font-weight:300; font-size:.78rem; color:var(--text2); line-height:1.8;
}
.legal-links{
  display:flex; gap:1.4rem; flex-wrap:wrap; margin-top:2.5rem;
  padding-top:1.2rem; border-top:1px solid var(--bg3);
  font-family:'Chakra Petch',sans-serif; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase;
}


/* ── RÉALISATIONS : textes centrés ── */
#page-realisations .process-hero-content{ max-width:900px; margin:0 auto; text-align:center; }
#page-realisations .process-hero-content .sec-label{ justify-content:center; }
#page-realisations .process-hero-content .hero-body{ margin-left:auto; margin-right:auto; }
#page-realisations .sec{ text-align:center; }
#page-realisations .sec .sec-label{ justify-content:center; }
#page-realisations .sec-intro{ margin-left:auto; margin-right:auto; }
#page-realisations .real-body{ text-align:center; }
#page-realisations .empty-state{ text-align:center; }
#page-realisations .contact-band > div{ text-align:center; }
#page-realisations .real-grid{ justify-content:center; }

/* Accueil : adresse e-mail en couleur neutre (pas de bleu) */
#page-home .cb-mail a{ color:var(--text2); }
#page-home .cb-mail a:hover{ color:var(--text); }
#page-home footer a[href^="mailto"]{ color:var(--text3); }
#page-home footer a[href^="mailto"]:hover{ color:var(--text2); }


/* ── Icônes vectorielles ── */
.kz-ic{width:1.06em;height:1.06em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-0.14em;display:inline-block;flex-shrink:0;}

/* ══════════════════════════════════════════════════════════
   ROBOT DE RENTABILITÉ (admin)
   ══════════════════════════════════════════════════════════ */
.pc-wrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:1.3rem; align-items:start; }
.pc-form,.pc-res{ display:flex; flex-direction:column; gap:1.1rem; }
.pc-body{ padding:1.1rem 1.3rem; display:flex; flex-direction:column; gap:.75rem; }
.pc-hint{ font-family:var(--sans); font-weight:300; font-size:.62rem; color:var(--text3); line-height:1.5; margin-top:.25rem; }

.pc-origin{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.pc-org{ background:var(--bg2); border:1px solid var(--bg3); color:var(--text2); cursor:pointer;
  font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.72rem; padding:.7rem .5rem;
  display:flex; flex-direction:column; gap:.15rem; align-items:center; transition:all .25s;
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); }
.pc-org span{ font-family:var(--sans); font-weight:300; font-size:.52rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text3); }
.pc-org.active{ background:rgba(61,125,255,.12); border-color:var(--gold); color:var(--gold2); }
.pc-org.active span{ color:var(--gold); }

.pc-check{ display:flex; align-items:center; gap:.6rem; font-family:var(--sans); font-weight:300;
  font-size:.72rem; color:var(--text2); cursor:pointer; padding:.3rem 0; }
.pc-check input{ width:15px; height:15px; accent-color:var(--gold); cursor:pointer; }

/* Verdict */
.pc-verdict{ padding:1.2rem 1.3rem; border:1px solid var(--bg3); border-left:3px solid var(--text3);
  background:var(--bg2); }
.pc-verdict-t{ font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:1.02rem;
  text-transform:uppercase; letter-spacing:.03em; color:var(--text2); }
.pc-verdict-d{ font-family:var(--sans); font-weight:300; font-size:.75rem; color:var(--text3);
  line-height:1.75; margin-top:.5rem; }
.pc-verdict.v-top { border-left-color:#4aba70; background:rgba(74,186,112,.07); }
.pc-verdict.v-top  .pc-verdict-t{ color:#5fd08a; }
.pc-verdict.v-ok  { border-left-color:var(--gold); background:rgba(61,125,255,.07); }
.pc-verdict.v-ok   .pc-verdict-t{ color:var(--gold2); }
.pc-verdict.v-warn{ border-left-color:#e0a050; background:rgba(224,160,80,.07); }
.pc-verdict.v-warn .pc-verdict-t{ color:#e8b26a; }
.pc-verdict.v-bad { border-left-color:#e05050; background:rgba(224,80,80,.07); }
.pc-verdict.v-bad  .pc-verdict-t{ color:#f07070; }

.pc-big{ font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:2rem; line-height:1;
  background:linear-gradient(175deg,#CDE0FF 20%,var(--gold2) 60%,var(--gold) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pc-big-lbl{ font-family:var(--sans); font-weight:300; font-size:.62rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text3); margin:.35rem 0 .9rem; }
.pc-gauge{ height:6px; background:var(--bg3); overflow:hidden; }
.pc-gauge-fill{ height:100%; width:0; transition:width .4s cubic-bezier(.22,1,.36,1); background:var(--gold); }
.pc-gauge-fill.g-ok{ background:#4aba70; } .pc-gauge-fill.g-warn{ background:#e0a050; }
.pc-gauge-fill.g-bad{ background:#e05050; }

.pc-kv{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.5rem 0; border-bottom:1px solid rgba(255,255,255,.05); }
.pc-kv:last-child{ border-bottom:none; }
.pc-kv span{ font-family:var(--sans); font-weight:300; font-size:.72rem; color:var(--text3); }
.pc-kv b{ font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.92rem; color:var(--text); }

.pc-scen{ padding:.85rem 1.3rem; border-bottom:1px solid var(--bg3); border-left:3px solid var(--bg4); }
.pc-scen:last-child{ border-bottom:none; }
.pc-scen.s-top{ border-left-color:#4aba70; } .pc-scen.s-ok{ border-left-color:var(--gold); }
.pc-scen.s-warn{ border-left-color:#e0a050; } .pc-scen.s-bad{ border-left-color:#e05050; }
.pc-scen-h{ display:flex; justify-content:space-between; align-items:baseline; }
.pc-scen-h b{ font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.8rem;
  text-transform:uppercase; color:var(--text); }
.pc-scen-h span{ font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:.9rem; color:var(--gold2); }
.pc-scen-b{ font-family:var(--sans); font-weight:300; font-size:.62rem; color:var(--text3); margin-top:.15rem; }
.pc-scen-f{ display:flex; gap:1.1rem; margin-top:.45rem; font-family:var(--sans); font-weight:300;
  font-size:.66rem; color:var(--text2); flex-wrap:wrap; }
.pc-empty{ padding:1.3rem; font-family:var(--sans); font-weight:300; font-size:.7rem;
  color:var(--text3); line-height:1.7; }

.pc-grp{ padding:.7rem 1.3rem .35rem; font-family:var(--sans); font-weight:400; font-size:.55rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.pc-row{ display:flex; justify-content:space-between; gap:1rem; padding:.35rem 1.3rem;
  font-family:var(--sans); font-weight:300; font-size:.7rem; color:var(--text2); }
.pc-row b{ font-family:'Chakra Petch',sans-serif; font-weight:600; color:var(--text); }
.pc-row.pc-total{ margin-top:.5rem; padding:.8rem 1.3rem; background:rgba(61,125,255,.08);
  border-top:1px solid rgba(61,125,255,.25); }
.pc-row.pc-total span{ font-family:'Chakra Petch',sans-serif; font-weight:600;
  letter-spacing:.1em; color:var(--gold2); font-size:.68rem; }
.pc-row.pc-total b{ font-size:1rem; color:var(--gold3); }
.pc-attach{ border-color:rgba(61,125,255,.3); }

/* Fiche jointe au dossier (modal commande) */
.od-profit-card{ border:1px solid var(--bg3); border-left:3px solid var(--text3);
  background:var(--bg2); padding:.95rem 1.1rem; }
.od-profit-card.v-top{ border-left-color:#4aba70; } .od-profit-card.v-ok{ border-left-color:var(--gold); }
.od-profit-card.v-warn{ border-left-color:#e0a050; } .od-profit-card.v-bad{ border-left-color:#e05050; }
.od-profit-head{ display:flex; justify-content:space-between; align-items:center; gap:1rem;
  flex-wrap:wrap; margin-bottom:.7rem; }
.od-profit-verdict{ font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:.82rem;
  text-transform:uppercase; color:var(--text); }
.od-profit-lock{ font-family:var(--sans); font-weight:400; font-size:.52rem; letter-spacing:.14em;
  text-transform:uppercase; color:#e0a050; border:1px solid rgba(224,160,80,.35);
  padding:.2rem .55rem; white-space:nowrap; }
.od-profit-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem .9rem; }
.od-profit-grid div{ display:flex; flex-direction:column; gap:.1rem; }
.od-profit-grid span{ font-family:var(--sans); font-weight:300; font-size:.56rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--text3); }
.od-profit-grid b{ font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:.85rem; color:var(--text); }
.od-profit-grid b.pos{ color:#5fd08a; } .od-profit-grid b.neg{ color:#f07070; }
.od-profit-note{ font-family:var(--sans); font-weight:300; font-size:.68rem; color:var(--text3);
  line-height:1.7; margin-top:.75rem; }
.od-profit-meta{ font-family:var(--sans); font-weight:300; font-size:.56rem; color:var(--text3);
  margin-top:.5rem; opacity:.75; }

@media(max-width:1100px){ .pc-wrap{ grid-template-columns:1fr; } }
@media(max-width:640px){ .od-profit-grid{ grid-template-columns:1fr 1fr; } .pc-origin{ grid-template-columns:1fr; } }

/* Dashboards : le contenu ne pousse jamais la largeur au-delà de l'écran */
.dash-content, .dash-content > *, .panel, .panel-head, .table-wrap{ min-width:0; max-width:100%; }
.panel-head{ flex-wrap:wrap; }
@media(max-width:1200px){ .order-search-wrap{ min-width:0; flex:1 1 240px; } }

/* ══════════════════════════════════════════════════════════
   SUIVI DE COMMANDE — MISE EN SCÈNE CINÉMATIQUE
   Palette adaptée au bleu électrique du site.
   ══════════════════════════════════════════════════════════ */

/* Étape en cours : double onde qui se propage + respiration lumineuse */
@keyframes trackRing {
  0%   { transform:scale(.55); opacity:.85; }
  75%  { transform:scale(2.05); opacity:0; }
  100% { transform:scale(2.05); opacity:0; }
}
@keyframes trackGlow {
  0%,100% { box-shadow:0 0 0 3px rgba(61,125,255,.14), 0 0 10px 1px rgba(61,125,255,.25); transform:scale(1); }
  50%     { box-shadow:0 0 0 5px rgba(61,125,255,.2),  0 0 26px 7px rgba(169,200,255,.4); transform:scale(1.09); }
}
.track-step.active .track-dot {
  animation:trackGlow 2.8s cubic-bezier(.45,0,.25,1) infinite;
}
.track-step.active .track-dot::before,
.track-step.active .track-dot::after {
  content:''; position:absolute; inset:-2px; border-radius:50%;
  border:1.5px solid var(--gold2); pointer-events:none;
  animation:trackRing 2.8s cubic-bezier(.2,.55,.35,1) infinite;
}
.track-step.active .track-dot::after { animation-delay:1.4s; }
.track-step.active .track-lbl { text-shadow:0 0 14px rgba(169,200,255,.5); }

/* Étapes franchies : vague de lumière qui remonte le parcours */
@keyframes trackDoneWave {
  0%,100% { box-shadow:0 0 0 0 rgba(61,125,255,0); filter:brightness(1); transform:scale(1); }
  50%     { box-shadow:0 0 16px 3px rgba(61,125,255,.4); filter:brightness(1.22); transform:scale(1.07); }
}
.track-step.done .track-dot { animation:trackDoneWave 3.6s cubic-bezier(.45,0,.25,1) infinite; }

/* Trait franchi : filet lumineux qui coule vers l'étape suivante */
@keyframes trackFlow { from { background-position:200% 0; } to { background-position:-200% 0; } }
.track-step.done:not(:last-child)::after {
  background:linear-gradient(90deg, var(--gold) 0%, #A9C8FF 25%, var(--gold) 50%, #A9C8FF 75%, var(--gold) 100%);
  background-size:250% 100%;
  animation:trackFlow 3.6s linear infinite;
}

/* Étapes à venir : lueur d'attente à peine perceptible */
@keyframes trackIdle {
  0%,100% { border-color:var(--bg3); box-shadow:0 0 0 0 rgba(233,237,242,0); }
  50%     { border-color:var(--bg4); box-shadow:0 0 8px 0 rgba(233,237,242,.1); }
}
.track-step:not(.done):not(.active) .track-dot { animation:trackIdle 3.6s ease-in-out infinite; }

/* Cascade : chaque pastille respire avec un léger décalage, comme une houle */
.track-steps .track-step:nth-child(1) .track-dot { animation-delay:0s; }
.track-steps .track-step:nth-child(2) .track-dot { animation-delay:.28s; }
.track-steps .track-step:nth-child(3) .track-dot { animation-delay:.56s; }
.track-steps .track-step:nth-child(4) .track-dot { animation-delay:.84s; }
.track-steps .track-step:nth-child(5) .track-dot { animation-delay:1.12s; }
.track-steps .track-step:nth-child(6) .track-dot { animation-delay:1.4s; }
.track-steps .track-step:nth-child(7) .track-dot { animation-delay:1.68s; }
.track-steps .track-step:nth-child(8) .track-dot { animation-delay:1.96s; }
.track-steps .track-step:nth-child(2).done:not(:last-child)::after { animation-delay:.28s; }
.track-steps .track-step:nth-child(3).done:not(:last-child)::after { animation-delay:.56s; }
.track-steps .track-step:nth-child(4).done:not(:last-child)::after { animation-delay:.84s; }

@media (prefers-reduced-motion:reduce) {
  .track-step .track-dot, .track-step .track-dot::before, .track-step .track-dot::after,
  .track-step:not(:last-child)::after { animation:none !important; }
}

/* Titres de page devenus <h2> (SEO) : ils gardent leur apparence d'origine */
h2.legal-h1{ font-size:clamp(1.5rem,3.4vw,2.2rem)!important; font-weight:600!important; color:var(--text)!important; margin-bottom:.4rem!important; letter-spacing:.02em!important; padding:0!important; border:none!important; text-transform:uppercase!important; }
h2.legal-h1 em{ color:var(--gold)!important; font-style:normal!important; }

/* ── Avertissement d'inactivité (déconnexion automatique) ── */
.idle-warn{ position:fixed; inset:0; z-index:12000; background:rgba(0,0,0,.68);
  backdrop-filter:blur(5px); display:flex; align-items:center; justify-content:center; padding:1rem; }
.idle-warn-box{ background:var(--bg2); border:1px solid rgba(61,125,255,.35);
  border-top:3px solid var(--gold); padding:1.7rem 2rem; text-align:center;
  width:100%; max-width:min(400px, calc(100vw - 2rem)); box-sizing:border-box;
  animation:modalIn .3s ease; }
@media(max-width:420px){ .idle-warn-box{ padding:1.3rem 1.2rem; } }
.idle-warn-title{ font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:1.05rem;
  text-transform:uppercase; letter-spacing:.04em; color:var(--text); }
.idle-warn-text{ font-family:var(--sans); font-weight:300; font-size:.8rem; color:var(--text2);
  line-height:1.75; margin:.65rem 0 1.1rem; }
.idle-warn-text b{ font-family:'Chakra Petch',sans-serif; font-weight:700; color:var(--gold2);
  font-size:1rem; }

/* ══ Simulateur de coût public ══ */
.sim-wrap{max-width:1080px;}
.sim-intro{font-family:var(--sans);font-weight:300;font-size:.85rem;color:var(--text2);line-height:1.8;max-width:720px;margin:.8rem 0 2rem;}
.sim-note{font-family:var(--sans);font-weight:300;font-size:.68rem;color:var(--text3);line-height:1.7;}
.sim-empty{font-family:var(--sans);font-size:.75rem;color:var(--text3);padding:1.4rem 0;text-align:center;}
.sim-line{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem 0;border-bottom:1px dashed var(--bg3);font-family:var(--sans);font-size:.76rem;color:var(--text2);}
.sim-line small{display:block;font-size:.6rem;color:var(--text3);margin-top:.15rem;}
.sim-line strong{font-family:'Chakra Petch',sans-serif;font-weight:600;color:var(--text);white-space:nowrap;}
.sim-line.sim-taxes{border-bottom:none;padding-top:.9rem;}
.sim-line.sim-taxes strong{color:var(--gold2);}
.sim-total{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;padding:.9rem 1rem;background:var(--bg3);border-left:3px solid var(--gold);font-family:var(--sans);font-size:.78rem;color:var(--text);}
.sim-total strong{font-family:'Chakra Petch',sans-serif;font-size:1.15rem;font-weight:700;color:var(--gold2);white-space:nowrap;}
.sim-cta{margin-top:1.2rem;padding:1.1rem 1.2rem;background:var(--bg2);border:1px solid var(--bg3);}
.sim-cta p{font-family:var(--sans);font-weight:300;font-size:.7rem;color:var(--text3);line-height:1.7;margin-bottom:.8rem;}
.sim-disclaimer{font-family:var(--sans);font-weight:300;font-size:.62rem;color:var(--text3);line-height:1.7;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--bg3);}

/* ══ Avis clients ══ */
.rev-sec{padding:4.5rem 5vw;background:var(--bg2);border-top:1px solid var(--bg3);}
.rev-title{font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:.6rem 0 2rem;}
.rev-title em{color:var(--gold);font-style:normal;}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;}
.rev-card{background:var(--bg);border:1px solid var(--bg3);padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.8rem;}
.rev-stars{color:var(--gold2);letter-spacing:.15em;font-size:.85rem;}
.rev-stars i{color:var(--bg4);font-style:normal;}
.rev-text{font-family:var(--sans);font-weight:300;font-size:.78rem;color:var(--text2);line-height:1.75;flex:1;}
.rev-who{font-family:var(--serif);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text);}
.rev-who span{color:var(--text3);text-transform:none;letter-spacing:.03em;font-family:var(--sans);font-weight:300;}
.rev-stars-input{display:flex;gap:.3rem;}
.rev-stars-input button{background:none;border:none;font-size:1.7rem;color:var(--bg4);cursor:pointer;transition:color .15s;padding:.1rem;}
.rev-stars-input button.on{color:var(--gold2);}

/* ══ Rendez-vous ══ */
.rdv-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--bg3);flex-wrap:wrap;}
.rdv-item:last-child{border-bottom:none;}
.rdv-when{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:.78rem;color:var(--text);text-transform:capitalize;}
.rdv-motif{font-family:var(--sans);font-weight:300;font-size:.68rem;color:var(--text3);margin-top:.2rem;}

/* ══ Encart dépôt de garantie ══ */
.deposit-card{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--bg3);border-left:3px solid var(--gold);padding:1rem 1.3rem;margin-bottom:1.2rem;}
.deposit-title{font-family:'Chakra Petch',sans-serif;font-size:.85rem;color:var(--text);}
.deposit-title strong{color:var(--gold2);}
.deposit-sub{font-family:var(--sans);font-weight:300;font-size:.66rem;color:var(--text3);line-height:1.6;margin-top:.25rem;max-width:520px;}
.deposit-sub a{color:var(--gold2);}

/* ══ Suivi de commande : piste défilante sur mobile (étapes lisibles) ══ */
@media(max-width:700px){
  .track-steps{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start;padding-bottom:.4rem;}
  .track-steps::-webkit-scrollbar{display:none;}
  .track-step{flex:0 0 auto;min-width:78px;}
}

/* ══ Dépôt validé ══ */
.deposit-card.deposit-ok{border-left-color:#3ddc84;}
.deposit-card.deposit-ok .deposit-title .kz-ic{color:#3ddc84;vertical-align:-3px;}

/* ══ Suivi de commande : optimisation téléphone ══ */
@media(max-width:700px){
  /* barre du haut sur une seule ligne */
  .dash-topbar{justify-content:space-between;gap:.5rem;}
  .dash-topbar-left{gap:.55rem;min-width:0;}
  .dash-breadcrumb{font-size:.6rem;letter-spacing:.14em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .dash-topbar-right{flex-wrap:nowrap;}
  .dash-topbar-right .btn{padding:.5rem .7rem;font-size:.55rem;letter-spacing:.08em;}

  /* titre d'onglet raisonnable */
  :is(#page-client,#page-admin) .dash-title{font-size:1.55rem;}
  :is(#cl-orders,#cl-quotes,#cl-wishlist,#cl-auctions) .dash-title{font-size:1.55rem;}

  /* carte commande : photo pleine largeur, en-tête empilé */
  .order-card{padding:1.1rem;}
  .order-head{flex-direction:column;align-items:stretch;gap:.9rem;}
  .order-vehicle{flex-direction:column;align-items:stretch;gap:.8rem;}
  .order-thumb{width:100%;height:180px;}
  .order-title{font-size:1.2rem;line-height:1.35;}
  .order-sub{font-size:.64rem;}
  .order-right{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.45rem .9rem;text-align:left;}
  .order-right .order-price{font-size:1.4rem;}
  .order-right .order-date{width:100%;margin-top:0;}

  /* progression : titre compact, piste défilante déjà gérée */
  .track-wrap{padding:1rem .9rem;}
  .track-title{font-size:.56rem;letter-spacing:.1em;}

  /* barre d'arrivée estimée empilée */
  .order-eta-bar{flex-direction:column;align-items:stretch;gap:.6rem;}
  .order-eta-bar .btn{width:100%;justify-content:center;}

  /* historique : date au-dessus de la note */
  .oh-item{flex-direction:column;gap:.15rem;padding:.5rem 0;}
  .oh-date{padding-top:0;}

  /* messagerie : plus de débordement */
  .order-msgs{padding:.9rem .8rem;}
  .msg{max-width:88%;}
  .msg-input{min-width:0;}
  .msg-input-row .btn{flex-shrink:0;padding:.55rem .8rem;font-size:.55rem;}
}

/* ══ Badge d'ouverture (hero accueil) ══ */
.hero-open{
  display:inline-flex;align-items:center;gap:.55rem;
  margin:.9rem 0 .2rem;padding:.5rem .95rem;
  border:1px solid rgba(61,125,255,.45);background:rgba(61,125,255,.08);
  font-family:var(--sans);font-weight:400;font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold3);
}
.hero-open-dot{
  width:8px;height:8px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 0 rgba(61,125,255,.6);animation:heroOpenPulse 2s infinite;
}
@keyframes heroOpenPulse{
  0%{box-shadow:0 0 0 0 rgba(61,125,255,.55);}
  70%{box-shadow:0 0 0 9px rgba(61,125,255,0);}
  100%{box-shadow:0 0 0 0 rgba(61,125,255,0);}
}
@media(max-width:620px){ .hero-open{font-size:.56rem;letter-spacing:.1em;padding:.45rem .7rem;} }
