/* B2Smart — feuille de style du thème (extraite de la maquette v1, protections maquette retirées) */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#0b1e3d;--navy2:#0f2a50;--navy3:#163460;--bg:#07111f;
  --gold:#c9a84c;--gold2:#e8c97a;--white:#f0f4fa;--gray:#7a8fa6;--lg:#c8d8e8;
  --ok:#1d9e75;--err:#e24b4a;
}
html,body{overflow-x:clip;max-width:100%;}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--white);line-height:1.65;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1100px;margin:0 auto;padding:0 2rem;}
h1,h2,h3,h4{line-height:1.25;color:var(--white);}
section{padding:4.5rem 0;}
.stit{font-size:1.8rem;font-weight:600;}.stit span{color:var(--gold);}
.div{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.3rem;}
.sec-head{text-align:center;max-width:640px;margin:0 auto 2.6rem;}
.sec-head .div{margin-left:auto;margin-right:auto;}
.ssub{color:var(--gray);font-size:.92rem;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 1.7rem;border-radius:8px;font-weight:700;font-size:.92rem;cursor:pointer;border:0;white-space:nowrap;transition:.2s;font-family:inherit;}
.bp{background:var(--gold);color:var(--navy);}
.bp:hover{background:var(--gold2);transform:translateY(-2px);}
.bs{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.25);}
.bs:hover{border-color:var(--gold);color:var(--gold);}

/* NAVBAR (bandeau blanc) */
header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e4ebf2;box-shadow:0 2px 16px rgba(11,30,61,.08);}
body.admin-bar header{top:32px;}
@media (max-width:782px){body.admin-bar header{top:46px;}}
.nav{display:flex;align-items:center;gap:1rem;min-height:84px;}
.nav>*{min-width:0;}
.logo{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;color:var(--navy);white-space:nowrap;}
.logo img{height:64px;width:auto;}
.logo span{color:var(--gold2);}
.logo .logo-txt{display:flex;flex-direction:column;line-height:1.08;color:var(--navy);}
.slogan{font-size:.54rem;font-weight:500;color:#8a9bb0;letter-spacing:.005em;margin-top:1px;font-style:normal;}
/* Le logo horizontal portant le nom, l'accroche se retrouve seule à côté : elle
   passe de sous-titre (8 px, illisible seule) à ligne autonome lisible. */
.logo .logo-txt-seul{justify-content:center;}
.logo .logo-txt-seul .slogan{font-size:.78rem;font-weight:500;color:#4f6a86;letter-spacing:.02em;margin-top:0;}
.menu{display:flex;align-items:center;gap:.15rem;margin-left:auto;}
.menu .lang{margin-left:.5rem;}
.menu a{color:#33455c;padding:.4rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;transition:.2s;}
.menu a:hover{color:var(--gold);background:rgba(201,168,76,.1);}
.lang{display:flex;gap:3px;background:#f1f4f9;border:1px solid #e4ebf2;border-radius:8px;padding:3px;}
.lang button{background:none;border:0;cursor:pointer;padding:.28rem .5rem;border-radius:5px;font-size:.76rem;font-weight:600;color:#7a8fa6;}
.lang button.on{background:var(--gold2);color:var(--navy);}
.lang button.on:hover{background:var(--gold);}
/* Sélecteur de langue Polylang (quand le plugin est actif) */
ul.lang-pll{list-style:none;align-items:center;}
ul.lang-pll li a{display:block;padding:.28rem .5rem;border-radius:5px;font-size:.76rem;font-weight:600;color:#7a8fa6;text-transform:uppercase;white-space:nowrap;}
ul.lang-pll li.current-lang a{background:var(--gold2);color:var(--navy);}
.ncta{margin-left:.25rem;background:var(--gold2);color:var(--navy);}
.ncta:hover{background:var(--gold);color:var(--navy);transform:none;}
.burger{display:none;background:none;border:0;cursor:pointer;font-size:1.5rem;color:var(--navy);margin-left:auto;}

/* HERO */
.hero{position:relative;overflow:hidden;text-align:center;min-height:520px;display:flex;align-items:center;background:var(--navy);}
.hero .bg{position:absolute;inset:-10% 0;will-change:transform;}
.hero .bg img{width:100%;height:100%;object-fit:cover;}
.hero .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,30,61,.72) 0%,rgba(11,30,61,.86) 55%,var(--bg) 100%);}
.hero-in{position:relative;padding:6rem 2rem 5rem;max-width:760px;margin:0 auto;}
.hero-in>*{min-width:0;}
.hbadge{display:inline-flex;align-items:center;gap:6px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.35);color:var(--gold2);padding:.4rem 1rem;border-radius:20px;font-size:.78rem;margin-bottom:1.4rem;}
.hero h1{font-size:clamp(1.9rem,4.5vw,3rem);font-weight:700;}
.hero h1 span{color:var(--gold);}
.hero p{color:var(--lg);max-width:540px;margin:1.1rem auto 2.2rem;font-size:1.05rem;}
.hbtns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* STATS */
.sbar{background:var(--navy);border-top:1px solid rgba(201,168,76,.15);border-bottom:1px solid rgba(201,168,76,.15);}
.sbar-in{display:grid;grid-template-columns:repeat(4,1fr);}
.sbar-in>*{min-width:0;}
.st{text-align:center;padding:1.6rem 1rem;border-right:1px solid rgba(255,255,255,.08);}
.st:last-child{border-right:0;}
.sn{font-size:1.7rem;font-weight:700;color:var(--gold);}
.sl{font-size:.78rem;color:var(--gray);margin-top:2px;}

/* CARDS services */
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.sgrid>*{min-width:0;}
.sc{text-align:left;background:var(--navy2);border:1px solid rgba(201,168,76,.1);border-radius:12px;padding:1.6rem;cursor:pointer;position:relative;overflow:hidden;transition:.25s;color:var(--white);font:inherit;}
.sc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:.3s;}
.sc:hover::before{opacity:1;}
.sc:hover{border-color:rgba(201,168,76,.35);transform:translateY(-3px);}
.si{width:46px;height:46px;background:rgba(201,168,76,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:22px;margin-bottom:1rem;}
.sc h3{font-size:1.02rem;font-weight:600;margin-bottom:.4rem;}
.sc p{font-size:.85rem;color:var(--gray);}
.sc .more{color:var(--gold);font-weight:600;font-size:.82rem;margin-top:.9rem;display:inline-block;}

/* SIMULATEUR */
.sim{background:var(--navy);}
.sim-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:2.4rem;align-items:start;max-width:1000px;margin:0 auto;}
.sim-grid>*{min-width:0;}
.sim-lead h3{font-size:1.15rem;margin-bottom:.35rem;}
.sim-lead>p{color:var(--gray);font-size:.92rem;}
.sim-feat{list-style:none;margin:1.2rem 0;}
.sim-feat li{display:flex;gap:12px;align-items:flex-start;margin-bottom:.85rem;}
.sim-feat .fi{width:36px;height:36px;flex-shrink:0;border-radius:9px;background:rgba(201,168,76,.1);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:17px;}
.sim-feat b{color:var(--white);font-size:.94rem;}
.sim-feat em{display:block;color:var(--gray);font-size:.82rem;font-style:normal;}
.steps{display:flex;flex-direction:column;gap:.55rem;margin:.9rem 0 1rem;}
.stp{display:flex;gap:12px;align-items:center;color:var(--lg);font-size:.9rem;}
.stp b{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;}
.chips span{font-size:.76rem;color:var(--gold2);background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.25);padding:.3rem .7rem;border-radius:20px;}
.sim-card{background:var(--navy2);border:1px solid rgba(201,168,76,.14);border-radius:14px;padding:1.6rem;}
.sim-ex{background:rgba(201,168,76,.05);border:1px solid rgba(201,168,76,.2);border-radius:10px;padding:1.1rem 1.2rem;margin-bottom:1.3rem;}
.sim-ex .exhead{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold2);margin-bottom:.5rem;}
.line{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.9rem;color:var(--lg);}
.line.tot{font-weight:700;font-size:1.05rem;border-bottom:0;color:var(--gold2);}
.line.tot.grand{font-size:1.25rem;border-top:2px solid rgba(255,255,255,.18);margin-top:.35rem;padding-top:.7rem;}
.field{margin-bottom:.75rem;}
.field input{width:100%;padding:.62rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--white);font:inherit;}
.field input:focus{outline:none;border-color:rgba(201,168,76,.5);}
.field input::placeholder{color:var(--gray);}
.sim-note{font-size:.75rem;color:var(--gray);margin-top:.7rem;}
.sim-result{display:none;margin-top:.5rem;padding:1.3rem;border-radius:10px;background:rgba(29,158,117,.08);border:1px solid rgba(29,158,117,.3);}
.sim-result.show{display:block;}
.form-error{color:var(--err);font-size:.82rem;margin-top:.6rem;}
@media(max-width:768px){.sim-grid{grid-template-columns:1fr;}}

/* EXPERTISE */
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.8rem;align-items:center;}
.split>*{min-width:0;}
.split .imgs{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.split .imgs img{border-radius:12px;border:1px solid rgba(201,168,76,.12);}
.split .imgs img:first-child{grid-column:1/3;}
.split ul{list-style:none;margin-top:1.1rem;}
.split li{padding-left:26px;position:relative;margin-bottom:.6rem;color:var(--lg);}
.split li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:800;}
/* À propos : sur ordinateur, les photos accompagnent la lecture du texte, devenu
   nettement plus long depuis l'intégration des contenus client.
   Scopé à #expertise : la section IST partage .split et ne doit pas bouger.
   align-items:start est indispensable, un enfant étiré par le centrage vertical
   par défaut occupe toute la hauteur et n'a alors rien à faire en sticky.
   Le décalage haut dégage l'en-tête, lui aussi sticky (.nav mesure 70px, 60px une
   fois réduite au défilement). Fonctionne parce que html/body sont en
   overflow-x:clip et non hidden, qui aurait créé un conteneur de défilement. */
@media (min-width:861px){
  #expertise .split{align-items:start;}
  #expertise .imgs{position:sticky;top:86px;}
  body.admin-bar #expertise .imgs{top:118px;}
}
/* Une personne qui a demandé moins d'animation n'attend pas non plus qu'un bloc
   se détache et suive son défilement. */
@media (min-width:861px) and (prefers-reduced-motion:reduce){
  #expertise .imgs{position:static;}
}

/* FORMATIONS */
.fm-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem;align-items:center;margin-bottom:2.4rem;}
.fm-intro>*{min-width:0;}
.fm-intro img{border-radius:12px;border:1px solid rgba(201,168,76,.12);width:100%;height:auto;}
.fm-intro h3{font-size:1.2rem;margin-bottom:.45rem;}
.fm-intro p{color:var(--gray);font-size:.9rem;}
.fmgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.fmgrid>*{min-width:0;}
/* Mode « nous consulter » : remplace la grille du catalogue par une bande unique.
   Pleine largeur et centrée, sinon une carte seule dans une grille en 3 colonnes
   se collerait au tiers gauche. */
.fm-consulter{background:var(--navy2);border:1px solid rgba(201,168,76,.18);border-radius:12px;padding:2rem;text-align:center;}
.fm-consulter p{color:var(--gray);font-size:.94rem;max-width:60ch;margin:0 auto 1.3rem;}
@media(max-width:768px){.fm-intro{grid-template-columns:1fr;}.fm-consulter{padding:1.5rem;}}
.fmc{position:relative;background:var(--navy2);border:1px solid rgba(201,168,76,.1);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:.25s;}
.fmc:hover{transform:translateY(-3px);border-color:rgba(201,168,76,.32);}
.fmc.feat{border-color:rgba(201,168,76,.55);box-shadow:0 14px 34px rgba(201,168,76,.12);}
.fmc.feat .fmct{background:linear-gradient(135deg,var(--navy3),#1c4270);}
.feat-badge{position:absolute;top:10px;right:10px;background:var(--gold2);color:var(--navy);font-size:.66rem;font-weight:700;padding:.22rem .6rem;border-radius:20px;z-index:2;}
.fmct{background:var(--navy3);padding:1.3rem;border-bottom:1px solid rgba(255,255,255,.05);}
.fmct .ic{color:var(--gold);margin-bottom:.55rem;display:inline-flex;}
.fmct .ic svg,.si svg{width:24px;height:24px;}
.fmct h3{font-size:.98rem;font-weight:600;margin-bottom:.3rem;}
.fmct p{font-size:.8rem;color:var(--gray);}
.fmcb{padding:1.2rem;display:flex;flex-direction:column;flex:1;}
.fmeta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem;}
.fb{font-size:.71rem;padding:.22rem .65rem;border-radius:12px;font-weight:600;background:rgba(29,158,117,.12);color:var(--ok);}
.fb-d{background:rgba(255,255,255,.06);color:var(--gray);}
.fb-p{background:rgba(201,168,76,.1);color:var(--gold2);}
.bins{width:100%;background:transparent;border:1px solid rgba(201,168,76,.28);color:var(--gold);padding:.6rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;margin-top:auto;transition:.2s;font-family:inherit;}
.bins:hover{background:rgba(201,168,76,.08);border-color:var(--gold);}

/* VEILLE / RÉGLEMENTATION */
.reg-chip{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--gold2);background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.25);padding:.35rem .8rem;border-radius:20px;}
.reg-feed{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:900px;margin:0 auto;}
.reg-feed>*{min-width:0;}
.rcard{background:var(--navy2);border:1px solid rgba(201,168,76,.1);border-radius:12px;padding:1.3rem;transition:.2s;display:flex;flex-direction:column;}
.rcard:hover{border-color:rgba(201,168,76,.3);transform:translateY(-2px);}
.rtag{align-self:flex-start;font-size:.7rem;padding:.2rem .6rem;border-radius:10px;font-weight:600;margin-bottom:.5rem;}
.rt-import{background:rgba(29,158,117,.14);color:#3fbf90;}
.rt-export{background:rgba(201,168,76,.14);color:var(--gold2);}
.rt-transit{background:rgba(96,160,240,.14);color:#84b7f5;}
.rt-sanctions{background:rgba(232,90,90,.14);color:#f08a8a;}
.rt-ue{background:rgba(112,144,255,.14);color:#9db0ff;}
.rt-tarif{background:rgba(232,166,42,.14);color:#e8a62a;}
.rt-oea{background:rgba(192,96,224,.14);color:#c88ce0;}
.reg-filters{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;max-width:900px;margin:1rem auto 1.6rem;}
.rfil{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--lg);background:var(--navy2);border:1px solid rgba(255,255,255,.1);padding:.34rem .8rem;border-radius:20px;cursor:pointer;font-family:inherit;transition:border-color .2s,background .2s,color .2s;}
.rfil:hover{border-color:rgba(201,168,76,.45);}
.rfil i{width:8px;height:8px;border-radius:50%;display:inline-block;}
.rfil em{font-style:normal;color:var(--gray);font-size:.72rem;}
.rfil.on{background:var(--gold);color:var(--navy);border-color:var(--gold);}
.rfil.on em{color:rgba(11,30,61,.65);}
.rcard.hide{display:none;}
.rcard h4{font-size:.95rem;font-weight:600;margin-bottom:.35rem;}
.rcard p{font-size:.83rem;color:var(--gray);flex:1;}
.rcard-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.9rem;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.06);font-size:.74rem;color:var(--gray);}
.rcard-foot a{color:var(--gold);font-weight:600;}
.rref{max-width:900px;margin:2.8rem auto 0;}
.rref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.rref-grid>*{min-width:0;}
.rref-card{background:var(--navy2);border:1px solid rgba(201,168,76,.1);border-radius:12px;padding:1.2rem;}
.rref-card h5{font-size:.86rem;color:var(--gold2);margin-bottom:.7rem;}
.rref-card a{display:block;font-size:.82rem;color:var(--lg);margin-bottom:.45rem;}
.rref-card a:hover{color:var(--gold);}
@media(max-width:768px){.reg-feed,.rref-grid{grid-template-columns:1fr;}}

/* CONTACT */
.contact{background:var(--navy);}
.cgrid{display:grid;grid-template-columns:1fr 1.6fr;gap:2.5rem;align-items:start;max-width:960px;margin:0 auto;}
.cgrid>*{min-width:0;}
.citem{display:flex;gap:14px;margin-bottom:1.3rem;}
.cico{width:40px;height:40px;background:rgba(201,168,76,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:18px;flex-shrink:0;}
.citxt p{font-size:.78rem;color:var(--gray);}
.citxt strong{font-size:.9rem;color:var(--white);}
.cfw{background:var(--navy2);border:1px solid rgba(201,168,76,.12);border-radius:12px;padding:1.6rem;}
.cico svg{width:18px;height:18px;}
.cphoto{width:100%;border-radius:12px;border:1px solid rgba(201,168,76,.15);margin-top:1.3rem;}
.csoc{margin-top:1.3rem;}
.s2-note.s2-tva{margin-top:.55rem;}
.citxt strong a{color:inherit;text-decoration:none;}
.citxt strong a:hover{color:var(--gold2);}
/* Lignes WeChat et WhatsApp : la valeur est une action, elle doit se voir comme telle. */
.citxt strong .b2s-qr{color:inherit;background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(201,168,76,.45);text-underline-offset:3px;}
.citxt strong .b2s-qr:hover{color:var(--gold2);text-decoration-color:currentColor;}
.citxt strong .b2s-qr:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px;}
.fcol .b2s-eml{display:block;margin-bottom:.5rem;}
.fcol .b2s-eml-a{display:inline;}
.cmap{width:100%;height:230px;border:0;border-radius:12px;display:block;margin-top:1.2rem;}
/* Mention de consentement RGPD sous les formulaires */
.form-legal{font-size:.72rem;color:var(--gray);margin-top:.7rem;line-height:1.45;}
.form-legal a{color:var(--gold);border-bottom:1px dotted rgba(201,168,76,.4);}
/* Placeholder carte Google Maps (click-to-load RGPD) */
.cmap-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center;padding:1.5rem;background:var(--navy2);border:1px dashed rgba(201,168,76,.3);}
.cmap-consent .cmap-btn{white-space:normal;max-width:100%;min-height:44px;}
.cmap-note{font-size:.72rem;color:var(--gray);max-width:320px;line-height:1.45;margin:0;}
.cfw textarea,.field textarea{width:100%;padding:.62rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--white);font:inherit;resize:vertical;min-height:96px;}
.cfw textarea:focus,.field textarea:focus{outline:none;border-color:rgba(201,168,76,.5);}
.cfw textarea::placeholder{color:var(--gray);}
.cfw label{font-size:.8rem;color:var(--gray);display:block;margin-bottom:.25rem;}
.sim-feat .fi svg{width:20px;height:20px;}
.rref-card h5{display:flex;align-items:center;gap:8px;}
.rref-card h5 svg{width:17px;height:17px;flex-shrink:0;}
.hbadge svg{width:14px;height:14px;flex-shrink:0;}
.reg-chip svg{width:14px;height:14px;flex-shrink:0;}

/* FOOTER */
footer.ft{background:var(--navy);border-top:1px solid rgba(201,168,76,.15);padding:2.6rem 0 1.6rem;}
.ftop{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem;padding-bottom:1.8rem;border-bottom:1px solid rgba(255,255,255,.07);}
.ftop>*{min-width:0;}
.flogo{font-size:1.15rem;font-weight:700;margin-bottom:.6rem;}.flogo span{color:var(--gold);}
.flogo-img{height:52px;width:auto;margin-bottom:.7rem;}
.fbrand p{font-size:.8rem;color:var(--gray);max-width:230px;}
.fsoc{display:flex;gap:.5rem;margin-top:.8rem;}
.fsoc span{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--gray);cursor:pointer;transition:.2s;}
.fsoc span:hover{background:rgba(201,168,76,.15);border-color:rgba(201,168,76,.4);color:var(--gold);}
.fsoc svg{width:18px;height:18px;}
/* Le bouton WeChat sans lien doit se fondre parmi les icônes voisines. */
.fsoc button{background:none;border:0;padding:0;font:inherit;line-height:0;cursor:pointer;}
.fsoc a:focus-visible span,.fsoc button:focus-visible span{outline:2px solid var(--gold);outline-offset:2px;}

/* Fenêtre WeChat / WhatsApp : code à scanner, affichée sur ordinateur seulement. */
.qr-box{text-align:center;}
.qr-img{min-height:200px;display:flex;align-items:center;justify-content:center;margin:1.2rem 0 .8rem;}
.qr-img svg{border-radius:10px;display:block;}
.qr-msg{color:var(--lg);font-size:.88rem;margin:0;}
.qr-hint{color:var(--lg);font-size:.86rem;margin:.5rem 0 0;}
.qr-id{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0 0;flex-wrap:wrap;}
.qr-id code{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.4rem .7rem;color:var(--white);font-size:.92rem;word-break:break-all;}
.qr-copy{background:none;border:1px solid rgba(201,168,76,.4);color:var(--gold);border-radius:8px;padding:.4rem .8rem;font:inherit;font-size:.82rem;cursor:pointer;transition:.2s;}
.qr-copy:hover{background:rgba(201,168,76,.15);}
.qr-open{display:inline-block;margin-top:1.1rem;color:var(--gold);font-size:.88rem;text-decoration:underline;}
.fcol h4{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.9rem;}
.fcol a{display:block;font-size:.8rem;color:var(--gray);margin-bottom:.5rem;}
.fcol a:hover{color:var(--gold);}
.fbot{font-size:.75rem;color:var(--gray);padding-top:1.3rem;}
.fcredit a{color:inherit;text-decoration:none;opacity:.75;}.fcredit a:hover{opacity:1;color:var(--gold);}

/* MODAL */
.modal{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.7);}
.modal.show{display:flex;}
.modal-box{background:var(--navy2);border:1px solid rgba(201,168,76,.2);border-radius:16px;max-width:540px;width:100%;max-height:88vh;overflow:auto;padding:2rem;position:relative;}
.modal-box h3{font-size:1.3rem;padding-right:30px;color:var(--white);}
.modal-box .x{position:absolute;top:14px;right:18px;background:none;border:0;font-size:1.6rem;color:var(--gray);cursor:pointer;line-height:1;}
.modal-box p{color:var(--lg);margin:1rem 0;font-size:.9rem;}
.modal-box .mfield{margin-bottom:.7rem;}
.modal-box .mfield label{display:block;font-size:.76rem;color:var(--lg);margin-bottom:.3rem;}
.modal-box .mfield input{width:100%;padding:.6rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.04);color:var(--white);font:inherit;}
.modal-box .retour-ok{color:var(--ok);font-weight:700;padding:.6rem 0;}
/* Boutons du modal : autoriser le retour à la ligne et rester dans la boîte (sinon un CTA long
   comme « Demander un accompagnement » déborde en .btn nowrap et fait scroller le modal en mobile). */
.modal-box .btn{white-space:normal;height:auto;min-height:48px;max-width:100%;}
#modalContent>.btn{display:flex;width:100%;padding:.7rem 1rem;line-height:1.25;margin-top:1.1rem;text-align:center;}

/* Simulateur — étape 2 (marchandise → estimation) */
#s2-wrap{margin-top:.5rem;}
/* Bandeau d'introduction de l'étape 2. Passé du vert de succès au doré de marque le
   27/07 : depuis l'accès libre, ce n'est plus une confirmation d'enregistrement mais une
   simple consigne, et un vert de succès sur une consigne induit en erreur. */
.s2-banner{background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.28);color:var(--gold2);border-radius:10px;padding:.7rem 1rem;font-size:.86rem;font-weight:600;margin-bottom:1rem;}
#s2-wrap .field label{display:block;font-size:.78rem;color:var(--gray);margin-bottom:.25rem;}
#s2-wrap select{width:100%;padding:.62rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--white);font:inherit;}
#s2-wrap select:focus{outline:none;border-color:rgba(201,168,76,.5);}
#s2-wrap select option,#s2-wrap select optgroup{background:var(--navy2);color:var(--white);}
.s2-cols{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
@media(max-width:560px){.s2-cols{grid-template-columns:1fr;}}
.s2-status{font-size:.78rem;color:var(--gray);margin:-.35rem 0 .75rem;line-height:1.45;}
.s2-status:empty{display:none;margin:0;}
.s2-ok{color:var(--ok);}
.s2-warn{color:#e8a62a;}
.s2-warn a{color:var(--gold);font-weight:600;}
.s2-basis{display:inline-block;margin-top:3px;font-size:.86em;color:var(--muted,#9fb0c8);}
.s2-basis a{color:var(--gold);font-weight:600;}
.s2-transport{margin:.35rem 0 .9rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.6rem .9rem;}
.s2-transport summary{font-size:.82rem;color:var(--lg);cursor:pointer;}
.s2-transport[open]{padding-bottom:.2rem;}
.s2-transport .s2-cols{margin-top:.7rem;}
.s2-empty{font-size:.84rem;color:var(--gray);text-align:center;padding:1rem .5rem;border:1px dashed rgba(255,255,255,.12);border-radius:10px;}
.s2-devis{background:rgba(201,168,76,.05);border:1px solid rgba(201,168,76,.2);border-radius:10px;padding:1.1rem 1.2rem;margin-top:.4rem;}
.s2-devis-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.4rem;font-size:.78rem;color:var(--gold2);letter-spacing:.05em;}
.s2-badge{font-size:.72rem;font-weight:700;padding:.2rem .65rem;border-radius:12px;background:rgba(255,255,255,.07);color:var(--lg);}
.s2-badge-ok{background:rgba(29,158,117,.14);color:#3fbf90;}
.s2-prod{font-size:.84rem;color:var(--lg);margin-bottom:.6rem;}
.s2-prod b{color:var(--gold2);}
.s2-alert{border-radius:10px;padding:.75rem 1rem;font-size:.83rem;margin:.7rem 0;line-height:1.5;}
.s2-alert-err{background:rgba(226,75,74,.1);border:1px solid rgba(226,75,74,.35);color:#f08a8a;}
.s2-alert-err a{color:var(--gold);font-weight:600;}
.s2-alert-warn{background:rgba(232,166,42,.08);border:1px solid rgba(232,166,42,.3);color:#e8a62a;}
.s2-alert-ok{background:rgba(29,158,117,.08);border:1px solid rgba(29,158,117,.3);color:var(--lg);}
.s2-docs{margin:.8rem 0 .2rem;}
.s2-docs summary{font-size:.82rem;font-weight:600;color:var(--gold2);cursor:pointer;}
.s2-docs ul{list-style:none;margin:.6rem 0 0;padding:0;}
.s2-docs li{font-size:.8rem;color:var(--lg);padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.06);}
.s2-docs li span{color:var(--gray);font-size:.75rem;}
.s2-note{font-size:.72rem;color:var(--gray);margin-top:.8rem;}
/* Sortie du simulateur public : mention de ce qui n'est PAS compris + astérisque
   d'autoliquidation de la TVA (libellés validés le 23/07). */
.s2-excl{font-size:.78rem;color:var(--gold2);margin:.5rem 0 .2rem;line-height:1.45;font-style:italic;}
.s2-ast{color:var(--gold2);font-weight:700;font-size:.78em;}
.s2-vatnote{margin-top:.3rem;}
/* Message affiché le temps que le moteur (~220 Ko, chargé à la demande) arrive. */
.s2-loading{font-size:.85rem;color:var(--gray);padding:.9rem 0;}
#s2-send-wrap{margin-top:.9rem;}
/* Le bouton d'envoi affiche un message de succès long ("✓ Chiffrage transmis, un expert vous rappelle") :
   autoriser le retour à la ligne (sinon .btn nowrap le fait déborder et couper en mobile). */
#s2-send{white-space:normal;height:auto;min-height:48px;padding-top:.55rem;padding-bottom:.55rem;line-height:1.25;}

/* Pages intérieures (mentions légales, etc.) */
.page-int{min-height:60vh;}
.page-narrow{max-width:820px;}
.page-content h2{font-size:1.15rem;color:var(--gold2);margin:1.8rem 0 .6rem;}
.page-content h3{font-size:1rem;color:var(--white);margin:1.3rem 0 .45rem;}
.page-content p,.page-content li{font-size:.92rem;color:var(--lg);margin-bottom:.6rem;}
.page-content ul{padding-left:1.3rem;margin-bottom:.8rem;}
.page-content a{color:var(--gold);border-bottom:1px dotted rgba(201,168,76,.4);}
.page-content strong{color:var(--white);}

/* Toast d'information (sélecteur de langue, messages) */
.site-toast{position:fixed;bottom:2rem;right:2rem;background:var(--navy3);border:1px solid rgba(201,168,76,.3);color:var(--white);padding:.85rem 1.4rem;border-radius:10px;font-size:.85rem;z-index:9999;transform:translateY(80px);opacity:0;transition:.35s;max-width:calc(100vw - 32px);}
.site-toast.show{transform:translateY(0);opacity:1;}
.site-toast a{color:var(--gold);font-weight:700;}

/* Fenêtre étroite : le menu complet est encore déployé (le burger n'apparaît qu'à
   860 px) mais la largeur ne suffit plus pour un logo de 64 px ET l'accroche.
   Mesuré : à 900 px il ne reste qu'environ 60 px au bloc de gauche une fois le
   menu, les langues et le bouton placés. Deux paliers plutôt qu'un, pour garder
   l'accroche aussi bas que la place le permet réellement.

   Palier 1 (1000 → 1120 px) : on préfère GARDER l'accroche et rétrécir le logo.
   Vérifié : ça tient proprement jusqu'à 1000 px, ça devient limite à 950, et à
   900 le bouton repasse sur le sélecteur de langue. */
@media (min-width:1000.02px) and (max-width:1120px){
  .logo img{height:44px;}
  header.scrolled .logo img{height:40px;}
  .nav{min-height:66px;}
  header.scrolled .nav{min-height:60px;}
  .logo .logo-txt-seul .slogan{font-size:.68rem;}
}
/* Palier 2 (861 → 1000 px) : plus aucune place pour l'accroche, on la retire et
   on rend au logo un peu de hauteur. Elle réapparaît en dessous, avec le burger. */
@media (min-width:861px) and (max-width:1000px){
  .logo img{height:48px;}
  header.scrolled .logo img{height:44px;}
  .nav{min-height:72px;}
  header.scrolled .nav{min-height:64px;}
  .logo .logo-txt-seul{display:none;}
}
@media (max-width:860px){
  .split,.cgrid{grid-template-columns:1fr;}
  .sgrid,.fmgrid{grid-template-columns:1fr 1fr;}
  .ftop{grid-template-columns:1fr 1fr;}
}
@media (max-width:768px){
  /* Barre mobile = logo COMPLET + burger uniquement. Menu ET sélecteur de langue se replient dans le burger. */
  .menu,.ncta{display:none;}
  .menu.open{display:flex;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:1rem 2rem;gap:.6rem;border-bottom:1px solid #e4ebf2;box-shadow:0 8px 20px rgba(11,30,61,.1);}
  .menu.open .lang{align-self:center;margin:.5rem 0 .2rem;}
  .burger{display:block;margin-left:auto;}
  section{padding:3.4rem 0;}
}
@media (max-width:400px){
  /* Barre compacte. L'accroche est CONSERVÉE sur téléphone (demande du 29/07) :
     elle rétrécit et passe sur deux lignes plutôt que de disparaître. */
  .logo{gap:8px;}
  .logo img,header.scrolled .logo img{height:44px;}
  .logo .wm{font-size:1rem;}
  .slogan{font-size:.5rem;}
  .logo .logo-txt-seul .slogan{font-size:.66rem;white-space:normal;line-height:1.15;}
  .logo .logo-txt-seul{max-width:82px;}
}
@media (max-width:560px){
  .sgrid,.fmgrid,.grid2{grid-template-columns:1fr;}
  .sbar-in{grid-template-columns:repeat(2,1fr);}
  .st:nth-child(2){border-right:0;}
}

/* Références / preuve sociale */
.logos{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;align-items:center;margin-bottom:2.6rem;}
.logos .lg{width:130px;height:54px;background:var(--navy2);border:1px solid rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:.72rem;font-weight:600;letter-spacing:.04em;}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.tgrid>*{min-width:0;}
.tcard{background:var(--navy2);border:1px solid rgba(201,168,76,.1);border-radius:12px;padding:1.6rem;}
.tcard .q{font-family:Georgia,serif;font-size:2.6rem;color:var(--gold);line-height:.7;opacity:.45;}
.tcard .stars{color:var(--gold2);letter-spacing:2px;font-size:.85rem;margin:.3rem 0 .5rem;}
.tcard p{font-size:.9rem;color:var(--lg);margin-bottom:1.1rem;}
.tcard .who{display:flex;align-items:center;gap:10px;}
.tcard .av{width:38px;height:38px;border-radius:50%;background:rgba(201,168,76,.15);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0;}
.tcard .who b{font-size:.85rem;color:var(--white);display:block;}
.tcard .who span{font-size:.76rem;color:var(--gray);}
@media(max-width:768px){.tgrid{grid-template-columns:1fr;}}

/* Animations discrètes */
html{scroll-behavior:smooth;scroll-padding-top:84px;}
@keyframes heroUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion: no-preference){
  .has-js .sec-head,.has-js .sbar-in,.has-js .sc,.has-js .fm-intro,.has-js .fmc,.has-js .sim-lead,.has-js .sim-card,.has-js .split>div,.has-js .reg-filters,.has-js .rcard,.has-js .rref,.has-js .cgrid>div,.has-js .logos,.has-js .tcard{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
  .has-js .in{opacity:1!important;transform:none!important;}
  .has-js .sc:nth-child(2),.has-js .fmc:nth-child(2),.has-js .rcard:nth-child(2){transition-delay:.07s;}
  .has-js .sc:nth-child(3),.has-js .fmc:nth-child(3),.has-js .rcard:nth-child(3){transition-delay:.14s;}
  .has-js .sc:nth-child(4),.has-js .fmc:nth-child(4),.has-js .rcard:nth-child(4){transition-delay:.21s;}
  .has-js .sc:nth-child(5),.has-js .fmc:nth-child(5),.has-js .rcard:nth-child(5){transition-delay:.28s;}
  .has-js .sc:nth-child(6),.has-js .fmc:nth-child(6),.has-js .rcard:nth-child(6){transition-delay:.35s;}
  .has-js .hero-in>*{opacity:0;animation:heroUp .85s cubic-bezier(.2,.7,.2,1) forwards;}
  .has-js .hero-in>*:nth-child(1){animation-delay:.1s;}
  .has-js .hero-in>*:nth-child(2){animation-delay:.22s;}
  .has-js .hero-in>*:nth-child(3){animation-delay:.34s;}
  .has-js .hero-in>*:nth-child(4){animation-delay:.46s;}
}

/* Effets premium */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));z-index:300;transition:width .08s linear;}
.totop{position:fixed;bottom:22px;right:22px;width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--navy);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(11,30,61,.35);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .3s,background .2s,visibility .3s;z-index:150;}
.totop.show{opacity:1;visibility:visible;transform:none;}
.totop:hover{background:var(--gold2);}
.totop svg{width:20px;height:20px;}
header{transition:box-shadow .3s ease,background .3s ease;}
header .nav{transition:min-height .3s ease;}
header .logo img{transition:height .3s ease;}
header.scrolled{box-shadow:0 6px 24px rgba(11,30,61,.13);}
header.scrolled .nav{min-height:70px;}
header.scrolled .logo img{height:52px;}
/* Entrepôt sous douane : bandeau mis en avant (réutilise .split / .imgs) */
.douane-band{background:var(--navy);border-top:1px solid rgba(201,168,76,.15);border-bottom:1px solid rgba(201,168,76,.15);}
.douane-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold2);background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.3);padding:.32rem .75rem;border-radius:999px;margin-bottom:1rem;}
.btn.bp{position:relative;overflow:hidden;}
.btn.bp::after{content:'';position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none;}
.btn.bp:hover::after{left:150%;}
.sc:hover,.fmc:hover{box-shadow:0 16px 36px rgba(3,10,20,.35),0 0 0 1px rgba(201,168,76,.28);}
@keyframes kenburns{from{transform:scale(1.02);}to{transform:scale(1.09);}}
@media (prefers-reduced-motion: no-preference){
  .hero .bg img{animation:kenburns 22s ease-in-out infinite alternate;}
  .has-js .sec-head .div{width:0;transition:width .7s cubic-bezier(.2,.7,.2,1) .25s;}
  .has-js .sec-head.in .div{width:44px;}
  .has-js #expertise .split>div:first-child,.has-js #entrepot-douane .split>div:first-child{transform:translateX(-34px);}
  .has-js #expertise .split>div:last-child,.has-js #entrepot-douane .split>div:last-child{transform:translateX(34px);}
}
