/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{max-width:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:'Source Sans Pro',Arial,sans-serif;background:#fff;-webkit-tap-highlight-color:transparent}
a,button,label,[role="button"]{touch-action:manipulation}
/* Masquer le contenu de fond quand le simulateur est ouvert (clavier iOS semi-transparent) */
body.sim-open > *:not(.sim-page):not(.nat-panel):not(.nat-picker-panel) { visibility:hidden; }
body{font-family:'Source Sans Pro',Arial,sans-serif;font-size:0.75rem;color:#000000;background:#fff;line-height:1.6;font-weight:400;max-width:100%;width:100%}
p{font-size:1rem;font-weight:400;line-height:1.7}
*{box-sizing:border-box}
/* Empêche le zoom automatique iOS sur tous les champs (font-size < 16px = zoom) */
input,select,textarea{font-size:max(16px,1em) !important;}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',Arial,sans-serif;text-transform:none}
h1{font-size:1.7rem;font-weight:700;letter-spacing:-1px;line-height:1.2}
h2{font-size:2.2rem;font-weight:700;letter-spacing:-0.8px;line-height:1.2;color:var(--navy);text-align:center;}
h3{font-size:1.7rem;font-weight:700;letter-spacing:-0.5px;line-height:1.25}
h4{font-size:1.35rem;font-weight:700;letter-spacing:-0.3px;line-height:1.35}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none;-webkit-tap-highlight-color:transparent}
/* Neutralise le halo gris natif iOS au toucher des liens et des éléments
   cliquables (liens de page, hamburger Menu qui est un div[role=button]…) :
   toucher propre et discret, sans bloc gris agressif. */
a,[role="button"]{-webkit-tap-highlight-color:transparent}

:root{
  --orange:#e25a36;
  --navy:#010035;
  --navy-d:#010035;
  --teal:#e25a36;
  --teal-d:#cc3f19;
  --coral:#83bc3d;
  --coral-d:#6da32e;
  --green-l:rgba(131,188,61,.12);
  --btn-primary:#90e7fb;
  --btn-primary-d:#55daf9;
  --btn-primary-text:#0b1a22;
  --btn-primary-l:rgba(144,231,251,.22);
  --mred:#e9041e;
  --sky:#3ab5e5;
  --sky-l:#62c9ef;
  --text:#333;
  --gray:#f5f5f5;
  --hh:72px;
  --tb:56px;
  --w:1200px;
}

/* ═══════════════════════════
   HEADER
═══════════════════════════ */
.top-legal-bar{
  position:relative;z-index:1;
  background:#d8d8d8;
  min-height:var(--tb);
  display:flex;align-items:center;justify-content:center;
  padding:0 1.2rem;
  font-size:.82rem;color:#333;text-align:center;line-height:1.5;
}
@media(min-width:700px){
  :root{--tb:34px}
  .top-legal-bar{font-size:.78rem}
}
@media(min-width:960px){
  .top-legal-bar{font-size:1.05rem}
}
.header{
  position:sticky;top:0;left:0;right:0;z-index:1000;
  background:#fff;
  border-bottom:2px solid #e8e8e8;
  height:var(--hh);
}
.hd-inner{
  max-width:var(--w);margin:0 auto;
  height:var(--hh);display:flex;align-items:center;
  padding:0 1rem;justify-content:space-between;
}
/* hamburger */
.hd-menu-btn{
  display:flex;flex-direction:column;align-items:center;gap:4px;padding:.4rem .5rem;
  cursor:pointer;background:none;border:none;font-family:inherit;align-self:center;
}
.hd-menu-btn span{display:block;width:22px;height:2px;background:#6b7280;border-radius:2px}
.hd-menu-label{display:none}
/* logo centré */
.hd-logo{
  position:absolute;left:50%;transform:translateX(-50%);
  font-family:'Montserrat',Arial,sans-serif;
  font-size:1.55rem;font-weight:800;letter-spacing:-.5px;
  color:#0C2D5E;
  text-decoration:none;
  text-transform:uppercase;
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  user-select:none;
}
/* droite */
.hd-right{display:flex;align-items:center;gap:.5rem}
/* mobile : cacher les éléments desktop */
.hd-dossier{display:none}
.hd-connect-btn{display:none}
.hd-connect{
  display:flex;flex-direction:column;align-items:center;gap:.15rem;
  font-size:.65rem;font-weight:700;color:#6b7280;text-decoration:none;align-self:center;
}
.hd-connect span{display:none!important}
/* nav desktop */
.desktop-nav{display:none}
.hd-help{display:none}
@media(min-width:1200px){
  .hd-menu-btn,.hd-menu-label-wrap{display:none}
  /* En-tête 1 rangée (référence Franfinance) : logo bien à gauche, nav
     centrée, pastilles pleines (Suivi de dossier / Se connecter) bien à
     droite. Pas d'Aide & Contact ni de recherche dans cette rangée. */
  .header{height:5.4rem}
  .hd-help{display:none}
  .hd-right{display:flex}
  .hd-search{display:none}
  .hd-inner{
    max-width:1240px;margin:0 auto;height:5.4rem;
    padding:0 1.5rem;
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:1.5rem;
  }
  .hd-logo{
    position:static;transform:none;justify-self:start;
    font-family:'Source Sans Pro',Arial,sans-serif;
    font-size:1.5rem;font-weight:800;letter-spacing:.01em;
    text-transform:uppercase;color:var(--navy);
  }
  .desktop-nav{
    display:flex;height:100%;align-items:center;margin:0;
    justify-self:center;
  }
  .desktop-nav > ul{display:flex;height:100%;align-items:center;list-style:none;padding:0;margin:0;gap:1.7rem}
  .desktop-nav li{height:100%;position:relative}
  .desktop-nav > ul > li > a{
    display:flex;align-items:center;height:100%;
    padding:0;font-family:'Source Sans Pro',Arial,sans-serif;
    font-size:.92rem;font-weight:700;color:var(--navy);
    text-transform:uppercase;letter-spacing:.01em;
    border-bottom:3px solid transparent;white-space:nowrap;
    transition:color .15s,border-color .15s;
  }
  .desktop-nav > ul > li > a:hover{color:var(--orange);border-bottom-color:var(--orange)}
  .desktop-nav li.has-sub > a::after{
    content:'';display:inline-block;width:5px;height:5px;margin-left:.3rem;margin-top:-2px;
    border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:rotate(45deg);
  }
  .desktop-nav > ul > li:hover > a{color:var(--orange);border-bottom-color:var(--orange)}
  /* Méga-menu "Crédits" (référence Franfinance) : panneau pleine largeur,
     catégories avec libellé rouge souligné, grille d'icônes séparées par
     des filets verticaux. */
  .desktop-nav li.has-sub{position:static}
  .mega-menu{
    display:none;position:absolute;left:0;right:0;top:100%;
    background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.14);
    border-top:3px solid #d13624;z-index:200;padding:2rem 0;
  }
  .desktop-nav li:hover > .mega-menu{display:block}
  .mega-menu-inner{max-width:1240px;margin:0 auto;padding:0 1.5rem;display:flex;gap:4rem}
  .mega-col{flex:0 1 auto}
  .mega-cat{
    display:inline-block;font-size:.85rem;font-weight:800;color:#d13624;
    text-transform:uppercase;letter-spacing:.02em;
    padding-bottom:.6rem;margin-bottom:1.5rem;
    border-bottom:2px solid #d13624;
  }
  .mega-grid{display:flex}
  .mega-item{
    display:flex;flex-direction:column;align-items:center;gap:.6rem;
    padding:0 1.4rem;text-align:center;position:relative;
    font-size:.8rem;font-weight:600;color:var(--navy);min-width:84px;
  }
  .mega-item:not(:first-child)::before{
    content:'';position:absolute;left:0;top:2px;bottom:2px;width:1px;background:#e2e2e2;
  }
  .mega-item svg{width:26px;height:26px;color:#111;flex-shrink:0}
  .mega-item:hover span{color:#d13624}
  .mega-overlay{
    display:none;position:fixed;left:0;right:0;top:5.4rem;bottom:0;
    background:rgba(15,23,42,.4);z-index:190;pointer-events:none;
  }
  .header:has(.has-sub:hover) + .mega-overlay{display:block}
  .hd-right{
    justify-self:end;
    align-items:center;gap:.7rem;
  }
  .hd-dossier,.hd-connect-btn{
    display:flex;align-items:center;gap:.45rem;
    border:none;border-radius:2rem;
    padding:.55rem 1.1rem;font-family:'Source Sans Pro',Arial,sans-serif;
    font-size:.92rem;font-weight:700;
    white-space:nowrap;transition:opacity .15s;
  }
  .hd-dossier{background:var(--navy);color:#fff}
  .hd-connect-btn{background:#d13624;color:#fff}
  .hd-dossier:hover,.hd-connect-btn:hover{opacity:.85}
  .hd-dossier svg,.hd-connect-btn svg{width:16px;height:16px;flex-shrink:0}
  .hd-connect{display:none}
}

/* ═══════════════════════════
   MENU MOBILE PLEIN ÉCRAN
═══════════════════════════ */
.mobile-overlay{display:none}
.mobile-menu{
  display:none;position:fixed;inset:0;width:100%;max-width:none;background:#fff;z-index:1100;
  overflow-y:auto;flex-direction:column;
}
.mobile-menu.open{display:flex}
.mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:1090}
.mobile-overlay.open{display:block}
.mob-mhd{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.2rem 1.2rem;background:#fff;
  flex-shrink:0;
}
.mob-close-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  cursor:pointer;width:52px;height:52px;color:var(--navy);background:#fff;
  border:1.5px solid #ddd;border-radius:10px;
  font-family:inherit;
}
.mob-close-btn svg{display:block}
.mob-close-btn span{font-size:.62rem;font-weight:700;color:var(--navy);letter-spacing:.03em}
.mob-close-btn{-webkit-tap-highlight-color:transparent}
.mob-close-btn:focus,.mob-close-btn:active{outline:none}
.mob-mhd-logo{font-family:'Montserrat',Arial,sans-serif;font-size:1.45rem;font-weight:800;letter-spacing:-.5px;color:#0C2D5E;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;}
.mob-nav-list{flex:0}
.mob-nav-item{}
.mob-nav-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.05rem 1.2rem;font-size:1.05rem;font-weight:600;color:var(--navy);
  background:none;border:none;width:100%;text-align:left;cursor:pointer;
  font-family:inherit;text-decoration:none;
}
.mob-nav-link:hover{background:#f5f5f5}
.mob-nav-link.teal{color:var(--mred)}
.mob-nav-chev{color:#999;font-size:1.1rem;flex-shrink:0;line-height:1}
.mob-nav-icon-item{
  display:flex;align-items:center;gap:.75rem;
  padding:.72rem 1.2rem;
  font-size:.93rem;font-weight:600;color:var(--navy);text-decoration:none;
}
.mob-nav-icon-item svg{flex-shrink:0;color:#6b7280}
.mob-search-btn{
  min-width:52px;background:none;border:none;cursor:pointer;color:#6b7280;
  display:flex;justify-content:flex-end;
}
.mob-legal-banner{
  background:#f5f5f5;padding:.55rem 1.1rem;
  font-size:.7rem;color:#555;line-height:1.4;text-align:center;flex-shrink:0;
}
/* Ancien bouton fermer circulaire (encore utilisé sur les pages non
   migrées vers le nouveau menu) */
.mob-close-x{
  position:absolute;top:.7rem;right:.9rem;z-index:5;
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.06);border:none;color:#6b7280;cursor:pointer;padding:0;
  -webkit-tap-highlight-color:transparent;
}
.mob-close-x:hover{background:rgba(0,0,0,.1)}
.mob-menu-cta-top{padding:1.1rem 3.4rem 1.1rem 1.2rem}
.mob-menu-cta-top .mob-sim-btn{background:#d13624;color:#fff;box-shadow:none}
.mob-menu-cta-top .mob-sim-btn:hover{background:#ae2d1e}
/* Ancienne rangée d'icônes (encore utilisée sur les pages non migrées) */
.mob-icon-row{display:flex;flex-shrink:0;background:#fff;padding-bottom:env(safe-area-inset-bottom)}
.mob-icon-col{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;
  padding:.9rem .3rem;font-size:.72rem;font-weight:600;color:#4c4c4c;text-decoration:none;
  border-right:1px solid #eee;text-align:center;
}
.mob-icon-col:last-child{border-right:none}
.mob-icon-col svg{flex-shrink:0;color:#6b7280}
/* Menu mobile : accordéon Crédits / Assurances */
.mob-acc-item{}
.mob-acc-btn{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.05rem 1.2rem;font-size:1.05rem;font-weight:600;color:var(--navy);
  background:none;border:none;width:100%;text-align:left;cursor:pointer;
  font-family:inherit;
}
.mob-acc-chev{color:var(--navy);flex-shrink:0;line-height:1;display:inline-flex;transition:transform .2s}
.mob-acc-chev svg{display:block}
.mob-acc-item.open .mob-acc-chev{transform:rotate(180deg)}
.mob-acc-panel{max-height:0;overflow:hidden;transition:max-height .25s ease}
.mob-acc-item.open .mob-acc-panel{max-height:700px;padding-bottom:.6rem}
.mob-acc-group-label{padding:.5rem 1.2rem .3rem 1.3rem;font-size:.82rem;font-weight:800;color:#4c4c4c;text-transform:uppercase;letter-spacing:.01em}
.mob-acc-sub-link{
  display:flex;align-items:center;gap:.8rem;
  padding:.55rem 1.2rem .55rem 1.3rem;font-size:.95rem;font-weight:500;color:#4c4c4c;text-decoration:none;
}
.mob-acc-sub-link:hover{background:#f5f5f5}
.mob-acc-sub-ico{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#6b7280}
.mob-acc-sub-ico svg{width:20px;height:20px}
/* Menu mobile : liens utilitaires bas de menu (Suivi/Espace client/Contact) */
.mob-cta-zone{flex-shrink:0;background:#fff;margin-top:auto;padding-bottom:env(safe-area-inset-bottom)}
.mob-cta-dossier,.mob-cta-connect{
  display:flex;align-items:center;gap:.8rem;width:100%;
  padding:1rem 1.2rem;border:none;background:#fff;
  font-size:1rem;font-weight:600;color:var(--navy);
  cursor:pointer;font-family:inherit;line-height:1;text-align:left;text-decoration:none;
}
.mob-cta-dossier:hover,.mob-cta-connect:hover{background:#f5f5f5}
.mob-cta-chev{margin-left:auto;color:#999;flex-shrink:0}

/* ── Menu mobile v2 : listes en cartes groupées + sous-écran (référence
   app bancaire — "Menu" + catégories + drill-down "Crédits") ── */
.mob-mhd2{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.1rem 1.2rem;flex-shrink:0;
}
.mob-menu-back,.mob-menu-close2{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid #e9e9ee;box-shadow:0 2px 8px rgba(16,24,50,.06);
  color:var(--navy);cursor:pointer;padding:0;font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.mob-menu-back{display:none}
.mobile-menu.sub-open .mob-menu-back{display:flex}
.mob-menu-title2{
  flex:1;font-size:1.4rem;font-weight:800;color:var(--navy);letter-spacing:-.3px;
  margin:0 .8rem;text-align:left;line-height:1.1;
}
.mob-menu-body{padding:.6rem 1.2rem 2rem;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mob-sub-view{display:none;flex-direction:column}
.mob-sub-view:not([hidden]){display:flex}
.mob-menu-title{font-size:2rem;font-weight:800;color:var(--navy);letter-spacing:-.5px;padding:.4rem 0 1.3rem;line-height:1.1}
.mob-cat-label{font-size:.76rem;font-weight:800;color:#9498a8;text-transform:uppercase;letter-spacing:.03em;padding:0 .2rem .6rem;margin-top:1.5rem}
.mob-cat-label:first-of-type{margin-top:0}
.mob-card-group{
  background:#fff;border-radius:16px;box-shadow:0 2px 14px rgba(16,24,50,.08);
  overflow:hidden;
}
.mob-card-row{
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  width:100%;padding:1.1rem 1.2rem;
  font-size:1.02rem;font-weight:600;color:var(--navy);
  background:none;border:none;border-bottom:1px solid #eef0f4;
  text-align:left;cursor:pointer;font-family:inherit;text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.mob-card-row:last-child{border-bottom:none}
.mob-card-row:hover{background:#f7f8fa}
.mob-card-chev{color:var(--navy);flex-shrink:0;display:inline-flex}
.mob-card-group--link{box-shadow:none;background:none;border-radius:0;margin-top:.9rem}
.mob-all-link{display:block;padding:.5rem 1.2rem;color:var(--coral);font-weight:700;text-decoration:underline}

/* Bouton fixe "Simuler un projet" mobile */
.mob-sim-bar{
  display:block;position:fixed;bottom:0;left:0;right:0;
  padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.98);
  z-index:800;
  box-shadow:0 -2px 16px rgba(0,0,0,.12);
  transform:translate3d(0,120%,0);
  -webkit-transform:translate3d(0,120%,0);
  transition:transform .18s ease;
  will-change:transform;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.mob-sim-bar.visible{transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0)}
.mob-sim-btn{
  display:block;width:fit-content;max-width:100%;margin:0 auto;background:#d13624;color:#fff;
  border:none;border-radius:2rem;padding:.85rem 2.8rem;
  font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;line-height:1;
  text-align:center;white-space:nowrap;transition:background .15s;
  box-shadow:0 4px 16px rgba(209,54,36,.35);
}
.mob-sim-btn:hover{background:#ae2d1e}
@media(min-width:960px){
  .mob-sim-bar{display:none}
  .mobile-menu{display:none!important}
  .mobile-overlay{display:none!important}
}

/* Barre de simulation fixe desktop (référence Sofinco) */
.desk-sim-bar{display:none}
@media(min-width:960px){
  .desk-sim-bar{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:800;
    background:#fff;box-shadow:0 -2px 16px rgba(0,0,0,.12);
    transform:translate3d(0,120%,0);
    -webkit-transform:translate3d(0,120%,0);
    transition:transform .25s ease;
    will-change:transform;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
  }
  .desk-sim-bar.visible{transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0)}
  .desk-sim-bar-inner{
    display:flex;align-items:center;justify-content:space-between;gap:2rem;
    max-width:var(--w);margin:0 auto;
    padding:1.1rem 2rem;
  }
  .desk-sim-bar-label{font-size:1.05rem;font-weight:700;color:var(--navy);flex:1;max-width:360px}
  .desk-sim-bar-form{display:flex;align-items:center;gap:.65rem;flex-shrink:0}
  .desk-sim-bar-form .sim-select,.desk-sim-bar-form .sim-input{width:auto;min-width:170px;height:46px}
  .desk-sim-bar-form .btn-teal{width:auto;padding:.8rem 1.6rem;white-space:nowrap;border-radius:10px}
}

/* ═══════════════════════════
   PAGE WRAPPER
═══════════════════════════ */
.page{background:#fff;overflow-x:clip;display:flow-root}
.inner{max-width:var(--w);margin:0 auto;padding:0 1rem}

/* ═══════════════════════════
   HERO BANNER — style Sofinco
═══════════════════════════ */
.hero-banner{
  position:relative;
  padding:0;
  background:#fff;
}
.hero-photo-bar{display:block;width:100%;height:560px;background:url('hero-homepage.jpg?v=3') 65% center/cover no-repeat}
/* Mobile defaults */
.hero-upper-inner{display:none}
.hero-photo-right{display:none}
.hero-cards-row{display:none}
.hero-pc-img{display:none}
.hero-sim-card{display:none}
.hero-banner-inner{
  max-width:var(--w);margin:0 auto;width:100%;
  position:relative;z-index:1;
}
.hero-banner h1{
  color:#fff;font-size:1.45rem;font-weight:800;
  line-height:1.25;
}
.hero-banner h1 sup{font-size:.65rem}

/* ═══════════════════════════
   HERO : bandeau photo + formulaire de simulation intégré
═══════════════════════════ */
.hero2-photo-wrap{position:relative;overflow:hidden}
.hero2-photo{display:block;width:100%;height:230px;object-fit:cover;object-position:center 30%}
.hero2-form-section{background:#f2f4f5;padding:2rem 0 2.6rem}
.hero2-form-section .wrap,.hero2-trust .wrap{max-width:var(--w);margin:0 auto;padding:0 1.2rem}
.hero2-title{
  font-size:1.6rem;font-weight:400;color:var(--navy);
  line-height:1.25;margin:0 0 1.4rem;
}
.hero2-accent{color:#bf2c3f;font-weight:800}
.hero2-card{
  background:#fff;border-radius:24px;
  padding:1.8rem 1.5rem 1.6rem;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  max-width:520px;
}
/* Cartes de projet du hero d'accueil — variante teal/ombre du sélecteur
   .prod-hero2-picker déjà utilisé en hero des pages produit (icône
   au-dessus du texte identique, habillage visuel propre à l'accueil) */
#hero2-proj-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;max-width:625px;margin:0 auto 1.6rem}
#hero2-proj-picker .prod-hero2-opt{
  min-height:92px;padding:.55rem .5rem .55rem;border:none;border-radius:14px;
  box-shadow:0 0 10px rgba(0,0,0,.14);gap:0;font-size:1.05rem;font-weight:400;
  justify-content:center;transition:box-shadow .15s,background .15s,color .15s;
}
#hero2-proj-picker .prod-hero2-opt:hover{border-color:transparent;box-shadow:0 0 12px rgba(0,0,0,.2)}
#hero2-proj-picker .prod-hero2-opt.is-selected{
  border-color:transparent;background:#d13624;color:#fff;
  box-shadow:0 0 10px rgba(0,0,0,.14);
}
#hero2-proj-picker .prod-hero2-opt.is-selected svg path{fill:#fff}
.hero2-proj-card-ico{height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.hero2-proj-card-ico svg{height:100%;width:auto;max-width:100%}
.hero2-proj-card-lbl{margin-top:4px}
@media(min-width:480px){
  #hero2-proj-picker{gap:1.5rem}
  #hero2-proj-picker .prod-hero2-opt{min-height:130px;padding:1.35rem .6rem 1.1rem;font-size:1.3rem}
  .hero2-proj-card-ico{height:62px}
  .hero2-proj-card-lbl{margin-top:7px}
}
#hero2-picker-cta{
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;width:213px;height:45px;border:none;border-radius:23px;
  font-size:1.3rem;font-weight:400;color:#fff;background:#666;
  cursor:pointer;transition:background .15s,filter .15s;
}
#hero2-picker-cta:disabled{cursor:not-allowed}
#hero2-picker-cta:not(:disabled){background:#d13624}
#hero2-picker-cta:not(:disabled):hover{background:#ae2d1e}

/* Section "confiance" sous le hero (référence) */
.hero2-trust{background:#fff;padding:2.2rem 0 2.4rem}
.hero2-trust-hd{font-size:1.5rem;font-weight:800;color:var(--navy);line-height:1.3;margin:0 0 1.6rem}
.hero2-trust-item{display:flex;gap:1rem;align-items:flex-start}
.hero2-trust-ico{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:#e5e7eb;display:flex;align-items:center;justify-content:center;color:#6b7280;
}
.hero2-trust-txt h3{font-size:1.05rem;font-weight:800;color:var(--navy);margin:0 0 .3rem}
.hero2-trust-txt p{font-size:1rem;color:#555;line-height:1.5;margin:0}
@media(min-width:700px){
  .hero2-photo{height:320px}
  .hero2-form-section{padding:2.6rem 0 3rem}
  .hero2-title{font-size:2.1rem}
}
@media(min-width:960px){
  .hero2{position:relative;height:600px}
  .hero2-photo-wrap{position:absolute;inset:0;height:100%}
  .hero2-photo{height:100%;object-position:center 8%}
  .hero2-form-section{
    position:absolute;inset:0;background:none;padding:0;
    display:flex;align-items:center;justify-content:flex-end;
  }
  .hero2-form-section .wrap{
    max-width:none;margin:0 2% 0 0;padding:0;width:340px;
    display:flex;flex-direction:column;align-items:stretch;
  }
  .hero2-title{font-size:1.3rem;max-width:none;text-align:left}
  /* Le saut de ligne forcé du titre n'est utile qu'en mobile (voir plus
     bas) ; en desktop on laisse le texte se répartir naturellement sur 2
     lignes pour éviter une 3e ligne quand la traduction est plus longue. */
  .hero2-title br{display:none}
  .hero2-card{max-width:none;width:100%}
}
@media(min-width:1200px){
  .hero2-form-section .wrap{width:420px}
  .hero2-title{font-size:1.58rem}
}

/* ═══════════════════════════
   HERO CARTE PHOTO PLEINE (style banque en ligne)
═══════════════════════════ */
.hb2-hero{padding:.9rem 1rem 1.4rem}
.hb2-card{
  position:relative;border-radius:28px;overflow:hidden;
  aspect-ratio:5/8;
  background:#0c1620;
}
.hb2-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hb2-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,14,20,.15) 0%,rgba(6,14,20,.35) 40%,rgba(6,14,20,.86) 68%,rgba(6,14,20,.94) 100%);
}
.hb2-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem 1.6rem 2.4rem}
.hb2-title{color:#fff;font-size:clamp(1.5rem,7vw,1.9rem);font-weight:800;line-height:1.18;margin:0 0 .9rem}
.hb2-accent{color:#90e7fb}
.hb2-sub{color:rgba(255,255,255,.88);font-size:1rem;line-height:1.55;margin:0 0 1.6rem}
.hb2-actions{display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.hb2-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:#d13624;color:#fff;
  border:none;border-radius:999px;
  padding:1rem 1.5rem;font-size:1.02rem;font-weight:700;
  width:fit-content;
}
.hb2-cta:hover{background:#ae2d1e}
.hb2-promo{display:none}
@media(min-width:700px){
  .hb2-hero{padding:1.2rem 1.6rem 1.8rem}
  .hb2-card{aspect-ratio:16/9}
  .hb2-content{padding:2.4rem 2.6rem 2.8rem;max-width:560px}
  .hb2-title{font-size:2.1rem}
  .hb2-sub{font-size:1rem}
}
@media(min-width:1200px){
  .hb2-card{aspect-ratio:auto;height:44vw;max-height:620px}
  .hb2-content{justify-content:center;max-width:620px;padding:0 0 0 4.5rem}
  .hb2-title{font-size:2.7rem}
  .hb2-sub{font-size:1.05rem;max-width:480px}
  .hb2-actions{flex-direction:row;align-items:center;gap:1.8rem}
  .hb2-promo{
    display:block;position:absolute;right:6%;bottom:9%;
    width:300px;box-sizing:border-box;
    background:#fbdcc0;border-radius:22px;
    padding:1.6rem 1.5rem 1.4rem;text-align:center;
    box-shadow:0 20px 48px rgba(0,0,0,.28);
  }
  .hb2-promo::after{
    content:'';position:absolute;left:34px;bottom:-13px;
    width:26px;height:26px;background:#fbdcc0;
    border-radius:6px;transform:rotate(45deg);
  }
  .hb2-promo-badge{
    display:inline-block;background:#f3c299;color:#8a3e12;
    font-size:.72rem;font-weight:700;
    padding:.4rem .9rem;border-radius:999px;margin:0 0 .9rem;
  }
  .hb2-promo-rate{font-size:2.4rem;font-weight:900;color:#8a3e12;line-height:1;margin:0 0 .3rem}
  .hb2-promo-rate span{font-size:1.3rem;font-weight:700;vertical-align:super}
  .hb2-promo-txt{font-size:.95rem;font-weight:700;color:#6b3414;line-height:1.4;margin:0 0 1rem}
  .hb2-promo-fine{
    font-size:.74rem;color:#6b3414;line-height:1.4;margin:0;
    padding-top:.9rem;border-top:1px solid rgba(138,62,18,.2);
  }
}

/* ═══════════════════════════
   HERO TAUX (style Sofinco, page d'accueil FR)
═══════════════════════════ */
.hero-rate-banner .wrap{max-width:600px;margin:0 auto;padding:0 1.4rem}
.hrb-top{background:#83bc3d;padding:0}
.hrb-photo-wrap{
  position:relative;margin:0;
  overflow:hidden;
}
.hrb-photo{display:block;width:100%;height:300px;object-fit:cover;object-position:center 30%}

.hrb-projectbox{padding:2rem 0 2.2rem}
.hrb-pb-card{
  background:#f2f7fb;border-radius:24px;
  padding:2rem 1.6rem 2.2rem;text-align:center;
}
.hrb-promo-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  background:#132b37;color:#fff;
  font-size:.78rem;font-weight:700;letter-spacing:.02em;
  text-transform:uppercase;
  padding:.5rem 1.1rem;border-radius:999px;
  margin-bottom:1.4rem;
}
.hrb-promo-badge svg{flex-shrink:0}
.hrb-promo-headline{font-size:1.05rem;font-weight:700;color:#1d4154;margin:0 0 .6rem}
.hrb-rate-big{font-size:1.6rem;font-weight:800;color:#1d4154;line-height:1.2;margin:0 0 .9rem}
.hrb-promo-sub{font-size:1rem;color:#1d4154;margin:0 0 1.8rem}
.hrb-pb-card #hrb-sim-btn{
  display:block;width:100%;
  border:none;border-radius:999px;padding:1rem 1.4rem;
  font-size:1rem;font-weight:700;
}
@media(min-width:700px){
  .hrb-top{padding:0}
  .hero-rate-banner .wrap{max-width:640px}
  .hrb-photo{height:420px}
  .hrb-projectbox{padding:3rem 0}
  .hrb-rate-big{font-size:2rem}
}
@media(min-width:1200px){
  .hero-rate-banner{position:relative;width:100%;background:none}
  .hrb-top{display:block;background:none;padding:0}
  .hrb-photo-wrap{position:relative;margin:0;border-radius:0;overflow:hidden}
  .hrb-photo{width:100%;height:44vw;max-height:640px;min-height:0;object-fit:cover;object-position:center 32%;border-radius:0}
  .hrb-projectbox{
    position:absolute;top:0;left:0;height:100%;
    display:flex;align-items:center;
    padding:0 0 0 clamp(2rem,4vw,4.5rem);
    background:none;pointer-events:none;
  }
  .hrb-projectbox .wrap{max-width:none;margin:0;padding:0;pointer-events:none}
  .hrb-pb-card{
    width:clamp(320px,27vw,400px);box-sizing:border-box;pointer-events:auto;
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    border-radius:16px;
    padding:2.2rem 1.8rem;box-shadow:0 20px 48px rgba(0,0,0,.25);
  }
  .hrb-pb-card #hrb-sim-btn{margin-top:.4rem}
}

/* ═══════════════════════════
   DEUX CARTES
═══════════════════════════ */
.hero-cards-wrap{
  padding:0;
  position:relative;z-index:10;
}
.hero-cards-inner{
  max-width:860px;margin:0 auto;
  display:flex;flex-direction:column;gap:0;
}

/* Carte sombre — "La carte" */
.hcard-dark{
  background:var(--navy-d);color:#fff;
  border-radius:0;padding:1.4rem 1.5rem;
}
.hcard-dark-top{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.hcard-dark-top>div:first-child{flex:1}
.hcard-dark-label{
  font-size:.78rem;font-weight:700;margin-bottom:.5rem;opacity:.85;
}
.hcard-dark-label sup{font-size:.55rem}
.hcard-dark p{font-size:.82rem;opacity:.75;line-height:1.5;margin-bottom:0}
/* Mini carte VISA */
.mini-card{
  width:80px;flex-shrink:0;
  background:linear-gradient(145deg,#0d3d5c 0%,#0a5a7a 40%,#e25a36 100%);
  border-radius:8px;padding:8px 7px 7px;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
  color:#fff;
}
.mini-card-top{display:flex;justify-content:flex-end;margin-bottom:10px}
.mini-visa{font-size:.65rem;font-weight:900;font-style:italic;opacity:.9}
.mini-chip{
  width:18px;height:13px;border-radius:2px;margin-bottom:8px;
  background:linear-gradient(135deg,#c8922a,#f5d878,#c8922a);
}
.mini-num{font-size:.45rem;letter-spacing:.08em;opacity:.7;font-family:monospace}
.hcard-dark-cta{
  display:block;width:100%;text-align:center;
  background:#fff;color:var(--navy-d);
  border-radius:2rem;padding:.55rem 1.2rem;
  font-size:.88rem;font-weight:700;
  transition:background .15s;
}
.hcard-dark-cta:hover{background:#e8f4fa}

/* Mobile: hero-sim-wrap pleine largeur */
.hero-banner-layout{padding:0}

/* Enveloppe de la carte dans le hero — flotte au-dessus de la photo,
   avec la photo visible tout autour (haut, gauche, droite, bas) */
.hero-sim-wrap{
  position:absolute;left:1rem;right:1rem;bottom:2.2rem;z-index:2;
}

/* Carte blanche — Simulateur Cofidis style */
.hcard-white{
  background:#fff;
  border-radius:20px;padding:1.4rem 1.3rem 1.6rem;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}
.cof-sim-title{font-size:1.1rem;font-weight:700;color:var(--navy);text-align:center;margin-bottom:1.2rem;line-height:1.3}
.cof-step{margin-bottom:1rem}
.cof-step-lbl{font-size:.9rem;font-weight:600;color:var(--navy);margin-bottom:.55rem}
.cof-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 4l5 6 5-6' stroke='%236b7280' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.cof-proj-select{
  display:block;width:100%;height:48px;margin-bottom:1rem;
  border-radius:2rem;border:1.5px solid #dde2ea;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 4l5 6 5-6' stroke='%236b7280' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 1.2rem center;
  padding:0 2.4rem 0 1.2rem;
  color:var(--navy);font-size:.85rem;font-weight:600;font-family:inherit;
  cursor:pointer;appearance:none;-webkit-appearance:none;
  transition:border-color .15s;
}
.cof-proj-select:hover,.cof-proj-select:focus{border-color:var(--teal);outline:none}
.cof-amount-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.5rem}
.cof-amount-row .cof-step-lbl{margin-bottom:0}
.cof-amount-val{font-size:1.1rem;font-weight:800;color:var(--teal)}
.cof-slider{
  -webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;
  background:#e3e7ee;
  outline:none;cursor:pointer;margin:.3rem 0 .5rem;
}
.cof-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;
  background:var(--navy);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;
}
.cof-slider::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:var(--navy);
  border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;
}
.cof-slider-minmax{display:flex;justify-content:space-between;font-size:.75rem;color:#999;margin-bottom:.3rem}
.cof-amount-wrap{position:relative}
.cof-euro{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.95rem;font-weight:600;color:#888;pointer-events:none}
.cof-cta-btn{width:100%;padding:.9rem;font-size:.95rem;font-weight:800;letter-spacing:.04em;margin-top:1rem;border-radius:10px}
.cof-amount-err{font-size:.78rem;color:#d33;margin-top:.3rem;display:none}
.cof-amount-err.show{display:block}
.sim-input.f-err{border-color:#d33 !important;background:#fff5f5}

/* Formulaire simulateur */
.sim-form{display:flex;flex-direction:column;gap:.6rem}
.sim-field{flex:1}
.sim-select,.sim-input{
  width:100%;height:44px;
  border:2.5px solid #7a7a7a;border-radius:2rem;
  padding:0 1rem;font-size:1rem;font-family:inherit;
  color:var(--text);background:#fff;
  appearance:none;-webkit-appearance:none;
  outline:none;transition:border-color .2s;
}
.sim-select{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 1rem center / 11px, #fff;
  cursor:pointer;
}
.sim-select:focus,.sim-input:focus{border-color:var(--teal)}
.btn-teal{
  display:block;width:100%;text-align:center;
  background:#d13624;color:#fff;
  border-radius:2rem;padding:.75rem 1.4rem;
  font-size:.95rem;font-weight:700;border:none;
  font-family:inherit;cursor:pointer;
  white-space:nowrap;
  transition:background .2s;
}
.btn-teal:hover{background:#ae2d1e}

/* Colonne texte — cachée sur mobile */
.hero-text-col{display:none}
.hero-img-col{display:none}

@media(min-width:700px){
  /* Mobile elements hidden */
  .hero-photo-bar{display:none}
  .hero-sim-wrap{display:none}

  /* Desktop hero — photo plein fond + dégradé sombre pour le contraste du texte */
  .hero-banner{
    position:relative;padding:0;overflow:hidden;
    background:#0a2040;
    min-height:680px;
  }
  .hero-pc-img{
    display:block;
    position:absolute;
    inset:0;
    width:100%;height:100%;
    object-fit:cover;object-position:center 30%;
    z-index:0;
  }
  .hero-banner::before{
    content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(to right,rgba(6,16,36,.82) 0%,rgba(6,16,36,.6) 32%,rgba(6,16,36,.2) 58%,rgba(6,16,36,0) 78%);
  }
  .hero-banner::after{content:none}
  .hero-upper-inner{
    display:flex;align-items:flex-start;
    max-width:1280px;margin:0 auto;
    padding:4rem 2rem;min-height:680px;
    position:relative;z-index:2;
  }
  .hero-text-col{display:flex;flex:1;flex-direction:column;gap:1.5rem;max-width:520px}
  .hero-banner h1{color:#fff;font-size:2.6rem;font-weight:700;line-height:1.15}
  .hero-sub{color:rgba(255,255,255,.85);font-size:1rem;line-height:1.75}
  .hero-trust-list{display:flex;flex-direction:column;gap:.6rem}
  .hero-trust-list li{color:rgba(255,255,255,.8);font-size:.93rem;padding-left:1.5rem;position:relative}
  .hero-trust-list li::before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:800}

  /* Photo en background — div cachée */
  .hero-photo-right{display:none}

  /* Carte de simulation flottant directement sur la photo hero (référence : carte à droite) */
  .hero-sim-card{
    display:block;
    position:absolute;top:50%;left:2rem;transform:translateY(-50%);
    width:420px;z-index:3;
  }

  /* Carte promo restante, chevauche le bas du hero */
  .hero-cards-row{
    display:flex;gap:1.5rem;
    max-width:1100px;margin:-72px auto 0;
    padding:0 2rem;position:relative;z-index:10;
  }
  .hero-promo-card{
    flex:0 0 270px;background:#fff;border-radius:12px;
    padding:1.6rem 1.8rem;box-shadow:0 8px 32px rgba(0,0,0,.15);
  }
  .hpc-tag{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--teal);text-transform:uppercase;margin-bottom:.7rem}
  .hpc-rate-label{font-size:.8rem;color:#888;margin-bottom:.15rem}
  .hpc-rate{font-size:3rem;font-weight:900;color:var(--navy);line-height:1;margin-bottom:.4rem}
  .hpc-rate sup{font-size:1.3rem;font-weight:700;vertical-align:super}
  .hpc-sub{font-size:1rem;color:#999;line-height:1.5;margin-bottom:1.2rem}
  .hpc-btn{
    display:block;background:#d13624;color:#fff;text-align:center;
    border-radius:2rem;padding:.65rem 1rem;font-size:.88rem;font-weight:700;
    transition:background .15s;
  }
  .hpc-btn:hover{background:#ae2d1e}
  .hero-sim-card{
    flex:1;background:#fff;border-radius:12px;
    padding:1.6rem 2rem;box-shadow:0 8px 32px rgba(0,0,0,.15);
  }
  .hsc-title{font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:.75rem;text-align:left}
  .hsc-sub{font-size:1rem;color:#666;margin-bottom:1.5rem;line-height:1.5}
  .hsc-form{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
  .hsc-sel,.hsc-inp{flex:1;min-width:130px;height:46px}
  .hsc-btn{flex-shrink:0;width:auto;padding:.75rem 1.4rem;white-space:nowrap;border-radius:10px}

  .hsc-field-lbl{font-size:.78rem;font-weight:700;color:var(--navy);margin-bottom:.55rem}
  .hsc-proj-select{
    display:block;width:100%;height:52px;margin-bottom:1.4rem;
    border-radius:2rem;border:1.5px solid #dde2ea;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 4l5 6 5-6' stroke='%236b7280' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 1.4rem center;
    padding:0 2.6rem 0 1.4rem;
    color:var(--navy);font-size:.92rem;font-weight:600;font-family:inherit;
    cursor:pointer;appearance:none;-webkit-appearance:none;
    transition:border-color .15s;
  }
  .hsc-proj-select:hover,.hsc-proj-select:focus{border-color:var(--teal);outline:none}
  .hsc-amount-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.5rem}
  .hsc-amount-row .hsc-field-lbl{margin-bottom:0}
  .hsc-amount-val{font-size:1.15rem;font-weight:800;color:var(--teal)}
  .hsc-slider{
    -webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;
    background:linear-gradient(to right,var(--teal) 0%,var(--teal) 16%,#e3e7ee 16%,#e3e7ee 100%);
    outline:none;cursor:pointer;margin:.3rem 0 .5rem;
  }
  .hsc-slider::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;
    background:var(--navy);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;
  }
  .hsc-slider::-moz-range-thumb{
    width:20px;height:20px;border-radius:50%;background:var(--navy);
    border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;
  }
  .hsc-slider-minmax{display:flex;justify-content:space-between;font-size:.72rem;color:#999;margin-bottom:1.4rem}
  .hsc-btn-full{width:100%;text-align:center}

  /* Products : espace pour les cartes chevauchantes */
}
@media(min-width:960px){
  .hero-banner h1{font-size:3.2rem}
  .hero-upper-inner{padding:4rem 2rem;min-height:680px}
}

/* ═══════════════════════════
   PRODUITS
═══════════════════════════ */
.products{
  padding:.5rem 0 2.5rem;
}
.products .wrap{max-width:var(--w);margin:0 auto;padding:0 1rem}
.prod-group{margin-bottom:2.5rem}
.prod-group:last-child{margin-bottom:0}
.prod-list{display:flex;flex-direction:column;gap:1.5rem}
.prod-item{
  border-radius:20px;overflow:hidden;background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  transition:box-shadow .3s ease,transform .3s ease;
  position:relative;
}
.prod-card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.prod-img-wrap{position:relative;overflow:hidden;flex-shrink:0;height:440px}
.prod-item img{
  width:100%;height:100%;object-fit:cover;display:block;
  position:absolute;inset:0;
  transition:transform .5s ease;
}
.prod-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.78) 100%);
}
@media (hover:hover){
  .prod-item:hover{box-shadow:0 18px 48px rgba(0,0,0,.14);transform:translateY(-3px)}
  .prod-item:hover img{transform:scale(1.05)}
}
.prod-content{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.3rem 1.4rem 1.6rem;
  display:flex;flex-direction:column;align-items:flex-start;
}
.prod-tag{
  display:inline-block;background:rgba(255,255,255,.92);color:#cc3f19;
  font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:.32rem .75rem;border-radius:2rem;margin-bottom:.9rem;
}
.prod-item-title{
  color:#fff;font-size:1.3rem;font-weight:800;text-transform:uppercase;
  line-height:1.15;margin-bottom:1.8rem;text-align:left;letter-spacing:-.01em;
}
.prod-desc{
  color:rgba(255,255,255,.85);font-size:1rem;line-height:1.55;margin-bottom:1.2rem;text-align:left;
}
.prod-btn{
  display:inline-block;width:auto;text-align:center;align-self:center;
  border:none;color:#fff;background:#d13624;
  padding:.9rem 2.25rem;border-radius:2rem;
  font-size:.8rem;font-weight:700;line-height:1;
  -webkit-tap-highlight-color:transparent;
  transition:filter .2s;
}
.prod-btn:hover,.prod-btn:focus,.prod-btn:active{background:#d13624;color:#fff}
@media(hover:hover){
  .prod-item:hover .prod-btn{filter:brightness(1.12)}
}
@media(min-width:560px){
  .prod-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
}
@media(min-width:860px){
  .prod-list{grid-template-columns:repeat(3,1fr);gap:1.6rem}
}

/* ═══════════════════════════
   AVIS
═══════════════════════════ */
.reviews{padding:4rem 0}
.reviews .wrap{max-width:var(--w);margin:0 auto;padding:0 1rem}
.reviews h2{
  font-size:1.4rem;font-weight:800;color:var(--navy);
  text-align:center;margin-bottom:1.2rem;line-height:1.3;
}
.reviews h2 span{color:inherit}
.reviews-badge{display:flex;justify-content:center;margin-bottom:1.8rem}
.reviews-badge a{
  display:flex;align-items:center;gap:.6rem;
  background:#fff;border-radius:2rem;padding:.5rem 1.2rem;
  box-shadow:0 2px 10px rgba(0,0,0,.09);font-size:.85rem;color:var(--text);
}
.stars{color:#6b7280;font-size:.95rem;letter-spacing:1px}
.rv-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.6rem}
.rv-card{
  background:#fff;border-radius:10px;padding:1.2rem;
  box-shadow:0 1px 6px rgba(0,0,0,.07);
}
.rv-title{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:.2rem;font-family:'Montserrat',Arial,sans-serif}
.rv-name{font-size:.8rem;color:#aaa;margin-bottom:.15rem}
.rv-date{font-size:.7rem;color:#6b7280;margin-bottom:.5rem}
@media(min-width:700px){
  .rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
}
.reviews-more{text-align:center}
.btn-orange{
  display:inline-block;background:var(--orange);color:#fff;
  border-radius:2rem;padding:.65rem 1.8rem;
  font-size:.92rem;font-weight:700;transition:background .2s;
}
.btn-orange:hover{background:var(--coral-d);color:#fff}

/* ═══════════════════════════
   AVANTAGES
═══════════════════════════ */
.avantages{padding:4rem 0}
.avantages .wrap{max-width:var(--w);margin:0 auto;padding:0 1.5rem}
.avantages h2{
  font-size:1.4rem;font-weight:800;color:var(--navy);
  margin-bottom:1.5rem;text-align:center;
}
.av-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;list-style:none;padding:0;margin:0}
.av-item{
  background:#f2f4f7;border-radius:16px;
  padding:1.4rem 1rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;
}
.av-num{
  width:42px;height:42px;border-radius:50%;
  background:var(--navy);color:#fff;
  font-size:1.1rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.av-icon{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
}
.av-item h3{font-size:.88rem;font-weight:700;color:var(--navy);line-height:1.3;margin:0}
.av-item p{font-size:.8rem;color:#666;line-height:1.5;margin:0}

/* ═══════════════════════════
   RÉCOMPENSE
═══════════════════════════ */
.award{padding:4rem 0}
.award .wrap{max-width:var(--w);margin:0 auto;padding:0 1.5rem}
.award-inner{display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center}
.award-inner h2{font-size:1.25rem;font-weight:700;color:var(--navy);line-height:1.35;text-align:center}
.award-inner p{font-size:.88rem;color:#666;line-height:1.6}
.award-inner img{width:130px;border-radius:8px}
@media(min-width:700px){
  .award-inner{flex-direction:row;text-align:left}
  .award-inner img{width:160px;flex-shrink:0}
}

/* ═══════════════════════════
   FOOTER
═══════════════════════════ */
.footer{background:#1a202c;padding:1.1rem 1rem calc(1.6rem + env(safe-area-inset-bottom))}

/* Carte du footer — même fond bleu marine foncé que le footer (un seul bloc) */
.ft-card{
  background:transparent;
  border-radius:26px;
  padding:.5rem 0 1.4rem;
  display:grid;
  gap:0;
  grid-template-areas:
    "nav"
    "lang"
    "legal"
    "logo"
    "mention";
}

/* Logo Sodefina (wordmark, cohérent avec le header) + certifications */
.ft-logo{
  grid-area:logo;
  display:flex;flex-direction:column;align-items:center;
  gap:1.1rem;
  padding:1.5rem 1.5rem .6rem;
}
.ft-logo-certs-label{
  font-size:.7rem;font-weight:700;color:rgba(255,255,255,.55);
  text-transform:uppercase;letter-spacing:.07em;
  margin:0;
}
.ft-logo-certs{
  display:flex;align-items:center;justify-content:center;gap:1.5rem;
}
.ft-logo-cert-link{
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;
  transition:transform .15s,opacity .15s;
}
@media (hover:hover){ .ft-logo-cert-link:hover{transform:translateY(-2px);opacity:.85} }
.ft-logo-certs img{
  height:48px;width:auto;
  border-radius:4px;
  display:block;
}
/* Logo B Corp : monochrome noir, inversé en blanc pour rester lisible sur fond sombre */
.ft-logo-certs img[alt="Certified B Corporation"]{ filter:brightness(0) invert(1); }
.ft-logo-badge{
  display:inline-block;
  background:none;color:#fff;
  font-family:'Montserrat',Arial,sans-serif;
  font-weight:800;font-size:1.35rem;
  letter-spacing:-.5px;
  padding:0;
  text-decoration:none;
  text-transform:uppercase;
}

/* Nav accordéon */
.ft-nav{grid-area:nav;padding:0}
.ft-nav-btn{
  display:flex;justify-content:space-between;align-items:center;
  width:100%;padding:1.15rem 1.5rem;
  border:none;border-bottom:1px solid rgba(255,255,255,.12);
  background:none;cursor:pointer;font-family:inherit;
  font-size:1rem;font-weight:800;color:#fff;
  letter-spacing:.01em;text-transform:none;text-align:left;
}
.ft-nav-item:last-child .ft-nav-btn{border-bottom:none}
.ft-chev{font-size:.85rem;color:rgba(255,255,255,.55);display:inline-block;transition:transform .2s}
.ft-nav-item.open .ft-chev{transform:rotate(180deg)}
.ft-acc-list{
  display:none;list-style:none;
  padding:.15rem 1.5rem .85rem;margin:0;
}
.ft-nav-item.open .ft-acc-list{display:block}
.ft-acc-list li a{
  display:block;padding:.5rem 0;
  font-size:.88rem;color:rgba(255,255,255,.75);
  text-decoration:none;font-weight:600;
}
.ft-acc-list li a:hover{color:#fff}

/* Liens légaux — accordéon sur mobile/tablette (comme les autres rubriques du footer) */
.ft-legal-item{grid-area:legal}
.ft-legal-item .ft-nav-btn{border-bottom:1px solid rgba(255,255,255,.12)}
.ft-legal{
  display:none;flex-direction:column;align-items:flex-start;
  padding:.15rem 1.5rem .85rem;
}
.ft-legal-item.open .ft-legal{display:flex}
.ft-legal a{
  display:block;width:100%;padding:.5rem 0;
  font-size:.88rem;font-weight:600;
  color:rgba(255,255,255,.75);text-decoration:none;
}
.ft-legal a:hover{color:#fff;text-decoration:underline}
.ft-legal a::after{content:none}

/* Mention légale bas de page */
.ft-mention{grid-area:mention;font-size:.72rem;color:rgba(255,255,255,.55);text-align:center;padding:.5rem 1.5rem 0;line-height:1.5}



/* ═══════════════════════════
   TRUST ICONS (4 pictos)
═══════════════════════════ */
.trust-icons{padding:1.5rem 0 4rem;background:#fff;margin-top:0}
.trust-icons .wrap{max-width:var(--w);margin:0 auto;padding:0 1.5rem}
.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem}
@media(min-width:700px){.trust-grid{grid-template-columns:repeat(4,1fr);gap:2rem}}
@media(min-width:960px){.trust-icons{padding:3.5rem 0}.trust-grid{gap:3rem}}
.trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.2rem}
.trust-icon{
  width:38px;height:38px;border-radius:50%;
  background:#e5e7eb;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.trust-icon svg{width:16px;height:16px}
.trust-icon svg path,.trust-icon svg rect{stroke:#6b7280}
.trust-icon svg circle{stroke:#6b7280}
.trust-icon svg polyline,.trust-icon svg line{stroke:#6b7280}
.trust-icon svg text{fill:#6b7280}
.trust-item p{font-size:.78rem;font-weight:400;color:#222;line-height:1.3;white-space:nowrap}

/* ═══════════════════════════
   EDITORIAL
═══════════════════════════ */
/* ── Split layout (homepage) ── */
.editorial.ed-split{padding:1rem 0.5rem 1rem;background:none}
.ed-wrap{max-width:var(--w);margin:0 auto;display:flex;flex-direction:column;width:100%;border-radius:1.25rem;gap:0;clip-path:inset(0 round 1.25rem)}
@media(min-width:700px){.editorial.ed-split{padding:1.5rem 1.5rem}}
.ed-text-col{position:relative;background:#feedf0;overflow:hidden;padding:2.5rem 1.25rem 1.5rem;flex:1;min-width:0;box-sizing:border-box}
.ed-ribbon{position:absolute;left:-10%;bottom:-14%;width:82%;height:108%;z-index:0;pointer-events:none}
.ed-text-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:.9rem}
.ed-text-col h2{font-size:1.25rem;color:#003b45;text-align:left;margin:0;line-height:1.18;font-weight:700;word-break:break-word}
.ed-text-col .ed-text-body{display:flex;flex-direction:column;gap:.25rem}
.ed-text-col p{font-size:1rem;color:#003b45;line-height:1.5;text-align:left;margin:0;word-break:break-word}
.ed-text-col strong{color:#003b45;font-weight:700}
.ed-proj-col{background:#dd3341;padding:2rem 1rem 2.5rem;border-radius:0 0 2rem 0;flex:1;min-width:0;box-sizing:border-box}
.ed-proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;width:100%}
.ed-proj-card{background:#fff;border-radius:.85rem;padding:.9rem .75rem;display:flex;align-items:center;gap:.55rem;font-size:.8rem;font-weight:600;color:#003b45;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 1px 2px rgba(0,0,0,.05);line-height:1.2;min-width:0;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
.ed-proj-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.15)}
.ed-proj-card svg{flex-shrink:0;stroke:#003b45;width:22px;height:22px}
.ed-proj-card span{display:block;min-width:0;white-space:nowrap}
@media(min-width:700px){
  .ed-wrap{flex-direction:row;align-items:stretch}
  .ed-text-col{padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:center}
  .ed-text-col h2{font-size:1.8rem}
  .ed-proj-col{border-radius:0 0 0 3rem;padding:2rem 1.5rem;display:flex;align-items:center}
  .ed-proj-grid{gap:.65rem}
  .ed-proj-card{padding:.85rem .9rem;font-size:.82rem;gap:.6rem}
  .ed-proj-card span{white-space:normal}
}
@media(min-width:960px){
  .ed-text-col{padding:4rem 3.5rem}
  .ed-text-col h2{font-size:2.1rem}
  .ed-proj-col{padding:2.5rem 2rem}
  .ed-proj-card{padding:.95rem 1rem;font-size:.87rem;gap:.65rem}
  .ed-proj-card svg{width:26px;height:26px}
}
.editorial strong,.faq-a strong,.faq-answer strong,.inner-page p strong,.legal-section p strong{color:inherit;font-weight:inherit}
.editorial .btn-teal{display:inline-block;width:auto}

/* ═══════════════════════════
   FAQ ACCORDION
═══════════════════════════ */
.faq{padding:4rem 0 1.5rem}
.faq h2{color:var(--navy);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;}
.faq .wrap{max-width:860px;margin:0 auto;padding:0 1rem}
.faq>div>h2{
  margin-bottom:1.5rem;
}
.faq-list{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:#f0f0f0;border-radius:12px;overflow:hidden;border:none;transition:background .2s;margin-bottom:.5rem}
.faq-item.open{background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.08)}
.faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:.85rem 1.3rem;font-size:.97rem;font-weight:400;color:#222;
  background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;
  gap:1rem;
  -webkit-tap-highlight-color:transparent;
  outline:none;
  transition:color .22s ease;
}
.faq-question:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:3px}
.faq-question:hover{color:#111}
.faq-item.open .faq-question{color:#222}
.faq-icon{
  flex-shrink:0;width:20px;height:20px;
  display:flex;align-items:center;justify-content:center;
  font-size:0;color:transparent;
}
.faq-icon::before{
  content:'›';display:block;
  font-size:1.5rem;line-height:1;color:#666;font-weight:300;
  border:none;
  transition:transform .3s ease;
}
.faq-item.open .faq-icon::before{content:"∨";transform:none;font-size:1.1rem;}
.faq-answer{
  display:block;max-height:0;overflow:hidden;
  padding-bottom:0;
  font-size:.9rem;color:#555;line-height:1.75;
  transition:none;
}
.faq-item.open .faq-answer{padding-bottom:1.5rem;padding-left:1.3rem;padding-right:1.3rem;max-height:2000px}
.faq-more{text-align:center;margin-top:.5rem}
.faq-q{
  display:block;width:100%;text-align:left;background:#f0f0f0;border:none;
  border-radius:12px;cursor:pointer;font-family:inherit;
  font-size:.97rem;font-weight:400;color:#222;
  padding:.85rem 3rem .85rem 1.3rem;position:relative;
  -webkit-tap-highlight-color:transparent;
  outline:none;margin-bottom:0;
  transition:background .2s,color .2s;
}
.faq-q:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:3px}
.faq-q:hover{color:#111}
.faq-q::after{
  content:'›';position:absolute;right:1.2rem;top:50%;
  transform:translateY(-50%);
  font-size:1.4rem;color:#666;font-weight:300;line-height:1;
  transition:transform .3s ease,color .2s;
}
.faq-item.open .faq-q{color:#222;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.08);border-radius:12px 12px 0 0;margin-bottom:0}
.faq-item.open .faq-q::after{content:"∨";transform:translateY(-50%);color:#666;font-size:1.1rem}
.faq-a{
  display:block;max-height:0;overflow:hidden;
  padding-top:0;padding-bottom:0;
  border-bottom:1px solid transparent;
  transition:none;
}
.faq-item.open .faq-a{padding:1rem 1.3rem 1.5rem;border-bottom-color:transparent;max-height:2000px;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 4px 8px rgba(0,0,0,.06);margin-bottom:.75rem}
.faq-a p{font-size:1rem;color:#444;line-height:1.75;margin-bottom:.5rem}
.faq-a p:last-child{margin-bottom:0}

/* ═══════════════════════════
   BESOIN D'UN CRÉDIT ?
═══════════════════════════ */
.besoin-credit{padding:4rem 0}
.besoin-credit .wrap{max-width:var(--w);margin:0 auto;padding:0 1.5rem}
.besoin-inner{
  background:#fff;border-radius:14px;
  padding:1.8rem 1.8rem 1.4rem;
  box-shadow:0 2px 14px rgba(0,0,0,.08);
}
.besoin-inner>h2{
  font-size:1.25rem;font-weight:800;color:var(--navy);
  margin-bottom:.8rem;text-align:center;
}
.besoin-main-link{
  display:inline-block;font-size:1rem;font-weight:700;
  color:var(--orange);margin-bottom:1.4rem;
  transition:color .15s;
}
.besoin-main-link:hover{color:#000}
.besoin-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.2rem}
@media(max-width:500px){.besoin-cols{grid-template-columns:1fr}}
.besoin-col h3{
  font-size:.82rem;font-weight:700;color:#999;text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:.7rem;
}
.besoin-col li{margin-bottom:.35rem}
.besoin-col li a{
  font-size:.88rem;color:var(--navy);font-weight:500;
  transition:color .15s;
}
.besoin-col li a:hover{color:var(--orange)}
.voir-conditions{
  display:block;font-size:.82rem;color:#888;
  border-top:1px solid #eee;padding-top:.9rem;
  transition:color .15s;
}
.voir-conditions:hover{color:var(--orange)}


/* ═══════════════════════════
   SIMULATEUR PLEINE PAGE
═══════════════════════════ */
.sim-page{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;
  background:#fff;z-index:4500;
  flex-direction:column;overflow:hidden;
}
/* Écran de chargement entre le choix de l'offre et le formulaire de
   demande — signale visuellement le début d'une nouvelle étape.
   Référence : écran de chargement Sofinco (dégradé + spinner + titre). */
.sim-step-loading{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:10;
  background:#fff;overflow-y:auto;
  flex-direction:column;
}
.sim-step-loading.show{ display:flex; }
.ssl-gradient{
  flex-shrink:0;height:14.5rem;
  background:linear-gradient(165deg,#efd1c9 0%,#fcedf0 55%,#ffffff 100%);
  display:flex;align-items:flex-end;
  padding:0 1.6rem 2.3rem;
}
.ssl-spinner{
  width:78px;height:78px;border-radius:50%;flex-shrink:0;
  background:conic-gradient(from 0deg,rgba(226,90,54,0) 0%,var(--teal) 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 6px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 6px));
  animation:simStepSpin .9s linear infinite;
}
@keyframes simStepSpin{ to{ transform:rotate(360deg); } }
.ssl-body{ padding:1.8rem 1.6rem; }
.ssl-title{
  font-size:1.35rem;font-weight:800;color:#000;
  line-height:1.3;margin-bottom:.8rem;
}
.ssl-sub{ font-size:1rem;color:#555;margin-bottom:13rem; }
.ssl-warn{ display:flex;align-items:center;gap:.7rem; }
.ssl-warn-ico{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  background:#F6C84E;color:#fff;font-weight:800;font-size:.9rem;
  display:flex;align-items:center;justify-content:center;
}
.ssl-warn-txt{ font-size:1rem;color:#000;font-weight:500; }
@media(min-width:760px){
  .ssl-gradient{ padding:0 3rem; }
  .ssl-body{ padding:2rem 3rem; }
  .ssl-title{ font-size:1.6rem; }
  .ssl-col{ width:100%;max-width:600px;margin:0 auto; }
}
.sim-page.open{
  display:flex;
}
/* Le panneau blanc est opaque dès la 1re frame (couvre l'écran, pas de flash blanc).
   Le contenu ne change JAMAIS d'opacité (aucun fondu = aucun flash) :
   il est visible d'emblée, avec seulement un léger glissement. */
.sim-page.open .sim-body{
  animation:simBodyIn .28s cubic-bezier(.22,1,.36,1) both;
}
.sim-page.closing{
  animation:simSlideOut .28s cubic-bezier(.4,0,1,1) forwards;
}
@keyframes simBodyIn{
  from{transform:translateY(12px);}
  to{transform:translateY(0);}
}
@keyframes simSlideOut{
  from{opacity:1;transform:translateY(0);}
  to{opacity:0;transform:translateY(30px);pointer-events:none;}
}
.sim-page.closing{pointer-events:none;}
/* Header fixe en haut */
.sim-ph{position:relative;flex-shrink:0;background:#fff;z-index:50;box-shadow:0 1px 6px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;padding:.9rem 1rem;min-height:52px}
.sim-ph-logo{font-family:'Montserrat',Arial,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.5px;border:none;cursor:pointer;padding:0;background:none;color:#0C2D5E;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;}
/* Body — zone scrollable iOS-safe */
.sim-body{
  flex:1;min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  max-width:500px;margin:0 auto;padding:1.5rem 1.2rem 2rem;
  width:100%;box-sizing:border-box;
  scrollbar-width:none;      /* Firefox : masque la barre de défilement */
  -ms-overflow-style:none;   /* Edge/IE legacy */
}
/* Masque la barre de défilement grise (avec flèches) du simulateur sur
   Chrome/Safari/Edge — le défilement reste fonctionnel */
.sim-body::-webkit-scrollbar{ width:0;height:0;display:none; }
@media(min-width:760px){
  .sim-body{max-width:760px;padding-left:2.5rem;padding-right:2.5rem}
  .sim-title{font-size:1.6rem;text-align:center}
  .sim-dur-heading{text-align:center}
  .sim-sub{font-size:1rem;text-align:center}
  .sim-req{font-size:.9rem;text-align:center}
  .sim-proj-grid{margin-top:1.5rem}
  .sim-pane{padding-bottom:1rem}
}
@media(min-width:1100px){
  .sim-body{max-width:960px}
}
@media(min-width:1400px){
  .sim-body{max-width:1100px}
}
/* Panes */
.sim-pane{display:none}
.sim-pane.s-show{display:block}
.sim-title{font-size:1.25rem;font-weight:700;color:var(--navy);margin-bottom:.8rem;line-height:1.3}
.sim-dur-heading{font-family:'Montserrat',Arial,sans-serif;font-size:1.25rem;font-weight:700;color:var(--navy);line-height:1.3;margin:1.8rem 0 1.6rem}
.sim-sub{font-size:1rem;color:#555;line-height:1.55;margin-bottom:1.1rem;text-align:center}
.sim-req{font-size:.8rem;color:#888;margin-bottom:1.5rem;text-align:center}
/* Step 1 : projet cards */
.sim-proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:2.5rem}
.sim-proj-card{border:1.5px solid #ddd;border-radius:14px;padding:1.2rem .8rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--navy);background:#fff;transition:border-color .15s,background .15s;font-family:inherit;text-align:center;line-height:1.3}
.sim-proj-card:hover{border-color:var(--btn-primary)}
.sim-proj-card.sp-sel{border-color:var(--btn-primary);background:var(--btn-primary-l);border-bottom:4px solid var(--navy);padding-bottom:calc(1.2rem - 2.5px)}
.sim-proj-card.sp-full{grid-column:1/-1;max-width:calc(50% - .4rem);justify-self:center;width:100%}
.sim-proj-ico{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sim-proj-ico svg{width:46px;height:46px}
/* Step 2 : montant field */
.sim-amount-fld{width:100%;border:1.5px solid #999;border-radius:6px;padding:1rem 1rem;font-size:1rem;font-family:inherit;line-height:1;color:var(--navy);outline:none;transition:border-color .2s;margin-bottom:.3rem;-webkit-appearance:none;appearance:none}
.sim-amount-fld.f-err{border-color:#d33;background:#fff5f5}
.sim-amount-wrap{
  position:relative;
  border:1.5px solid #999;border-radius:10px;
  padding:.7rem 2.6rem .7rem 1rem;margin-bottom:.3rem;
  transition:border-color .2s,background .2s;
}
.sim-amount-wrap:has(.sim-amount-fld.f-err){border-color:#d33;background:#fff5f5}
.sim-amount-wrap .sim-amount-fld{
  width:100%;border:none;outline:none;background:none;padding:0;margin:0;
  font-size:.9rem;font-weight:400;font-family:'Baloo 2',Arial,sans-serif;
}
.sim-amount-wrap .sim-amount-fld::placeholder{font-size:.9rem;font-weight:400;color:#999}
.sim-amount-clear{
  display:none;position:absolute;right:.7rem;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;
  border:none;font-size:.95rem;line-height:1;cursor:pointer;padding:0;
  align-items:center;justify-content:center;
}
.sim-amount-wrap:has(.sim-amount-fld:not(:placeholder-shown)) .sim-amount-clear{display:flex}
.sim-field-err{font-size:.8rem;color:#d33;margin-bottom:1.2rem;display:none}
/* Ligne durée/mensualité : encadré + unité + coche (référence) */
.sim-input-row{display:flex;align-items:stretch;gap:.5rem;margin-bottom:1.4rem}
.sim-input-row .sim-amount-wrap{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:0;padding:.7rem .9rem}
.sim-input-row .sim-amount-wrap .sim-amount-fld{width:auto;flex:1;margin-bottom:0;font-size:.9rem;font-weight:400;font-family:'Baloo 2',Arial,sans-serif}
.sim-input-unit{font-family:'Baloo 2',Arial,sans-serif;font-weight:700;color:var(--navy);font-size:.85rem;flex-shrink:0}
.sim-field-err.show{display:block}
/* Step 2 : carte englobant le montant et la durée */
.sim-step2-card{background:#fff;border:1.5px solid #eee;border-radius:20px;box-shadow:0 4px 18px rgba(0,0,0,.05);padding:1.5rem 1.3rem 1.1rem;margin-bottom:1.6rem}
/* Step 3 : radio + dropdown */
.sim-radios{display:flex;align-items:stretch;justify-content:center;gap:.7rem;margin:0 auto 1.6rem;max-width:360px;flex-wrap:wrap}
.sim-radio{position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;font-family:'Baloo 2',Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--navy);cursor:pointer;border:1.5px solid var(--navy);border-radius:2rem;padding:.6rem .8rem;flex:1 1 110px;text-align:center;transition:background .15s,color .15s}
.sim-radio input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.sim-radio:has(input:checked){background:var(--navy);color:#fff}
.sim-radio-or{display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:'Baloo 2',Arial,sans-serif;font-size:.76rem;font-weight:700;color:var(--navy);padding:0 .1rem}
/* Step 4 : résultats — anciens styles */
.sim-res-card{background:linear-gradient(135deg,#f0faff,#e4f4fb);border:1px solid #c0e5f7;border-radius:14px;padding:1.4rem 1.2rem;text-align:center;margin-bottom:1.3rem}
.sim-res-lbl{font-size:.82rem;color:#778;margin-bottom:.2rem}
.sim-res-val{font-size:3rem;font-weight:800;color:var(--navy);line-height:1.1}
.sim-res-unit{font-size:.85rem;color:#667;margin-bottom:.9rem}
.sim-res-tbl{background:#fff;border-radius:8px;padding:.6rem 1rem;text-align:left}
.sim-res-row{display:flex;justify-content:space-between;align-items:center;font-size:.83rem;color:#555;padding:.28rem 0;border-bottom:1px solid #f0f0f0}
.sim-res-row:last-child{border-bottom:none}
.sim-res-row b{color:var(--navy);font-weight:700}
.sim-res-notice{font-size:.65rem;color:#aaa;margin-top:.8rem;line-height:1.5;text-align:left}
/* Step 4 : offres style Sofinco */
.sim-otyp{font-size:.85rem;color:#555;text-align:center;margin-bottom:.6rem;font-weight:500}
.sim-ochoice-lbl{font-size:.92rem;color:var(--navy);font-weight:700;text-align:center;margin-bottom:.9rem}
.sim-otabs{display:flex;gap:.5rem;margin-bottom:1.6rem}
.sim-otab{position:relative;flex:1;padding:.7rem .4rem;border:1.5px solid #f7c9d3;border-radius:10px;background:#fcedf0;cursor:pointer;text-align:center;font-family:inherit;transition:background-color .15s,border-color .15s;-webkit-tap-highlight-color:transparent;color:var(--navy)}
.sim-otab.active{background:#fcedf0;border-color:var(--teal);color:var(--navy)}
.sim-otab-price{display:block;font-size:.9rem;font-weight:700;line-height:1.2}
.sim-otab-dur{display:block;font-size:.75rem;opacity:.75;margin-top:.15rem}
.sim-ocard{background:#fcedf0;border:1.5px solid #f7c9d3;border-radius:18px;padding:1.3rem 1.1rem;margin-bottom:1.1rem}
.sim-ocard-lbl{font-size:.78rem;color:#555;font-weight:600;margin-bottom:.5rem;text-align:center}
.sim-ocard-price-row{display:flex;align-items:baseline;gap:.35rem;margin-bottom:.9rem;justify-content:center}
.sim-ocard-price{font-size:2.8rem;font-weight:800;color:var(--navy);line-height:1}
.sim-ocard-unit{font-size:1rem;color:var(--navy);font-weight:600}
.sim-ocard-meta{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.9rem}
.sim-ocard-meta-item{display:flex;flex-direction:column;gap:.2rem;background:#fff;border-radius:10px;border-left:3px solid var(--teal);padding:.6rem .8rem}
.sim-ocard-meta-lbl{font-size:.7rem;color:#777;font-weight:500}
.sim-ocard-meta-val{font-size:.95rem;font-weight:700;color:var(--navy)}
.sim-ocard-total{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;color:#555;padding-top:.7rem;border-top:1px solid rgba(1,0,53,.08)}
.sim-ocard-total b{color:var(--navy);font-weight:700}
.sim-ocard-total sup{font-size:.6rem}
.sim-btn-outline{display:block;width:100%;border:1.5px solid #bbb;border-radius:2rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;color:var(--navy);background:#fff;text-align:center;margin-bottom:.6rem;cursor:pointer;font-family:inherit;text-decoration:none;transition:border-color .15s}
.sim-btn-outline:hover{border-color:var(--navy)}
.sim-cta-big{display:block;width:100%;background:#d13624;color:#fff;border-radius:2rem;padding:.85rem;font-size:.95rem;font-weight:700;text-align:center;margin-bottom:.7rem;transition:background .2s;border:none;cursor:pointer;font-family:inherit}
.sim-cta-big:hover{background:#ae2d1e}
.sim-restart{width:100%;background:none;border:2px solid #ddd;border-radius:2rem;padding:.65rem;font-size:.88rem;font-weight:600;color:#888;cursor:pointer;font-family:inherit;transition:all .15s;text-align:center}
.sim-restart:hover{border-color:var(--navy);color:var(--navy)}
/* Common : trust + legal */
.sim-tagline{font-size:.84rem;color:#666;font-weight:600;text-align:center;margin-bottom:2.2rem;padding:.7rem 1rem;line-height:1.4}
.sim-trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:3.5rem;margin-bottom:2.4rem}
@media(min-width:760px){.sim-trust-grid{grid-template-columns:repeat(4,1fr)}}
.sim-trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.2rem}
.sim-trust-ico{width:38px;height:38px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sim-trust-ico svg{width:16px;height:16px}
.sim-trust-ico svg path,.sim-trust-ico svg rect,.sim-trust-ico svg circle,.sim-trust-ico svg line,.sim-trust-ico svg polyline{stroke:#fff}
.sim-trust-lbl{font-size:.76rem;font-weight:600;color:var(--navy);line-height:1.3}
@media(min-width:760px){
  .sim-trust-grid{margin-top:5rem}
}
/* Bottom bar — enfant flex de sim-page */
.sim-bottombar{position:relative;flex-shrink:0;background:#fff;border-top:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;z-index:60;gap:.5rem}
.sim-bb-back{font-size:.88rem;font-weight:700;color:var(--navy);background:none;border:none;cursor:pointer;font-family:inherit;padding:.5rem .2rem;min-width:55px;text-align:left}
.sim-bb-back:disabled{color:#6b7280;cursor:default}
.sim-bb-next{background:#d13624;color:#fff;border:none;border-radius:2rem;padding:.62rem 1.2rem;font-size:.85rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s;min-width:80px;white-space:nowrap}
.sim-bb-next:hover{background:#ae2d1e}
.sim-bb-next.bb-teal{background:#d13624}
.sim-bb-next.bb-teal:hover{background:#ae2d1e}

/* Step 5 : Formulaire de demande */
.sim-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.sim-form-group{margin-bottom:.85rem}
.sim-form-lbl{display:block;font-size:.83rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.sim-form-input{width:100%;border:1.5px solid #999;border-radius:6px;padding:.85rem 1rem;font-size:1rem;font-family:inherit;color:var(--navy);outline:none;transition:border-color .2s}
.sim-form-input:focus{border-color:var(--teal)}
.sim-civility{display:flex;gap:1.5rem;margin-bottom:.3rem}
.sim-civility label{display:flex;align-items:center;gap:.4rem;font-size:.92rem;font-weight:600;color:var(--navy);cursor:pointer}
.sim-civility input[type=radio]{width:18px;height:18px;accent-color:var(--orange)}
.sim-form-note{font-size:.73rem;color:#999;line-height:1.5;margin-top:1.2rem;padding-top:1rem;border-top:1px solid #eee}
.sim-confirm{text-align:center;padding:2rem 1rem}
.sim-confirm-ico{font-size:3.5rem;margin-bottom:1rem}
.sim-confirm-title{font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:.7rem;font-family:'Montserrat',Arial,sans-serif}
.sim-confirm-msg{font-size:.9rem;color:#555;line-height:1.6}

/* ── Desktop Step 4 ── */
.sp4-wrap{display:none}
@media(min-width:900px){
  .sp4-mobile{display:none!important}
  /* height (pas min-height) : rend .sp4-main réellement scrollable dans
     ses propres limites, condition nécessaire pour que .sp4-actions
     puisse rester collé en bas (position:sticky) sans avoir à défiler
     toute la page. */
  .sp4-wrap{display:flex;height:calc(100vh - 52px - var(--tb))}
  .sim-body.sp4-open{max-width:100%;padding:var(--tb) 0 0}
  .sp4-sidebar{width:230px;flex-shrink:0;border-right:1px solid #e8e8e8;padding:1.5rem 1rem;background:#fafafa;overflow-y:auto}
  .sp4-sb-title{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:1.2rem;padding-bottom:.7rem;border-bottom:1px solid #e8e8e8;font-family:'Montserrat',Arial,sans-serif}
  .sp4-sb-item{margin-bottom:1rem}
  .sp4-sb-lbl{font-size:.7rem;color:#777;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}
  .sp4-sb-inp-wrap{display:flex;align-items:center;border:1.5px solid #ddd;border-radius:6px;background:#fff;overflow:hidden;transition:border-color .15s}
  .sp4-sb-inp-wrap:focus-within{border-color:var(--teal)}
  .sp4-sb-inp{border:none;outline:none;padding:.48rem .6rem;font-size:.88rem;font-weight:700;color:var(--navy);font-family:inherit;flex:1;min-width:0;width:0}
  .sp4-sb-inp-unit{font-size:.82rem;color:#777;flex-shrink:0;padding-right:.2rem}
  .sp4-sb-clr{background:#e8e8e8;border:none;font-size:.75rem;color:#666;cursor:pointer;padding:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:.4rem;transition:background .15s}
  .sp4-sb-clr:hover{background:#d0d0d0}
  .sp4-sb-sel{width:100%;border:1.5px solid #ddd;border-radius:6px;padding:.5rem .6rem;font-size:.88rem;font-weight:700;color:var(--navy);font-family:inherit;outline:none;background:#fff;cursor:pointer;transition:border-color .15s}
  .sp4-sb-sel:focus{border-color:var(--teal)}
  /* Champs dérivés du montant (type/projet/mensualité/durée) : accent teal
     pour les distinguer du champ montant, source de la simulation. */
  .sp4-sb-item--accent .sp4-sb-lbl{color:var(--teal)}
  .sp4-sb-item--accent .sp4-sb-sel{border-color:#f7c9d3;background:#fcedf0}
  .sp4-sb-item--accent .sp4-sb-sel:focus{border-color:var(--teal)}
  .sp4-sb-select-wrap{position:relative}
  .sp4-sb-select-wrap .sp4-sb-sel{appearance:none;-webkit-appearance:none;padding-right:2.1rem}
  .sp4-sb-help{position:absolute;top:50%;right:.55rem;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;border:1.5px solid var(--teal);color:var(--teal);font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#fff;line-height:1}
  .sim-page.sp4-open .sim-bottombar{display:none}
  .sp4-main{flex:1;max-width:1100px;margin:0 auto;padding:1.8rem 2.5rem 0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
  .sp4-main::-webkit-scrollbar{width:0;height:0;display:none}
  .sp4-intro{font-size:1rem;color:var(--teal);font-weight:700;margin-bottom:1.2rem;text-align:center;font-style:normal}
  .sp4-type-lbl{font-size:.88rem;font-weight:600;color:var(--teal);margin-bottom:.5rem;text-align:center}
  .sp4-h1{font-size:1.35rem;font-weight:700;color:var(--navy);margin-bottom:1.5rem;text-align:center}
  .sp4-outer-card{background:#f7f8fa;border:1px solid #eceef1;border-radius:20px;padding:2rem 2.2rem 1.8rem;margin-bottom:1.5rem}
  .sp4-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}
  .sp4-card{border:1.5px solid #ddd;border-radius:16px;padding:1.3rem 1.1rem;cursor:pointer;background:#fff;transition:all .15s}
  .sp4-card:hover{border-color:var(--teal)}
  .sp4-card.sel{border:2px solid var(--teal);background:rgba(226,90,54,.07)}
  .sp4-card.sel .sp4-card-col,.sp4-card.sel .sp4-card-total-box{background:#fff}
  .sp4-card-radio{width:20px;height:20px;border-radius:50%;border:2px solid #ccc;margin-bottom:.9rem;display:flex;align-items:center;justify-content:center}
  .sp4-card.sel .sp4-card-radio{border-color:var(--teal)}
  .sp4-card.sel .sp4-card-radio::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--teal);display:block}
  .sp4-card-price{font-size:1.35rem;font-weight:800;color:var(--navy);margin-bottom:.2rem}
  .sp4-card-price sup{font-size:.62rem;vertical-align:super}
  .sp4-card-sublbl{font-size:.85rem;color:var(--navy);margin-bottom:1.1rem;font-weight:700}
  .sp4-card-box{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.7rem}
  .sp4-card-col{display:flex;flex-direction:column;gap:.2rem;background:#f4f5f7;border-radius:8px;border-left:3px solid var(--teal);padding:.6rem .65rem}
  .sp4-card-lbl{font-size:.72rem;color:#777}
  .sp4-card-val{font-size:.85rem;font-weight:700;color:var(--navy)}
  .sp4-card-total-box{display:flex;justify-content:space-between;align-items:center;background:#f4f5f7;border-radius:10px;padding:.75rem .9rem;font-size:.78rem;color:#555}
  .sp4-card-total-box b{color:var(--navy);font-size:.88rem}
  .sp4-detail{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;border-top:1px solid #e5e7eb;padding-top:1.5rem}
  .sp4-detail-title{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.8rem;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0;font-family:'Montserrat',Arial,sans-serif}
  .sp4-detail-row{display:flex;justify-content:space-between;font-size:.83rem;padding:.32rem 0;border-bottom:1px solid #f5f5f5}
  .sp4-detail-row:last-child{border-bottom:none}
  .sp4-detail-row-lbl{color:#555}
  .sp4-detail-row-val{font-weight:700;color:var(--navy)}
  /* Barre d'action collée en bas de la zone scrollable — évite d'avoir à
     défiler jusqu'au fond pour choisir une offre / revenir en arrière. */
  .sp4-actions{
    display:flex;align-items:center;gap:1rem;
    position:sticky;bottom:0;
    margin:1.5rem -2.5rem 0;
    padding:1.1rem 2.5rem;
    background:#fff;border-top:1px solid #eee;
  }
  .sp4-back-btn{background:#eceef1;border:none;border-radius:2rem;padding:.62rem 1.5rem;font-size:.88rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s}
  .sp4-back-btn:hover{background:#e0e2e6}
  .sp4-action-note{flex:1;text-align:center;font-size:.78rem;color:#888;font-style:italic}
  .sp4-cta{background:var(--navy);color:#fff;border:none;border-radius:2rem;padding:.72rem 2rem;font-size:.92rem;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .2s;white-space:nowrap}
  .sp4-cta:hover{opacity:.88}
}


/* ════════════════════════
   PAGES INTERNES — BASE
════════════════════════ */
.inner-page{padding-top:2rem;padding-bottom:1rem}
.inner-page .wrap{max-width:860px;margin:0 auto;padding:0 1rem}
.inner-page h1{font-size:2.4rem;font-weight:700;color:var(--navy);margin-bottom:1.5rem;line-height:1.15;border-left:5px solid var(--teal);padding-left:1.2rem}
.inner-page h2{font-size:1.35rem;font-weight:700;color:var(--navy);margin:1.2rem 0 .75rem;display:flex;align-items:center;gap:.6rem}
.inner-page h2::before{display:none}
.inner-page p{font-size:1.02rem;color:#3d3d3d;line-height:1.85;margin-bottom:1.1rem}
.inner-page ul{padding-left:0;margin-bottom:1.2rem;list-style:none}
.inner-page ul li{font-size:1rem;color:#3d3d3d;line-height:1.8;margin-bottom:.5rem;padding-left:1.5rem;position:relative}
.inner-page ul li::before{content:'›';position:absolute;left:0;color:var(--teal);font-weight:700;font-size:1.1rem}
.inner-page a{color:var(--teal);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(226,90,54,.3)}
.inner-page a:hover{border-bottom-color:var(--teal)}
.inner-page .legal-box{background:#f5f9fc;border-left:3px solid var(--sky);padding:1.2rem 1.5rem;border-radius:0 8px 8px 0;margin:1.5rem 0;font-size:.92rem;color:#555;line-height:1.7}
@media(min-width:960px){.inner-page h1{font-size:3rem}.inner-page p{font-size:1.05rem}}
.legal-section{margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid #e8eef3}
.legal-section:last-child{border-bottom:none}
.legal-section h2{font-size:1.25rem;font-weight:700;color:var(--navy);margin-bottom:1.2rem;display:block;text-align:left}
.legal-section p{font-size:1rem;color:#3d3d3d;line-height:1.9;margin-bottom:1rem}
.legal-section ul{padding-left:0;list-style:none;margin-bottom:1rem}
.legal-section ul li{font-size:1rem;color:#3d3d3d;line-height:1.8;margin-bottom:.7rem;padding-left:1.6rem;position:relative}
.legal-section ul li::before{content:'›';position:absolute;left:0;color:var(--teal);font-weight:700;font-size:1.15rem}
.legal-section a{color:inherit;text-decoration:underline;font-weight:600}
.tarif-table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1rem 0}
.tarif-table th{background:var(--navy);color:#fff;padding:.75rem 1rem;text-align:left;font-weight:600}
.tarif-table td{padding:.7rem 1rem;border-bottom:1px solid #e0eaf2;color:#333}
.tarif-table tr:nth-child(even) td{background:#f6f9fb}
.tarif-table tr:hover td{background:#e8f5f3}

/* ════════════════════════
   SECTIONS PRODUIT AVANCÉES
════════════════════════ */
.prod-hero-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.prod-hero-badge{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);color:#fff;padding:.38rem .95rem;border-radius:50px;font-size:.85rem;font-weight:600}
.prod-audience{display:grid;gap:2rem;padding-top:1.5rem;padding-bottom:1.5rem}
@media(min-width:760px){.prod-audience{grid-template-columns:1fr 1fr}}
.prod-audience h2{font-size:1.25rem;font-weight:700;color:var(--navy);margin-bottom:1.1rem}
.audience-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{background:var(--btn-primary-l);color:var(--btn-primary-d);padding:.32rem .8rem;border-radius:50px;font-size:.86rem;font-weight:600;border:1px solid rgba(144,231,251,.4)}
.use-list{list-style:none;padding:0;margin:0}
.use-list li{padding:.42rem 0 .42rem 1.4rem;position:relative;color:#3d3d3d;font-size:.95rem;border-bottom:1px solid #f0f4f7}
.use-list li::before{content:'';position:absolute;left:0;color:var(--teal);font-weight:800}
.prod-caract-wrap{border-radius:14px;padding:1.5rem;margin:.5rem auto}
.prod-caract-wrap h2{font-size:1.35rem;font-weight:700;color:var(--navy);margin-bottom:1.4rem}
.prod-caract-wrap{overflow-x:auto}
.caract-table{width:100%;border-collapse:collapse;min-width:0}
.caract-table tr{border-bottom:1px solid #dde8f0}
.caract-table tr:last-child{border-bottom:none}
.caract-table td{padding:.72rem 1rem;font-size:.95rem;color:#333;vertical-align:top;line-height:1.5}
.caract-table td:first-child{font-weight:700;color:var(--navy);width:38%;min-width:140px}
.prod-eligibilite-wrap,.prod-documents-wrap{margin:2.5rem auto}
.prod-eligibilite-wrap h2,.prod-documents-wrap h2{font-size:1.35rem;font-weight:700;color:var(--navy);margin-bottom:1.3rem}
.eligibilite-grid,.docs-grid{display:grid;gap:.75rem;grid-template-columns:1fr}
@media(min-width:600px){.eligibilite-grid,.docs-grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.eligibilite-grid,.docs-grid{grid-template-columns:1fr 1fr 1fr}}
.eligibilite-item{background:#fff;border:1px solid #dde8f0;border-left:3px solid var(--teal);border-radius:0 8px 8px 0;padding:.75rem 1rem;font-size:.9rem;color:#333;line-height:1.5;display:flex;gap:.6rem;align-items:flex-start}
.eligibilite-item::before{content:'';color:var(--teal);font-weight:800;flex-shrink:0;font-size:.95rem}
.doc-item{background:#fff;border:1px solid #dde8f0;border-radius:8px;padding:.75rem 1rem;font-size:.9rem;color:#333;line-height:1.5;display:flex;gap:.6rem;align-items:flex-start}
.doc-item-icon{font-size:1.1rem;flex-shrink:0}
.prod-etapes-5{display:grid;gap:1.2rem;margin:2rem 0;counter-reset:step5}
@media(min-width:600px){.prod-etapes-5{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.prod-etapes-5{grid-template-columns:repeat(5,1fr)}}
.etape5{background:#fff;border:1px solid #dde8f0;border-radius:12px;padding:1.4rem 1rem;text-align:center;counter-increment:step5}
.etape5-num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:1.1rem;margin:0 auto 1rem}
.etape5 h4{font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:.45rem}
.etape5 p{font-size:.83rem;color:#555;line-height:1.55;margin:0}
.prod-mention-reg{background:#f0f5f8;border-left:4px solid var(--navy);padding:1.4rem 1.7rem;border-radius:0 10px 10px 0;margin:2rem auto}
.prod-mention-reg p{font-size:.88rem;color:#666;line-height:1.75;margin-bottom:.4rem}
.prod-mention-reg p:last-child{margin:0}
.prod-mention-reg strong{color:inherit;font-weight:inherit}


.trust-badge{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:5px;padding:.28rem .65rem;font-size:.72rem;font-weight:700;color:#5a8099;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}

/* ════════════════════════
   CLASSES MANQUANTES — PAGES PRODUIT
════════════════════════ */
/* Hero produit : eyebrow + sous-titre */
.prod-hero-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.6rem}
.prod-hero-sub{font-size:1rem;color:#555;line-height:1.65;margin-top:.8rem;max-width:600px}
/* Hero informatif (sous-titre, sans CTA produit) : centrage sur desktop.
   Ciblé sur .prod-hero-sub plutôt que sur l'absence d'image : une page
   produit avec CTA (.btn-sim) doit toujours garder le style compact même
   si son visuel n'a pas encore été ajouté. */
@media(min-width:960px){
  .prod-hero:has(.prod-hero-sub) .inner{display:flex;flex-direction:column;align-items:center;text-align:center}
  .prod-hero:has(.prod-hero-sub) h1{font-size:2.6rem}
  .prod-hero:has(.prod-hero-sub) .prod-hero-sub{max-width:680px}
}
/* Grille avantages */
.prod-av-grid,.prod-avantages-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:1.5rem}
@media(min-width:600px){.prod-av-grid,.prod-avantages-grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.prod-av-grid,.prod-avantages-grid{grid-template-columns:repeat(3,1fr)}}
/* Icône avantage */
.prod-av-icon{font-size:2rem;line-height:1;display:block;margin-bottom:.5rem}
/* Sections internes des pages produit — aucun fond sur les wrappers */
body.pg-inner .editorial{background:none}
.editorial.inner,.prod-caract-wrap.inner,.prod-exemple-wrap.inner,
.prod-audience.inner,.prod-eligibilite-wrap.inner,.prod-documents-wrap.inner,
.prod-etapes.inner,.prod-avantages.inner,.prod-faq.inner,
.prod-chiffres.inner,.prod-mention-reg.inner{background:transparent}
.prod-avantages{padding-top:2.5rem;padding-bottom:2.5rem}
.prod-cta{background:#fff;padding:2.5rem 1.5rem;text-align:center}
.prod-cta h2{font-size:1.6rem;font-weight:700;color:var(--navy);margin-bottom:.8rem}
.prod-cta p{color:#555;margin-bottom:1.5rem;line-height:1.6}
.prod-cta .btn-prim{background:#d13624;color:#fff;border:none;border-radius:2rem;padding:.75rem 2.5rem;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 3px 10px rgba(12,45,94,.25);transition:all .2s}
.prod-cta .btn-prim:active{transform:scale(.98)}
.prod-cta-note{font-size:.74rem;color:#999;margin-top:1rem}
/* Titres sections produit */
.editorial h2,.prod-avantages h2{margin-bottom:1rem}
.editorial p{font-size:1rem;color:#333;line-height:1.8;margin-bottom:.9rem}
.editorial strong{color:inherit;font-weight:inherit}
/* Carte produit mis en avant + avertissement légal (accueil) */
.pph-card{border-radius:20px;padding:.6rem 1.8rem 1.5rem;margin:0 auto}
.pph-card-title{display:block;width:fit-content;margin:0 auto .9rem;color:var(--navy);border-radius:50px;padding:.55rem 1.6rem;font-size:.85rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;text-align:center}
.pph-card-sub{font-size:.95rem;color:#555;line-height:1.6;text-align:left;margin-bottom:.7rem}
.pph-card-sub:last-child{margin-bottom:0}
/* ════════════════════════
   SUIVI DE DOSSIER (page publique, sans connexion)
════════════════════════ */
.suivi-hero{margin:1.5rem 1rem 0;border-radius:20px;overflow:hidden;background:#fff;padding:2.4rem 1.2rem 2rem}
.suivi-hero h1{color:var(--navy);font-size:clamp(1.5rem,5vw,2rem);font-weight:800;line-height:1.25;margin:0 0 .9rem;text-align:left}
.suivi-hero-bar{display:block;width:70px;height:4px;border-radius:2px;background:var(--teal)}
.suivi-wrap{max-width:1300px;margin:0 auto;padding:2.2rem 1.2rem 3rem;display:flex;flex-direction:column;gap:2rem}
.suivi-text{font-size:.95rem;color:#444;line-height:1.75}
.suivi-text p{margin:0 0 1.1rem}
.suivi-text p:last-child{margin-bottom:0}
.suivi-link{font-weight:700;color:var(--navy);text-decoration:underline}
.suivi-card{background:#f7f8fa;border-radius:1.2rem;padding:1.8rem 1.4rem;box-shadow:0 2px 14px rgba(1,0,53,.06)}
.suivi-lbl{display:block;font-size:.85rem;font-weight:700;color:var(--navy);margin-bottom:.6rem}
.suivi-inp{width:100%;box-sizing:border-box;border:1.5px solid #d0d5dd;border-radius:.7rem;padding:.85rem 1rem;font-size:1rem;font-family:inherit;color:#222;background:#fff;transition:border-color .15s;-webkit-appearance:none}
.suivi-inp:focus{outline:none;border-color:var(--navy)}
.suivi-inp::placeholder{color:#aaa}
.suivi-inp.err{border-color:#e74c3c}
.suivi-err{color:#e74c3c;font-size:.82rem;margin:.5rem 0 0;display:none}
.suivi-err.show{display:block}
.suivi-info{background:#fff;border-radius:.7rem;padding:.9rem 1rem;margin-top:1.2rem;font-size:.85rem;color:#555;line-height:1.55;border:1px solid #e5e7eb}
.suivi-info strong{color:var(--navy)}
.suivi-robot{display:flex;align-items:center;gap:.7rem;margin-top:1.3rem;cursor:pointer;font-size:.92rem;font-weight:600;color:#333;user-select:none}
.suivi-robot input{position:absolute;opacity:0;width:0;height:0}
.suivi-robot-box{width:20px;height:20px;flex-shrink:0;border:1.5px solid #b0b6c0;border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.suivi-robot-box svg{opacity:0;transition:opacity .1s}
.suivi-robot input:checked+.suivi-robot-box{background:#e5e7eb;border-color:#e5e7eb}
.suivi-robot input:checked+.suivi-robot-box svg{opacity:1}
.suivi-submit-btn{display:block;width:100%;padding:.9rem;background:#9aa5b4;color:#fff;border:none;border-radius:2rem;font-size:.95rem;font-weight:700;font-family:inherit;cursor:not-allowed;transition:background .3s,transform .15s,box-shadow .3s;margin-top:1.5rem;box-shadow:none}
.suivi-submit-btn.ready{background:#d13624;cursor:pointer;box-shadow:0 3px 12px rgba(12,45,94,.25)}
.suivi-submit-btn.ready:hover{background:#ae2d1e;transform:translateY(-1px);box-shadow:0 5px 18px rgba(12,45,94,.35)}
.suivi-submit-btn.ready:active{transform:scale(.98)}
.suivi-submit-btn:disabled{opacity:.75}
@media(min-width:960px){
  .suivi-hero{margin:1.5rem 2rem 0;padding:4rem 2rem}
  .suivi-hero h1{font-size:2.6rem}
  .suivi-wrap{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;padding:4rem 6rem 5rem;align-items:start}
  .suivi-text{font-size:1rem;padding-top:.5rem}
  .suivi-card{padding:2.4rem 2.2rem}
}
/* ════════════════════════
   HERO PRODUIT
════════════════════════ */
.prod-hero{background:#fff;padding:2rem 0 1.8rem;color:var(--navy);position:relative;overflow:hidden;min-height:0;margin:1.5rem 1rem 0;border-radius:20px}
.prod-hero::after{display:none}
.prod-hero::before{display:none}
.prod-hero .wrap,.prod-hero .inner{max-width:var(--w);margin:0 auto;padding:0;position:relative;z-index:1}
.prod-hero h1{font-size:1.7rem;font-weight:700;line-height:1.22;margin-bottom:.9rem;color:var(--navy)}
.prod-hero h1 span{color:inherit}
.prod-hero-eyebrow{display:inline-block;width:fit-content;background:var(--teal);color:#fff;border-radius:50px;padding:.28rem 1rem;font-size:.78rem;font-weight:700;letter-spacing:.02em;margin-bottom:1rem;text-transform:none}
.prod-hero-rate{
  background:#fff;
  border:1.5px solid #e4ecf2;
  border-radius:18px;
  padding:0;
  margin:.5rem 0 1.2rem;
  display:block;
  max-width:320px;
  box-shadow:0 4px 20px rgba(0,0,0,.09);
  overflow:hidden;
}
.prod-hero-rate::before{
  content:attr(data-label);
  display:block;
  background:var(--teal);
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  padding:.45rem 1rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.prod-hero-rate-inner{padding:1.1rem 1.4rem}
.prod-hero-rate-row{display:flex;align-items:baseline;gap:.15rem;line-height:1}
.prod-hero-rate-num{font-size:3rem;font-weight:800;color:var(--navy)}
.prod-hero-rate-pct{font-size:1.8rem;font-weight:800;color:var(--navy)}
.prod-hero-rate-lab{display:block;font-size:.88rem;font-weight:700;color:#666;margin-top:.25rem}
.prod-hero-rate-info{margin-top:.7rem;padding-top:.6rem;border-top:1px solid #dce8f0}
.prod-hero-rate-info span{display:block;font-size:.8rem;color:#555;line-height:1.7}
/* ── Hero produit : layout mobile (colonne, image en premier) ── */
.prod-hero .inner{display:flex;flex-direction:column}

/* Image : pleine largeur après le texte sur mobile */
.prod-hero-img-wrap{
  order:1;
  width:100%;
  margin-left:0;
  margin-right:0;
  margin-top:1.2rem;
  margin-bottom:0;
  flex-shrink:0;
  border-radius:8px;
  overflow:hidden;
  background:#f0f0f0;
  display:block;
  padding-top:0;
}
.prod-hero-img{
  display:block;
  width:100%;
  height:240px;
  object-fit:cover;
  object-position:center;
}

/* Texte : affiché normalement sous l'image */
.prod-hero-text{display:flex;flex-direction:column;align-items:flex-start}
.prod-hero-text .prod-hero-eyebrow{margin-bottom:.6rem}

/* Carte taux : cachée sur mobile */
.prod-hero-rate{display:none}

/* Tablette */
@media(min-width:700px) and (max-width:959px){
  .prod-hero-img-wrap{
    width:100%;margin-left:0;margin-right:0;
    border-radius:20px;margin-bottom:2rem;
  }
  .prod-hero-img{height:340px;}
  .prod-hero-rate{max-width:320px;}
}
.prod-hero .btn-prim{background:#d13624;color:#fff;border:none;border-radius:2rem;padding:.75rem 2.4rem;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .15s;box-shadow:0 3px 10px rgba(12,45,94,.25);display:inline-block;margin-top:.2rem}
.prod-hero .btn-prim:hover{background:#ae2d1e;box-shadow:0 5px 16px rgba(12,45,94,.35)}
.prod-hero .btn-prim:active{transform:scale(.98);box-shadow:0 2px 6px rgba(12,45,94,.2)}
.prod-hero-note{font-size:.74rem;color:#999;margin-top:.7rem}
.prod-hero-avis{display:flex;align-items:center;gap:.5rem;margin-top:1rem}
.prod-hero-avis-stars{color:#6b7280;font-size:1rem;letter-spacing:.05em}
.prod-hero-avis-txt{font-size:1rem;color:#555}
@media(min-width:960px){.prod-hero h1{font-size:2.6rem}.prod-hero{padding:3.5rem 0 3rem}}

/* ════════════════════════
   BANDEAU CHIFFRES
════════════════════════ */
.prod-chiffres{background:#fff;border-bottom:3px solid var(--teal)}
.prod-chiffres .inner,.prod-chiffres .wrap{display:grid;grid-template-columns:repeat(2,1fr);max-width:var(--w);margin:0 auto;padding:0}
@media(min-width:700px){.prod-chiffres .inner,.prod-chiffres .wrap{grid-template-columns:repeat(4,1fr)}}
/* classes utilisées dans le HTML */
.chiffre-item,.prod-chiffre-item{padding:1.8rem 1rem;text-align:center;border-right:1px solid #e8edf2;border-bottom:1px solid #e8edf2;transition:background .2s}
.chiffre-item:hover,.prod-chiffre-item:hover{background:#f9fafb}
@media(min-width:700px){.chiffre-item:nth-child(3),.chiffre-item:nth-child(4),.prod-chiffre-item:nth-child(3),.prod-chiffre-item:nth-child(4){border-bottom:none}.chiffre-item:nth-child(4),.prod-chiffre-item:nth-child(4){border-right:none}}
@media(max-width:699px){.chiffre-item:nth-child(even),.prod-chiffre-item:nth-child(even){border-right:none}.chiffre-item:nth-last-child(-n+2),.prod-chiffre-item:nth-last-child(-n+2){border-bottom:none}}
.chiffre-val,.prod-chiffre-val{font-size:2.2rem;font-weight:800;color:var(--navy);display:block;line-height:1;margin-bottom:.35rem}
.chiffre-lab,.prod-chiffre-label,.prod-chiffre-desc{font-size:.85rem;font-weight:600;color:#666;line-height:1.3}

/* ════════════════════════
   AVANTAGES
════════════════════════ */
.prod-avantages{padding-top:3.5rem;padding-bottom:2rem}
.prod-avantages .wrap{max-width:1160px;margin:0 auto;padding:0 1.5rem}
.prod-section-hd{text-align:center;margin-bottom:3.5rem}
.prod-section-hd h2{font-size:2rem;font-weight:700;color:var(--navy);margin-bottom:.7rem;line-height:1.2}
.prod-section-hd p{font-size:1.05rem;color:#666;max-width:600px;margin:0 auto;line-height:1.6}
.prod-avantages-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(min-width:700px){.prod-avantages-grid{grid-template-columns:repeat(3,1fr)}}
.prod-av-card{background:#fff;border-radius:20px;padding:2rem 1.6rem;border:1px solid #e4eaf0;transition:all .25s;display:flex;flex-direction:column;gap:.9rem}
@media (hover:hover){ .prod-av-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.1);border-color:rgba(226,90,54,.3)} }
.prod-av-ico{width:56px;height:56px;border-radius:16px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.prod-av-ico svg{color:#6b7280}
.prod-av-card h3{font-size:1.05rem;font-weight:700;color:var(--navy);line-height:1.3}
.prod-av-card p{font-size:.93rem;color:#666;line-height:1.65;margin:0}

/* ════════════════════════
   ÉTAPES
════════════════════════ */
.prod-etapes{padding-top:2.5rem;padding-bottom:2.5rem}
.prod-etapes .wrap{max-width:1000px;margin:0 auto;padding:0 1.5rem}
.prod-etapes-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;position:relative}
@media(min-width:700px){.prod-etapes-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
.prod-step{position:relative;text-align:center;padding:2rem 1.5rem;border-radius:20px;border:1px solid #e8edf2}
@media(min-width:700px){.prod-step:not(:last-child)::after{content:'→';position:absolute;right:-1.2rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--teal);z-index:1}}
.prod-step-num{width:62px;height:62px;border-radius:50%;background:var(--navy);color:#fff;font-size:1.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 1.3rem;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.prod-step h3{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:.6rem}
.prod-step p{font-size:1rem;color:#666;line-height:1.65;margin:0}

/* ════════════════════════
   EXEMPLE REPRÉSENTATIF
════════════════════════ */
.prod-exemple-wrap{padding-top:2rem;padding-bottom:2rem}
.prod-exemple-wrap .wrap{max-width:860px;margin:0 auto;padding:0 1.5rem}
.prod-exemple-box{background:linear-gradient(135deg,#f0f8ff,#e8f7f5);border:1.5px solid #b8dff5;border-radius:16px;padding:1.8rem 2rem}
.prod-exemple-box h3{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:.8rem}
.prod-exemple-box p{font-size:.92rem;color:#444;line-height:1.85;margin:0}
.prod-exemple-box strong{color:inherit;font-weight:inherit}

/* Fil d'ariane (pages produit) */
.prod-breadcrumb{max-width:var(--w);margin:1rem auto 0;padding:0 1.5rem;font-size:.82rem;color:#888}
.prod-breadcrumb a{color:#888;text-decoration:none}
.prod-breadcrumb a:hover{color:var(--navy);text-decoration:underline}
.prod-breadcrumb strong{color:var(--navy);font-weight:700}

/* ════════════════════════
   HERO PRODUIT V2 (référence Franfinance) : bandeau sombre,
   taux + photo à gauche, sélecteur de projet à droite.
════════════════════════ */
.prod-hero2{background:var(--navy);padding:1.8rem 0 2.2rem;margin:1.2rem .8rem 0;border-radius:20px}
.prod-hero2-inner{max-width:var(--w);margin:0 auto;padding:0 1.2rem}
.prod-hero2-left{text-align:center}
.prod-hero2-tag{display:inline-block;background:#d13624;color:#fff;border-radius:50px;padding:.32rem 1.1rem;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin-bottom:1rem}
.prod-hero2-rate{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem .9rem;margin-bottom:.2rem}
.prod-hero2-rate-num-wrap{display:flex;align-items:baseline;gap:.15rem;line-height:1}
.prod-hero2-rate-num{font-size:2.6rem;font-weight:800;color:#fff}
.prod-hero2-rate-pct{font-size:1.5rem;font-weight:800;color:#fff;align-self:flex-start;margin-top:.1rem}
.prod-hero2-rate-meta{display:flex;flex-direction:column;text-align:left}
.prod-hero2-rate-lab{display:block;font-size:.95rem;font-weight:700;color:#fff}
.prod-hero2-rate-cond{font-size:.83rem;color:rgba(255,255,255,.7);margin-top:.15rem}
.prod-hero2-img-wrap{margin-top:1.4rem;border-radius:16px;overflow:hidden;background:#0a0e2a}
.prod-hero2-img{display:block;width:100%;height:220px;object-fit:cover}
.prod-hero2-title{color:#fff;font-size:1.5rem;font-weight:700;line-height:1.25;margin:1.8rem 0 1.4rem;text-transform:uppercase}
.prod-hero2-card{background:#fff;border-radius:18px;padding:1.8rem 1.4rem 2rem;text-align:center}
.prod-hero2-card-title{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:1.3rem}
.prod-hero2-picker{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.4rem}
.prod-hero2-opt{
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  background:#fff;border:1.5px solid #e4eaf0;border-radius:14px;
  padding:1.4rem .8rem;cursor:pointer;font-family:inherit;
  font-size:.92rem;font-weight:600;color:var(--navy);
  transition:border-color .15s,background .15s;
}
.prod-hero2-opt svg{color:var(--navy)}
.prod-hero2-opt:hover{border-color:#d13624}
.prod-hero2-opt.is-selected{border-color:#d13624;background:rgba(209,54,36,.06)}
.prod-hero2-continue{
  display:block;width:100%;background:#c7c9cf;color:#fff;
  border:none;border-radius:2rem;padding:.9rem;
  font-family:inherit;font-size:.95rem;font-weight:700;
  cursor:not-allowed;transition:background .15s;
}
.prod-hero2-continue:not(:disabled){background:#d13624;cursor:pointer}
.prod-hero2-continue:not(:disabled):hover{background:#ae2d1e}
@media(min-width:960px){
  .prod-hero2{padding:3rem 0}
  .prod-hero2-inner{display:flex;gap:3.5rem;align-items:center;padding:0 2rem}
  .prod-hero2-left{flex:0 0 42%;text-align:left}
  .prod-hero2-rate{justify-content:flex-start}
  .prod-hero2-right{flex:1 1 auto}
  .prod-hero2-title{margin-top:0}
  .prod-hero2-card{padding:2.4rem 2.6rem}
  .prod-hero2-img{height:380px}
}

/* ════════════════════════
   AVANTAGES PRODUIT V2 (référence Franfinance) : bandeau sombre,
   3 colonnes avec icône ronde + libellé + description.
════════════════════════ */
.prod-benefits{background:var(--navy);padding:3rem 0;margin:2.5rem 0 0}
.prod-benefits .wrap{max-width:1000px;margin:0 auto;padding:0 1.5rem;text-align:center}
.prod-benefits h2{color:#fff;font-size:1.6rem;font-weight:700;margin-bottom:2.5rem}
.prod-benefits-grid{display:grid;grid-template-columns:1fr;gap:2.2rem}
@media(min-width:700px){.prod-benefits-grid{grid-template-columns:repeat(3,1fr)}}
.prod-benefit-item{display:flex;flex-direction:column;align-items:center;gap:.9rem}
.prod-benefit-ico{width:64px;height:64px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#d13624;flex-shrink:0}
.prod-benefit-item h3{color:#fff;font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.prod-benefit-item p{color:rgba(255,255,255,.75);font-size:.9rem;line-height:1.6;max-width:280px;margin:0 auto}

/* Exemple chiffré ("Pour ne rien vous cacher") */
.prod-tarif{padding:2.5rem 0;background:#f7f9fb}
.prod-tarif .wrap{max-width:900px;margin:0 auto;padding:0 1.5rem;text-align:center}
.prod-tarif h2{font-size:1.7rem;font-weight:700;color:var(--navy);margin-bottom:.8rem}
.prod-tarif>.wrap>p{font-size:1rem;color:#555;line-height:1.6;max-width:640px;margin:0 auto 1.8rem}
.prod-tarif-pill{display:inline-block;background:var(--navy);color:#fff;font-weight:700;font-size:.95rem;padding:.75rem 1.6rem;border-radius:2rem;margin-bottom:1.8rem}
.prod-tarif-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 14px rgba(1,0,53,.07)}
.prod-tarif-table th{background:#eef1f5;color:#555;font-weight:600;font-size:.8rem;padding:.9rem .7rem;text-align:center}
.prod-tarif-table td{padding:1.1rem .7rem;text-align:center;font-size:1rem;font-weight:700;color:var(--navy)}
.prod-tarif-table th:last-child,.prod-tarif-table td:last-child{background:var(--navy);color:#fff}
.prod-tarif-note{font-size:.78rem;color:#888;margin-top:.9rem}
.prod-tarif-insur{font-size:.85rem;color:#555;line-height:1.6;margin-top:1.2rem}
.prod-tarif-insur a{color:var(--navy);font-weight:700}
@media(max-width:699px){
  .prod-tarif-table{display:block;overflow-x:auto;white-space:nowrap}
}

/* Mise en avant assurance (sidebar produit) */
.prod-insur-card{background:#f7f8fa;border-radius:18px;overflow:hidden;max-width:420px;margin:2rem auto 0}
.prod-insur-tag{display:block;background:var(--teal);color:#fff;text-align:center;font-weight:700;font-size:.9rem;padding:.8rem 1rem}
.prod-insur-body{padding:1.6rem 1.6rem 1.8rem;text-align:center}
.prod-insur-body h3{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:.8rem;line-height:1.3}
.prod-insur-body p{font-size:.9rem;color:#555;line-height:1.65;margin-bottom:0}
.prod-insur-body a{color:var(--navy);font-weight:700}
.prod-insur-link{display:inline-block;margin-top:1rem;font-size:.88rem;font-weight:700;color:var(--navy);text-decoration:underline}

/* Comparatif produits ("Vous hésitez encore ?") */
.prod-compare{padding:2.5rem 0;text-align:center}
.prod-compare .wrap{max-width:1100px;margin:0 auto;padding:0 1.5rem}
.prod-compare h2{font-size:1.8rem;font-weight:700;color:var(--navy);margin-bottom:.6rem}
.prod-compare>.wrap>p{font-size:1rem;color:#555;margin-bottom:2rem}
.prod-compare-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;text-align:left}
@media(min-width:760px){.prod-compare-grid{grid-template-columns:1fr 1fr}}
.prod-compare-card{background:#f7f9fb;border-radius:18px;padding:2rem 1.6rem;border:2px solid transparent}
.prod-compare-card--hl{border-color:var(--navy);background:#fff}
.prod-compare-ico{width:56px;height:56px;border-radius:50%;background:var(--navy);color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.prod-compare-card h3{font-size:1.1rem;font-weight:700;color:var(--navy);text-align:center;margin-bottom:.3rem}
.prod-compare-card h3 a{color:inherit;text-decoration:underline}
.prod-compare-sub{font-size:.9rem;color:#666;text-align:center;margin-bottom:1.4rem}
.prod-compare-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}
.prod-compare-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;color:#444;line-height:1.5}
.prod-compare-list li::before{content:'›';color:var(--navy);font-weight:800;flex-shrink:0}
.prod-compare-btn{display:block;width:fit-content;margin:1.6rem auto 0;background:#d13624;color:#fff;font-weight:700;font-size:.9rem;padding:.75rem 1.6rem;border-radius:2rem;text-decoration:none;transition:background .2s}
.prod-compare-btn:hover{background:#ae2d1e}
.prod-compare-card--hl .prod-compare-btn{background:#d13624}

/* ════════════════════════
   CTA BAND
════════════════════════ */
.prod-cta{background:#fff;padding:2rem 1.5rem;text-align:center;position:relative;overflow:hidden}
.prod-cta::before{display:none}
.prod-cta h2{font-size:2.2rem;font-weight:700;color:var(--navy);margin-bottom:.8rem}
.prod-cta p{font-size:1.05rem;color:#555;margin-bottom:2.5rem;line-height:1.6}
.prod-cta .btn-prim{background:#d13624;color:#fff;border:none;border-radius:2rem;padding:.75rem 3rem;font-size:1.1rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s;box-shadow:0 3px 10px rgba(12,45,94,.25)}
@media (hover:hover){ .prod-cta .btn-prim:hover{background:#ae2d1e;transform:translateY(-1px);box-shadow:0 5px 16px rgba(12,45,94,.35)} }
.prod-cta .btn-prim:active{transform:scale(.98)}
.prod-cta-note{font-size:.78rem;color:#999;margin-top:1.2rem}
@media(min-width:700px){
  .prod-cta{
    background-image:linear-gradient(to right,#a8d8ec 0%,#c5e8f5 32%,rgba(197,232,245,.5) 54%,transparent 72%);
    background-color:#e8f5fb;
  }
  .prod-cta h2{color:#1a3a5c}
  .prod-cta p{color:rgba(20,50,80,.8)}
}
@media(min-width:960px){.prod-cta h2{font-size:2.6rem}}

/* ════════════════════════
   TRUST STRIP
════════════════════════ */
.prod-trust{background:var(--navy-d);padding:1.5rem 0}
.prod-trust .wrap{max-width:var(--w);margin:0 auto;padding:0 1.5rem}
.prod-trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
@media(min-width:700px){.prod-trust-grid{grid-template-columns:repeat(4,1fr)}}
.prod-trust-item{text-align:center}
.prod-trust-val{font-size:2rem;font-weight:800;color:#fff;display:block}
.prod-trust-lbl{font-size:.85rem;color:rgba(255,255,255,.55);margin-top:.3rem;line-height:1.4}

/* ════════════════════════
   FAQ PRODUIT
════════════════════════ */
.prod-faq{padding-top:2rem;padding-bottom:2rem}
.prod-faq .wrap{max-width:800px;margin:0 auto;padding:0 1.5rem}
.prod-faq h2{color:var(--navy);font-size:1.25rem;font-weight:700;margin-bottom:1.2rem}
@media(min-width:700px){
  .prod-faq.inner{max-width:900px;display:grid;grid-template-columns:1fr 1fr;column-gap:1.3rem;align-content:start}
  .prod-faq.inner > h2{grid-column:1/-1}
}
.prod-faq-hd{margin-bottom:2rem}
.prod-faq-hd h2{font-size:2rem;font-weight:700;color:var(--navy)}
.prod-faq-hd p{font-size:1rem;color:#666;margin-top:.5rem}

/* ══════════════════════════════
   FAQ HUB : grille de catégories, questions en accordéon
══════════════════════════════ */
.faq-hub-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:860px){.faq-hub-grid{grid-template-columns:1fr 1fr}}
.faq-hub-cat{border:1px solid #e5e7eb;border-radius:14px;padding:1.5rem 1.5rem 1.2rem}
.faq-hub-cat-title{font-size:1.15rem;font-weight:800;color:var(--navy);text-decoration:underline;text-underline-offset:3px;margin-bottom:1.1rem}
.faq-hub-cat .faq-list{margin-bottom:0}
/* ── Modale cookies (référence BNP Paribas : écran principal avec lien
   "Continuer sans accepter" en haut + boutons "Paramétrer"/"Tout accepter",
   et écran de paramétrage détaillé avec une catégorie par finalité et un
   interrupteur indépendant pour chacune, les cookies de fonctionnement
   restant toujours actifs) ── */
.cookie-overlay{
  display:none;position:fixed;inset:0;z-index:9998;
  background:rgba(0,0,0,.55);
}
.cookie-overlay.show{display:block}
.cookie-banner{
  display:none;position:fixed;top:50%;left:50%;z-index:9999;
  transform:translate(-50%,-50%);
  background:#fff;border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
  width:min(92vw,640px);
  max-height:85vh;max-height:85svh;overflow:hidden;
  padding:0;
  flex-direction:column;
}
.cookie-banner.show{display:flex}
.cookie-view{display:none;flex-direction:column;min-height:0;flex:1}
.cookie-view.active{display:flex}
.cookie-top-wrap{padding:.9rem 1.75rem 0;text-align:right;flex-shrink:0}
.cookie-top-skip{
  background:none;border:none;font-family:inherit;font-size:.85rem;
  color:var(--navy);cursor:pointer;text-decoration:underline;padding:.2rem 0;font-weight:700;
}
.cookie-top-skip:hover{opacity:.75}
.cookie-inner{flex:1;padding:1.75rem 1.75rem 0;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}
.cookie-title{font-size:1.4rem;font-weight:800;color:var(--navy);text-align:center;line-height:1.3;margin-bottom:1.1rem}
.cookie-desc{font-size:1rem;color:#333;line-height:1.6;margin-bottom:.7rem}
.cookie-desc a{color:var(--coral);text-decoration:underline}
.cookie-link{color:var(--coral);text-decoration:underline;font-weight:700}
.cookie-list{margin:0 0 .9rem;padding-left:1.2rem;color:#333;font-size:1rem;line-height:1.6}
.cookie-list li{margin-bottom:.35rem}
.cookie-sub{font-size:1.05rem;font-weight:800;color:var(--navy);margin:1.15rem 0 .9rem}
.cookie-cats{border:1px solid #e3e3e8;border-radius:12px;overflow:hidden;margin-bottom:.5rem}
.cookie-cat{border-bottom:1px solid #e3e3e8;padding:.9rem 1rem}
.cookie-cat:last-child{border-bottom:none}
.cookie-cat-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.cookie-cat-name{flex:1;font-size:.95rem;font-weight:700;color:var(--navy)}
.cookie-cat-always{font-size:.78rem;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}
.cookie-cat-desc{margin:.5rem 0 0;font-size:.88rem;color:#555;line-height:1.55}
.cookie-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
.cookie-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cookie-switch-track{position:absolute;inset:0;background:#ccc;border-radius:999px;transition:background .2s;pointer-events:none}
.cookie-switch-track::before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.cookie-switch input:checked + .cookie-switch-track{background:var(--coral)}
.cookie-switch input:checked + .cookie-switch-track::before{transform:translateX(18px)}
.cookie-btns{
  display:flex;flex-direction:column;align-items:center;gap:.9rem;
  position:-webkit-sticky;position:sticky;bottom:0;background:#fff;padding:1.25rem 1.75rem;margin-top:.5rem;
  -webkit-transform:translateZ(0);transform:translateZ(0);flex-shrink:0;
}
/* Écran principal : les deux boutons sur une même ligne (Paramétrer à
   gauche en secondaire, Tout accepter à droite en primaire), même
   disposition que la nav Retour/Continuer du formulaire (.sp5-nav).
   white-space normal + word-wrap sur cette paire : certaines langues
   (ex. allemand "Einstellungen verwalten") sont trop longues pour tenir
   sur une ligne à largeur mobile, le texte doit pouvoir passer à la
   ligne plutôt que déborder du bouton en pilule. ── */
#cookie-view-main .cookie-btns{flex-direction:row;align-items:stretch}
.cookie-btn-params{
  min-width:0;background:#fff;color:var(--navy);
  border:2px solid var(--navy);border-radius:999px;
  padding:.75rem 1rem;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;
  transition:background .2s,color .2s;text-align:center;white-space:nowrap;
}
.cookie-btn-params:hover{background:var(--navy);color:#fff}
#cookie-view-main .cookie-btn-params{
  flex:1;white-space:normal;word-wrap:break-word;line-height:1.25;
  display:flex;align-items:center;justify-content:center;
}
/* Écran de paramétrage : bouton unique "Enregistrer mes préférences" ── */
.cookie-btn-accept,.cookie-btn-save{
  min-width:0;background:#d13624;color:#fff;
  border:2px solid #d13624;border-radius:999px;
  padding:.75rem 1rem;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;
  transition:background .2s;text-align:center;white-space:nowrap;
}
.cookie-btn-accept:hover,.cookie-btn-save:hover{background:#ae2d1e}
#cookie-view-main .cookie-btn-accept{
  flex:1;white-space:normal;word-wrap:break-word;line-height:1.25;
  display:flex;align-items:center;justify-content:center;
}
@media(max-width:360px){
  #cookie-view-main .cookie-btn-params,#cookie-view-main .cookie-btn-accept{font-size:.9rem;padding:.7rem .6rem}
}


/* ═══════════════════════════════════════════════
   SP5 — Formulaire multi-étapes (5A→5B→5C→5D)
════════════════════════════════════════════════*/

/* Hide bottombar on step 5 */
.sp5-active .sim-bottombar{ display:none !important; }

/* Barre fixe des sous-étapes (Identité/Situation/Coordonnées/Documents) —
   remplace la nav en flux (.sp5-nav) pour que Retour/Continuer restent
   accessibles sans défiler, comme la barre du bas des autres étapes. */
.sp5-bottombar{ display:none; position:relative; flex-shrink:0; background:#fff; border-top:1px solid #ddd; padding:.9rem 1.2rem; z-index:60; justify-content:center; }
.sp5-active .sp5-bottombar{ display:flex; }
.sp5-bottombar .sp5-nav{ margin:0; padding:0; border:none; width:100%; justify-content:center; }
/* Un seul bouton, principal et centré (pas de Retour) — référence Sofinco */
.sp5-bottombar .sp5-back-btn{ display:none; }
.sp5-bottombar .sp5-cont-btn,
.sp5-bottombar .sp5-send-btn{ flex:1; width:100%; min-width:0; }
@media(min-width:760px){
  /* Sur desktop, le bouton reste compact et centré — inutile qu'il
     s'étire sur toute la largeur de l'écran. */
  .sp5-bottombar .sp5-cont-btn,
  .sp5-bottombar .sp5-send-btn{ flex:none; width:auto; min-width:280px; max-width:420px; }
}

/* Sub-step visibility */
.sp5-sub{ display:none; }
.sp5-sub.s5-show{ display:block; }

/* Prevent horizontal overflow inside the simulator on step 5 */
#sp5{ width:100%;box-sizing:border-box; }

/* ── Stepper — barre fine + pastille ronde chevauchante, comme la référence ── */
.sp5-stepper{
  margin:1.6rem 0 2.4rem;
  padding-top:0;
  position:relative;
}
.sp5-prog-track{
  position:relative;
  height:4px;border-radius:4px;
  background:#e4e7ec;overflow:hidden;
}
.sp5-prog-fill{
  height:100%;border-radius:4px;
  background:#f7c9d3;width:25%;
  transition:width .45s cubic-bezier(.22,1,.36,1);
}
/* Le pourcentage suit l'extrémité de la barre à chaque étape */
.sp5-prog-pct{
  position:absolute;
  top:0;left:25%;
  transform:translate(-50%,-50%);
  width:38px;height:38px;border-radius:50%;
  background:#f7c9d3;color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:700;
  letter-spacing:.01em;white-space:nowrap;
  box-shadow:0 3px 10px rgba(1,0,53,.15);
  transition:left .45s cubic-bezier(.22,1,.36,1);
}
@media(min-width:760px){
  .sp5-stepper{margin:1.8rem 0 2.6rem}
  .sp5-prog-track{height:5px}
  .sp5-prog-pct{width:46px;height:46px;font-size:.82rem}
}

/* ── Title ── */
.sp5-title{
  font-size:1.25rem;font-weight:800;color:var(--navy);
  margin:0 0 1.2rem;text-align:center;
}

/* ── Carte premium — regroupe les champs d'un même thème (identité,
   coordonnées, situation pro…) sous un bandeau de titre, à la manière
   d'un formulaire bancaire haut de gamme ── */
.sp5-card{
  border:1.5px solid #f7c9d3;border-radius:20px;
  background:#fff;overflow:hidden;margin-bottom:1.3rem;
}
.sp5-card-hd{
  background:#fcedf0;padding:.85rem 1.2rem;text-align:center;
}
.sp5-card-hd-txt{
  font-family:'Montserrat',Arial,sans-serif;
  font-size:1.15rem;font-weight:700;letter-spacing:-.3px;color:var(--navy);
}
.sp5-card-body{
  padding:1.3rem 1.1rem .3rem;
}
@media(min-width:760px){
  .sp5-card{border-radius:22px;margin-bottom:1.5rem}
  .sp5-card-hd{padding:1.05rem 1.4rem}
  .sp5-card-hd-txt{font-size:1.35rem}
  .sp5-card-body{padding:1.6rem 1.4rem .3rem}
}

/* ── Labels & required star ── */
.sp5-lbl{
  display:block;font-size:.82rem;font-weight:700;
  color:var(--navy);margin-bottom:.35rem;
}
.sp5-req{ color:var(--teal);font-weight:800; }

/* ── Field group ── */
.sp5-field-group{ margin-bottom:1rem;position:relative; }

/* ── 2-column row ── */
.sp5-row2{ display:grid;grid-template-columns:1fr 1fr;gap:.9rem; }
@media(max-width:479px){
  .sp5-row2{ grid-template-columns:1fr; }
}

/* ── Civilité pills ── */
.sp5-civ-row{ display:flex;gap:.6rem;margin-top:.15rem; }
.sp5-civ-btn{
  flex:1;padding:.7rem 0;border-radius:2rem;border:2px solid #ddd;
  background:#fff;font-size:.95rem;font-weight:700;color:#666;
  cursor:pointer;transition:all .2s;font-family:inherit;
}
.sp5-civ-btn.active{
  border-color:var(--teal);background:var(--teal);color:#fff;
}

/* ── Inputs & selects ── */
.sp5-inp,.sp5-sel{
  width:100%;box-sizing:border-box;
  border:1.5px solid #E5E7EB;border-radius:12px;
  padding:.85rem 1rem;font-size:1rem;font-family:inherit;line-height:1;
  color:var(--navy);background:#F5F5F7;
  outline:none;transition:border-color .15s,background-color .15s;
}
.sp5-inp:focus,.sp5-sel:focus{
  border-color:#e25a36;background:#fff;
}
.sp5-tel-wrap{
  display:flex;align-items:center;gap:.5rem;
  border:none;background:transparent;
}
.sp5-tel-pfx-wrap{
  /* Largeur fixe au lieu d'un simple max-width : le <select> interne étant en
     width:100% sans autre repère de taille, un max-width seul le laissait
     s'étirer jusqu'à cette limite (beaucoup de vide après "+44"). La pastille
     n'affiche plus que l'indicatif (4 caractères max, ex. "+377"). */
  position:relative;flex-shrink:0;width:5.25rem;
}
.sp5-tel-pfx{
  -webkit-appearance:none;appearance:none;
  width:100%;
  padding:.72rem 1.9rem .72rem .85rem;
  border:1.5px solid #ddd;border-radius:10px;
  background-color:#fff;cursor:pointer;outline:none;
  /* Texte du <select> rendu transparent : seule la roue/le menu natif de
     l'OS (drapeau + nom + indicatif) l'affiche encore en clair ; la valeur
     "fermée" est portée par la pastille .sp5-tel-pfx-display ci-dessous,
     trop étroite pour caser le nom du pays en plus du drapeau+indicatif. */
  font-size:1rem;color:transparent;font-weight:600;font-family:inherit;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .85rem center;
}
.sp5-tel-pfx:hover{background-color:#fff}
.sp5-tel-pfx option{ color:#0d2748; }
.sp5-tel-pfx-display{
  position:absolute;left:.85rem;top:50%;transform:translateY(-50%);
  font-size:1rem;color:#0d2748;font-weight:600;font-family:inherit;
  pointer-events:none;white-space:nowrap;overflow:hidden;
  max-width:calc(100% - 1.9rem - .85rem);
}
.sp5-inp--tel{
  border:1.5px solid #ddd!important;border-radius:10px!important;outline:none!important;
  flex:1;width:auto;min-width:0;
  padding:.72rem .9rem;font-size:1rem;line-height:1;
  background:#fff;color:#0d2748;
}
@media(min-width:760px){
  .sp5-inp,.sp5-sel{font-size:1rem;padding:.85rem 1rem}
  .sp5-title{font-size:1.6rem}
  .sp5-lbl{font-size:.95rem}
  .sp5-cont-btn,.sp5-back-btn{font-size:1rem;padding:.85rem 1.8rem}
  .sp5-field-group{margin-bottom:1.3rem}
  #sp5{max-width:100%}
}
/* Ne pas supprimer l'apparence native sur les champs date (iOS) */
.sp5-sel{ -webkit-appearance:none;appearance:none; }
.sp5-inp[type="text"],.sp5-inp[type="email"],.sp5-inp[type="tel"],.sp5-inp[type="number"]{
  -webkit-appearance:none;appearance:none;
}
.sp5-inp.err,.sp5-sel.err{ border-color:#e74c3c;background:#fff; }
.sp5-sel{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .85rem center;
  padding-right:2.2rem;
}

/* ── Error text ── */
.sp5-err{
  display:none;font-size:.76rem;color:#e74c3c;
  margin-top:.3rem;font-weight:600;
}
.sp5-err.show{ display:block; }

/* ── 2-column professional layout (5B) ── */
.sp5-2col{
  display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;
  margin-bottom:.5rem;
}
@media(max-width:600px){
  .sp5-2col{ grid-template-columns:1fr; }
}
.sp5-col-block{
  background:#f8f9fb;border-radius:14px;padding:1rem 1.1rem;
}
.sp5-col-hd{
  font-size:.72rem;font-weight:800;color:var(--teal);
  letter-spacing:.06em;margin-bottom:.9rem;
}

/* ── Compteur "personnes à charge" ── */
.sp5-counter{
  display:flex;align-items:center;justify-content:space-between;
  background:#F5F5F7;border-radius:14px;padding:.4rem .5rem;
}
.sp5-counter-btn{
  width:2.5rem;height:2.5rem;border-radius:50%;border:none;
  font-size:1.3rem;font-weight:600;cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .2s;font-family:inherit;line-height:1;
}
.sp5-counter-minus{ background:#E5E7EB;color:#6b7280; }
.sp5-counter-minus:disabled{ opacity:.5;cursor:default; }
.sp5-counter-plus{ background:var(--navy);color:#fff; }
.sp5-counter-val{ font-size:1.05rem;font-weight:700;color:var(--navy); }

/* ── Info-bulle (ex: précisions sur les revenus) ── */
.sp5-tip{
  display:flex;gap:.6rem;align-items:flex-start;
  background:#EEF2FF;border-radius:12px;
  padding:.85rem 1rem;margin:-.35rem 0 1rem;
  font-size:.82rem;line-height:1.4;color:#3949AB;
}
.sp5-tip-emoji{ font-size:1.05rem;flex-shrink:0;line-height:1.3; }

/* ── Consent checkboxes ── */
.sp5-consent-block{ margin:1rem 0; }
.sp5-check-item{
  display:flex;align-items:flex-start;gap:.7rem;
  margin-bottom:.6rem;cursor:pointer;
}
.sp5-check-item input[type="checkbox"]{
  display:none;
}
.sp5-check-box{
  width:22px;height:22px;min-width:22px;border-radius:7px;
  border:1.5px solid #ccc;background:#fff;margin-top:.1rem;
  transition:border-color .18s,background .18s,box-shadow .18s;position:relative;
  box-shadow:0 1px 2px rgba(1,0,53,.05);
}
.sp5-check-item:hover .sp5-check-box{ border-color:var(--teal); }
.sp5-check-item input:checked + .sp5-check-box{
  background:var(--teal);border-color:var(--teal);
  box-shadow:0 2px 6px rgba(226,90,54,.35);
}
.sp5-check-item input:checked + .sp5-check-box::after{
  content:'';position:absolute;top:50%;left:50%;
  width:12px;height:12px;transform:translate(-50%,-55%) scale(0);
  background-color:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:sp5CheckPop .22s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes sp5CheckPop{
  0%{ transform:translate(-50%,-55%) scale(0); }
  100%{ transform:translate(-50%,-55%) scale(1); }
}
.sp5-check-txt{
  font-size:.82rem;color:#555;line-height:1.5;
}

/* ── Document section ── */
.sp5-doc-section{ margin-bottom:1.3rem; }
.sp5-doc-sec-lbl{
  font-size:.82rem;font-weight:700;color:var(--navy);margin-bottom:.6rem;
}

/* ── Doc tabs (CNI / Passeport / Permis) ── */
.sp5-doc-tabs{
  display:flex;gap:.35rem;margin-bottom:.9rem;
  border-bottom:2px solid #eee;padding-bottom:.5rem;
  flex-wrap:nowrap;overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.sp5-doc-tabs::-webkit-scrollbar{display:none;}
.sp5-doc-tab{
  padding:.38rem .65rem;border-radius:2rem;border:1.5px solid #ddd;
  background:#fff;font-size:.78rem;font-weight:700;color:#666;
  cursor:pointer;transition:all .2s;font-family:inherit;
  white-space:nowrap;flex-shrink:0;
}
.sp5-doc-tab.active{
  background:var(--navy);border-color:var(--navy);color:#fff;
}

/* ── Document panels ── */
.sp5-doc-panel{ }
.sp5-doc-panel-hide{ display:none; }

/* ── Upload grid (CNI recto+verso) ── */
.sp5-upload-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:.8rem;
}
@media(max-width:420px){
  .sp5-upload-grid{ grid-template-columns:1fr; }
}

/* ── Upload item ── */
.sp5-upload-item{
  border:2px dashed #ddd;border-radius:14px;
  padding:1.1rem .8rem;text-align:center;
  background:#fafafa;transition:border-color .2s,background .2s;
}
.sp5-upload-item.has-file{
  border-color:var(--teal);background:#fcedf0;border-style:solid;
}
.sp5-upload-lbl{
  font-size:.85rem;font-weight:700;color:var(--navy);margin-bottom:.2rem;
}
.sp5-upload-sub{ font-size:1rem;color:#888;margin-bottom:.65rem; }
.sp5-upload-name{
  font-size:.75rem;color:var(--teal);font-weight:600;
  margin-top:.3rem;word-break:break-all;
}

/* ── Choisir button — simple lien, sans fond ── */
.sp5-choisir{
  background:none;color:var(--navy);border:none;
  padding:.3rem .2rem;font-size:.85rem;font-weight:700;
  font-family:inherit;cursor:pointer;
  transition:color .2s;
}
@media(hover:hover){ .sp5-choisir:hover{ color:var(--teal); } }
.sp5-upload-item.has-file .sp5-choisir{
  color:var(--teal);
}

/* ── Hidden file input ── */
.sp5-file-inp{ display:none !important; }

/* ── Spinner générique au clic sur les boutons d'action du site : le
   texte/l'icône du bouton est masqué (sans changer sa taille) et un
   anneau tournant est superposé, en blanc pour les boutons à fond plein
   (coral/navy) et en navy pour les boutons à contour (.btn-loading-outline),
   afin de rester visible dans les deux cas. ── */
.btn-loading{position:relative!important;color:transparent!important;pointer-events:none!important;}
.btn-loading::after{
  content:"";position:absolute;top:50%;left:50%;
  width:1.15em;height:1.15em;margin:-.575em 0 0 -.575em;
  border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;
  border-radius:50%;
  animation:fidBtnSpin .7s linear infinite;
}
.btn-loading.btn-loading-outline::after{
  border-color:rgba(12,45,94,.2);border-top-color:var(--navy);
}
@keyframes fidBtnSpin{to{transform:rotate(360deg)}}

/* ── Navigation buttons ── */
.sp5-nav{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:1.4rem;padding-top:1rem;border-top:1px solid #eee;
  gap:.8rem;
}
.sp5-back-btn{
  padding:.75rem 1.3rem;border-radius:2rem;
  border:2px solid var(--navy);background:#fff;
  font-size:.9rem;font-weight:700;color:var(--navy);
  cursor:pointer;font-family:inherit;transition:all .2s;
  white-space:nowrap;
}
.sp5-back-btn:hover{ background:var(--navy);color:#fff; }
.sp5-cont-btn{
  flex:1;padding:.78rem 1.6rem;border-radius:2rem;
  background:#d13624;color:#fff;border:none;
  font-size:.9rem;font-weight:700;font-family:inherit;
  cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;
}
.sp5-cont-btn:hover{ background:#ae2d1e; }
/* État "en attente" : grisé tant que les champs de l'étape ne sont pas
   tous remplis, puis coloré dès que le client a fini de renseigner les
   informations — retour visuel immédiat, sans attendre le clic. */
.sp5-cont-btn:not(.ready),.sp5-send-btn:not(.ready){
  background:#E5E7EB;color:#9CA3AF;cursor:default;
}
@media(hover:hover){
  .sp5-cont-btn:not(.ready):hover,.sp5-send-btn:not(.ready):hover{background:#E5E7EB}
}
/* Desktop: navigation en flux normal, centrée (évite tout chevauchement
   avec le dernier bloc de contenu, ex. Justificatif de revenus) */
@media(min-width:760px){
  .sp5-nav{
    justify-content:space-between;gap:1.5rem;
    margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid #eee;
  }
  .sp5-cont-btn,.sp5-send-btn{flex:none;min-width:200px}
  /* Étape sans bouton Retour : l'action reste alignée à droite */
  .sp5-nav .sp5-cont-btn:only-child,
  .sp5-nav .sp5-send-btn:only-child{margin-left:auto}
  .sim-body{padding-bottom:2.5rem}
  .sp5-consent-block{margin-bottom:2rem}
  .sp5-title{text-align:center}
}
.sp5-send-btn{
  padding:.82rem 1.6rem;border-radius:2rem;
  background:#d13624;color:#fff;border:none;
  font-size:.95rem;font-weight:800;font-family:inherit;
  cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;
  letter-spacing:.01em;
}
.sp5-send-btn:hover{ background:#ae2d1e; }
.sp5-arr,.sp5-arr-l{ display:none; }

/* ══════════════════════════════════════════
   SP5 — Écran de confirmation professionnel
══════════════════════════════════════════ */
.sp5-confirm-wrap{
  padding:1rem 0 2rem;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
}
/* Écran "dossier déjà existant" : plus court que la confirmation normale
   (pas de timeline en 6 étapes) et, plus généralement, toute étape dont
   le contenu tient déjà dans la hauteur visible — centrée verticalement
   pour éviter le grand vide sous le contenu qui donne l'impression
   trompeuse qu'il reste quelque chose à découvrir plus bas (et déclenche
   au passage l'indicateur/rebond de scroll natif sur iOS). Classe posée
   dynamiquement par simSyncBodyFit() (script.js), pas en dur ici. */
.sim-body.sim-body-fit{
  display:flex;flex-direction:column;justify-content:center;
}
.sim-body.sim-body-fit .sp5-confirm-wrap{
  padding-top:0;padding-bottom:0;
}
.sp5-confirm-check{
  width:64px;height:64px;margin:0 auto 1rem;
}
.sp5-confirm-check svg{ width:100%;height:100%; }
.sp5-confirm-hey{
  font-size:.9rem;color:#888;margin-bottom:.3rem;
}
.sp5-confirm-title{
  font-size:1.4rem;font-weight:800;color:var(--navy);
  margin:0 0 1.3rem;
  font-family:'Montserrat',Arial,sans-serif;
}
/* Encadré numéro de dossier */
.sp5-confirm-ref-box{
  width:100%;background:linear-gradient(135deg,#fcedf0 0%,#efd1c9 100%);
  border:1.5px solid var(--teal);border-radius:14px;
  padding:1rem 1.2rem;margin-bottom:1.5rem;
  display:flex;flex-direction:column;gap:.25rem;
  box-shadow:0 4px 16px rgba(226,90,54,.1);
}
.sp5-confirm-ref-lbl{
  font-size:.72rem;font-weight:700;color:var(--teal);
  text-transform:uppercase;letter-spacing:.08em;
}
.sp5-confirm-ref-num{
  font-size:1.15rem;font-weight:900;color:var(--navy);
  letter-spacing:.06em;font-variant-numeric:tabular-nums;
}
.sp5-confirm-ref-date{
  font-size:.75rem;color:#888;
}
/* Encart : invite le client à se connecter à son espace pour échanger
   avec un conseiller et suivre l'avancée de son dossier. */
.sp5-confirm-advisor-box{
  width:100%;display:flex;align-items:center;gap:.9rem;
  background:linear-gradient(135deg,#f5f7fb 0%,#eef1f8 100%);
  border:1.5px solid #dfe4ee;border-radius:14px;
  padding:1rem 1.2rem;margin-bottom:1.3rem;
  text-align:left;
}
.sp5-confirm-advisor-box svg{
  width:28px;height:28px;flex-shrink:0;color:var(--teal);
}
.sp5-confirm-advisor-box p{
  margin:0;font-size:.82rem;line-height:1.5;color:#4a4f5c;
}
/* Note email */
.sp5-confirm-email-note{
  font-size:.78rem;color:#aaa;margin-bottom:1.2rem;
  padding:0 1rem;
}
/* Écran "dossier déjà existant" : le message d'accueil et le texte
   explicatif sont le contenu principal de cet écran (contrairement à
   confirm_email_note, une simple note secondaire ailleurs) — ils doivent
   donc rester dans une taille et une couleur confortablement lisibles,
   pas dans le style discret d'une note de bas de page. */
.sp5-dup-hey{ font-size:1rem;color:#555; }
.sp5-dup-body{
  font-size:.92rem;color:#444;line-height:1.55;
  margin-bottom:1.2rem;padding:0 1rem;
}
/* Bouton fermer */
.sp5-confirm-close{
  background:#d13624;color:#fff;border:none;
  border-radius:2rem;padding:.8rem 2.2rem;
  font-size:.95rem;font-weight:700;font-family:inherit;
  cursor:pointer;transition:background .2s;
}
.sp5-confirm-close:hover{ background:#ae2d1e; }

/* ── Section mot de passe espace client (sp5d) ── */
.sp5-pwd-hint{
  font-size:.82rem;color:#6b7280;margin:.05rem 0 .8rem;line-height:1.45;
}
.sp5-pwd-row{ display:flex;flex-direction:column;gap:.5rem; }
.sp5-pwd-wrap{ position:relative; }
.sp5-pwd-wrap .sp5-inp{ padding-right:2.8rem; }
.sp5-eye-btn{
  position:absolute;right:.75rem;top:50%;transform:translateY(-50%);
  background:none;border:none;padding:0;cursor:pointer;
  color:#9ca3af;display:flex;align-items:center;opacity:.7;
  transition:opacity .2s;
}
.sp5-strength-bar{height:4px;border-radius:2px;background:#e0e0e0;margin:.4rem 0 .2rem;overflow:hidden}
.sp5-strength-fill{height:100%;border-radius:2px;width:0;transition:width .25s,background .25s}
.sp5-eye-btn:hover{ opacity:1;color:var(--navy); }
.sp5-pwd-strength{
  display:flex;gap:4px;margin-top:.1rem;
}
.sp5-pwd-strength span{
  flex:1;height:4px;border-radius:4px;background:#e4e7ec;transition:background .25s;
}
.sp5-pwd-strength.weak span:first-child{ background:#ef4444; }
.sp5-pwd-strength.medium span:first-child,
.sp5-pwd-strength.medium span:nth-child(2){ background:#f59e0b; }
.sp5-pwd-strength.strong span{ background:var(--teal); }
/* CTA primaire confirmation — même style navy que les autres boutons du site */
.sp5-confirm-cta{
  display:block;text-align:center;text-decoration:none;
}

/* ══════════════════════════════════════════════════════════
   AMÉLIORATIONS DESKTOP — MISE EN PAGE PROFESSIONNELLE
══════════════════════════════════════════════════════════ */

/* ── Hero accueil : H1 taille mobile ── */
.hero-banner h1{color:#0d2748;font-size:1.65rem;font-weight:700;line-height:1.25}

/* ── Hero desktop : couleur sombre lisible sur fond bleu clair ── */
@media(min-width:700px){
  .hero-upper-inner{justify-content:flex-start}
  .hero-text-col{flex:none;text-align:left;max-width:440px}
  .hero-upper-inner .hero-text-col h1{color:#fff;font-size:2.5rem;line-height:1.15;font-weight:700}
  .hero-upper-inner .hero-text-col .hero-sub{color:rgba(255,255,255,.85);font-size:1rem;line-height:1.65}
}

/* ── Avantages accueil : 4 colonnes sur grand écran ── */
@media(min-width:1100px){
  .av-grid{grid-template-columns:repeat(4,1fr);gap:1.4rem}
}

/* ── Footer desktop : logo + colonnes toujours ouvertes (référence Hello bank) ── */
@media(min-width:960px){
  .footer{padding:1.6rem 2rem calc(2rem + env(safe-area-inset-bottom))}
  .ft-card{
    max-width:1600px;margin:0 auto;
    padding:2.6rem 2.5rem 1.6rem;
    grid-template-columns:max-content 1fr;
    grid-template-areas:
      "logo nav"
      "lang legal"
      "mention mention";
    column-gap:3rem;
  }
  .ft-lang-section{
    padding:.9rem 0 1.1rem;justify-content:flex-start;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .ft-legal-item .ft-nav-btn{display:none}
  .ft-legal{
    display:flex !important;
    flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;
    border-top:none;gap:.6rem 2rem;padding:.9rem 1.5rem 1.1rem;
  }
  .ft-legal a{display:inline;width:auto;padding:0;font-size:.78rem;font-weight:400}
  .ft-legal a:not(:last-child)::after{content:'\00B7';display:inline-block;margin:0 .5rem;color:rgba(255,255,255,.7);font-size:1.3rem;font-weight:700;line-height:0;vertical-align:middle}
  .ft-logo{padding:0;align-items:flex-start;justify-content:flex-start}
  .ft-logo-certs-label{text-align:left}
  .ft-logo-certs{justify-content:flex-start}
  .ft-logo-certs img{height:46px}
  .footer .ft-nav{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0 2.5rem;
    padding:0;
  }
  .footer .ft-nav-item{border-bottom:none}
  .footer .ft-nav-btn{
    display:block;
    font-size:.85rem;font-weight:800;
    letter-spacing:.01em;text-transform:none;
    padding:0 0 .9rem;
    border:none;border-bottom:1px solid rgba(255,255,255,.12);
    pointer-events:none;cursor:default;
    background:none;color:#fff;
    text-align:left;width:100%;
    justify-content:flex-start;
  }
  .footer .ft-nav-item:last-child .ft-nav-btn{
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .footer .ft-chev{display:none}
  .footer .ft-acc-list{
    display:block !important;
    padding:0;margin-top:.7rem;
  }
  .footer .ft-acc-list li a{
    padding:.38rem 0;font-size:.84rem;
    color:rgba(255,255,255,.75);
  }
  .footer .ft-legal{padding-top:1.6rem;margin-top:.8rem}
}

/* ── Hero produit desktop : 3 colonnes (texte | image | taux) ── */
@media(min-width:960px){
  .prod-hero{
    padding:4rem 0;
    background-image:linear-gradient(to right,#a8d8ec 0%,#c5e8f5 32%,rgba(197,232,245,.5) 54%,transparent 72%);
    background-color:#e8f5fb;
    margin:1.5rem 2rem 0;
    border-radius:20px;
  }

  /* 2 colonnes : texte | image (sans carte taux) */
  .prod-hero .inner{
    display:flex !important;
    flex-direction:row;
    align-items:center;
    gap:3rem;
  }
  /* Bloc texte */
  .prod-hero-text{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }
  .prod-hero-text .prod-hero-eyebrow{
    background:none;color:#1a5c7a;
    font-size:.95rem;font-weight:700;
    padding:0;border-radius:0;letter-spacing:.01em;
    margin-bottom:.5rem;display:block;
  }
  .prod-hero-text h1{font-size:2.4rem;margin-bottom:1.2rem;color:#0a2040}
  .prod-hero-text .prod-hero-note{color:rgba(10,32,64,.6)}
  .prod-hero-text .prod-hero-avis-txt{color:rgba(10,32,64,.75)}
  .prod-hero-text .btn-prim{display:inline-block;width:auto}
@media(max-width:699px){.prod-hero .btn-prim{display:none}}
.prod-sticky-cta{display:none}
@media(max-width:699px){
  .prod-sticky-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:900;padding:.85rem 1.2rem;background:#fff;box-shadow:0 -2px 12px rgba(0,0,0,.1);transform:translateY(100%);transition:transform .3s ease;pointer-events:none}
  .prod-sticky-cta.visible{transform:translateY(0);pointer-events:auto}
  .prod-sticky-cta .btn-prim{width:100%;text-align:center;display:block;padding:1rem;font-size:1rem;font-weight:700;border-radius:2rem;background:#d13624;color:#fff;border:none;cursor:pointer;font-family:inherit;box-shadow:0 4px 14px rgba(209,54,36,.3)}
}
  .prod-hero-text .prod-hero-note{margin-top:.8rem}
  .prod-hero-text .prod-hero-avis{margin-top:.6rem}

  /* Image */
  .prod-hero-img-wrap{
    flex:0 0 48%;
    height:420px;
    border-radius:28px;
    overflow:hidden;
    background:#f0f0f0;
    box-shadow:0 16px 48px rgba(0,0,0,.13);
    display:block;
    margin:0;
    padding-top:0;
    width:auto;
    order:0;
  }
  .prod-hero-img{
    width:100%;height:100%;
    object-fit:cover;object-position:center;
    position:static;
  }

  /* Carte taux — blanche sur fond gradient (style homepage) */
  .prod-hero .prod-hero-rate{
    display:block;
    flex:0 0 200px;
    align-self:flex-start;
    background:#fff;
    border:none;border-radius:14px;
    max-width:none;padding:0;
    box-shadow:0 8px 32px rgba(0,0,0,.15);
  }
  .prod-hero .prod-hero-rate .prod-hero-rate-inner{padding:1.3rem 1.4rem 1.2rem}
  .prod-hero .prod-hero-rate::before{
    background:var(--teal);color:#fff;
    border-radius:14px 14px 0 0;font-size:.72rem;font-weight:700;
    letter-spacing:.04em;text-transform:uppercase;
  }
  .prod-hero .prod-hero-rate .prod-hero-rate-num{color:var(--navy)}
  .prod-hero .prod-hero-rate .prod-hero-rate-pct{color:var(--navy)}
  .prod-hero .prod-hero-rate .prod-hero-rate-lab{color:#555}
  .prod-hero .prod-hero-rate .prod-hero-rate-info{border-top:1px solid #e4ecf2}
  .prod-hero .prod-hero-rate .prod-hero-rate-info span{color:#666;font-size:.8rem}
}

.page:has(.prod-hero) .editorial.inner{margin-top:2rem!important}
@media(min-width:960px){.page:has(.prod-hero) .editorial.inner{margin-top:3rem!important}}

/* ── Sections produit desktop ── */
@media(min-width:960px){
  .editorial.inner,
  .prod-avantages.inner,
  .prod-caract-wrap.inner,
  .prod-documents-wrap.inner,
  .prod-etapes.inner,
  .prod-eligibilite-wrap.inner,
  .prod-audience.inner,
  .prod-exemple-wrap.inner,
  .prod-faq.inner,
  .prod-mention-reg.inner,
  .prod-cta.inner{max-width:1040px}
  .editorial h2,
  .prod-caract-wrap h2,
  .prod-etapes h2,
  .prod-eligibilite-wrap h2,
  .prod-documents-wrap h2,
  .prod-avantages h2,
  .prod-faq h2{font-size:1.65rem;margin-bottom:1.5rem}
  .editorial p{font-size:1rem;line-height:1.9}
  .prod-caract-wrap{padding:1.5rem}
  .caract-table td{padding:.9rem 1.2rem;font-size:1rem}
  .prod-avantages{padding-top:2rem;padding-bottom:2rem}
}
.sp5-confirm-secondary:hover{ color:var(--navy); }

/* ── Steps section : infographie "Comment souscrire un crédit Sodefina" ── */
.steps-section{background:#fff;padding:3.5rem 1.5rem}
.steps-section .wrap{max-width:1440px}
.steps-title{text-align:left;font-size:clamp(1.375rem,3vw,2rem);font-weight:800;letter-spacing:-.3px;color:#0a0a35;text-transform:uppercase;line-height:1.2;margin:0 0 2.75rem}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem 1.25rem;align-items:start;max-width:none;margin:0}
.step-item{display:flex;flex-direction:column;align-items:center;gap:1.6rem;text-align:center}
.step-icon-wrap{position:relative;width:100%;max-width:200px;aspect-ratio:1.3;display:flex;align-items:center;justify-content:center}
.step-icon-blob{position:absolute;inset:8% 4%;background:#f0f0f2}
.step-num{position:absolute;left:4%;top:0;width:32px;height:32px;border-radius:50%;background:#e2001a;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(226,0,26,.35);z-index:2;color:#fff;font-family:'Montserrat',Arial,sans-serif;font-weight:800;font-size:.95rem}
.step-icon-wrap svg{position:relative;z-index:1;height:auto}
.step-desc{font-size:1rem;color:#1a1a2e;line-height:1.5;margin:0;max-width:280px}

/* ── CTA strip (remplace section besoin-credit) ── */
.cta-strip{background:var(--navy);padding:3.5rem 1.5rem}
.cta-strip-inner{
  max-width:880px;margin:0 auto;
  display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;
}
.cta-strip h2{color:#fff;font-size:1.35rem;font-weight:700;line-height:1.3;text-align:center}
.cta-strip p{color:rgba(255,255,255,.72);font-size:1rem;line-height:1.7;margin-top:.4rem}
.cta-strip-btn{
  display:inline-block;width:auto;
  padding:.78rem 2.2rem;font-size:.95rem;
  border-radius:2rem;flex-shrink:0;
}
@media(min-width:700px){
  .cta-strip-inner{flex-direction:row;align-items:center;gap:3rem}
  .cta-strip-inner>div{flex:1}
}

/* ── FAQ : lien texte propre (remplace btn-orange) ── */
.faq-more{margin-top:1.4rem}
.faq-more-link{
  display:inline-block;
  background:#d13624;color:#fff;
  font-size:.92rem;font-weight:700;
  text-decoration:none;
  border-radius:2rem;
  border:2px solid #d13624;
  padding:.75rem 2rem;
  transition:background .15s, border-color .15s;
}
.faq-more-link:hover{background:#ae2d1e;border-color:#ae2d1e}


/* ══════════════════════════════════════════════════════════
   SÉLECTEUR DE LANGUE (i18n)
══════════════════════════════════════════════════════════ */
.lang-switcher{
  position:relative;
  display:none;
}
@media(min-width:960px){
  .lang-switcher{display:block}
}
.lang-switcher-btn{
  display:flex;align-items:center;gap:.35rem;
  background:none;border:1px solid rgba(0,0,0,.15);border-radius:2rem;
  padding:.35rem .75rem;font-family:inherit;font-size:.78rem;font-weight:600;
  color:var(--navy);cursor:pointer;white-space:nowrap;
}
@media (hover:hover){ .lang-switcher-btn:hover{border-color:var(--teal);color:var(--teal)} }
.lang-switcher-btn[aria-expanded="true"]{
  border-color:var(--teal);background:rgba(0,168,151,.06);
}
.lang-current{max-width:90px;overflow:hidden;text-overflow:ellipsis}
.lang-dropdown{
  display:none;
  position:absolute;top:calc(100% + .5rem);right:0;z-index:2000;
  background:#fff;border:1px solid #e0e0e0;border-radius:.75rem;
  box-shadow:0 8px 32px rgba(0,0,0,.14);
  min-width:160px;padding:.4rem 0;
}
.lang-dropdown.open{display:block}
.lang-opt{
  display:block;padding:.55rem 1.1rem;font-size:.85rem;font-weight:500;
  color:#333;white-space:nowrap;transition:background .1s,color .1s;
  text-decoration:none;
}
@media (hover:hover){ .lang-opt:hover{background:rgba(0,168,151,.08);color:var(--teal)} }
.lang-opt--active{
  color:var(--teal);font-weight:700;
  background:rgba(0,168,151,.06);
}
/* Mobile lang switcher inside mobile menu */
.mob-lang-section{
  padding:.75rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);
  display:flex;flex-wrap:wrap;gap:.4rem;
}
.mob-lang-btn{
  display:inline-flex;align-items:center;
  padding:.4rem .75rem;border-radius:2rem;
  border:1px solid rgba(255,255,255,.2);
  font-size:.78rem;font-weight:600;color:rgba(255,255,255,.7);
  background:none;font-family:inherit;cursor:pointer;
  text-decoration:none;transition:border-color .15s,color .15s;
}
.mob-lang-btn--active{
  border-color:var(--teal);color:var(--teal);
}
@media (hover:hover){ .mob-lang-btn:hover{border-color:var(--teal);color:var(--teal)} }

/* ── Sélecteur de langue — premium fintech ── */
.mob-lang-row{
  padding:1rem 1.1rem 1.25rem;
  border-top:1px solid #F3F4F6;
}
.mob-lang-select-wrap{position:relative}

/* Champ fermé — hauteur 56px, fond blanc, bordure discrète */
.mob-lang-select-btn{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;height:56px;padding:0 1.1rem;
  background:#fff;
  border:1.5px solid #E5E7EB;
  border-radius:14px;
  font-size:.9rem;font-weight:500;color:#111827;
  cursor:pointer;font-family:inherit;text-align:left;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
@media (hover:hover){
  .mob-lang-select-btn:hover{
    border-color:#9CA3AF;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
  }
}
.mob-lang-select-btn:focus-visible{
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(0,168,151,.15);
}
.mob-lang-select-btn[aria-expanded="true"]{
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(0,168,151,.12);
}
.mob-lang-select-left{
  display:flex;align-items:center;gap:.65rem;
}
.mob-lang-select-left svg{
  color:#6B7280;flex-shrink:0;
}
.mob-lang-select-btn-chevron{
  color:#9CA3AF;flex-shrink:0;
}
.mob-lang-select-btn[aria-expanded="true"] .mob-lang-select-btn-chevron{
  transform:rotate(180deg);
}

/* Dropdown — inline, pas absolu, s'intègre dans le flux du menu */
.mob-lang-dropdown{
  position:static;
  margin-top:6px;
  z-index:3000;
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:14px;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  overflow:hidden;
  display:none;
}
.mob-lang-dropdown.open{
  display:block;
}

/* Options */
.mob-lang-opt{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 1.1rem;height:48px;
  font-size:.88rem;font-weight:400;color:#374151;
  text-decoration:none;
  border-bottom:1px solid #F9FAFB;
  transition:background .1s;
  letter-spacing:.01em;
}
.mob-lang-opt:last-child{border-bottom:none}
@media (hover:hover){ .mob-lang-opt:hover{background:#F9FAFB;color:#111827} }
.mob-lang-opt--active{
  color:#111827;font-weight:600;
  background:#efd1c9;
}
.mob-lang-opt-check{
  display:none;
  color:var(--teal);
  font-size:.9rem;font-weight:700;
}
.mob-lang-opt--active .mob-lang-opt-check{display:block}

/* ── Footer — bouton langue + modal Revolut ── */
.ft-lang-section{
  grid-area:lang;
  padding:.9rem 1.5rem;
  display:none;justify-content:center;
}
.ft-lang-label{display:none}
/* Pages "app" (espace client, suivi de dossier…) : pas de footer → on masque
   le sélecteur de langue flottant qui apparaissait seul au milieu de la page */
.ec-body .ft-lang-section,
.ec-body .ft-lang-panel{ display:none !important; }
/* Plat, discret, intégré au footer — bouton personnalisé (drapeau rond + libellé) */
.ft-lang-trigger{
  display:inline-flex;align-items:center;gap:.45rem;
  background-color:transparent;border:none;box-shadow:none;outline:none;
  padding:.3rem 1.1rem .3rem .2rem;
  font-family:inherit;font-size:.78rem;font-weight:600;color:rgba(1,0,53,.75);
  cursor:pointer;transition:opacity .15s;
}
@media (hover:hover){ .ft-lang-trigger:hover{opacity:.65} }
.ft-lang-trigger-flag{
  width:16px;height:16px;border-radius:50%;
  overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:#F3F4F6;
}
.ft-lang-trigger-flag img{ width:24px;height:24px;object-fit:cover; }
.ft-lang-trigger-chevron{ flex-shrink:0;color:#6b7280; }

/* Ancré en bas près du lien "Langue" du footer — pas de modal centré (référence Revolut) */
.ft-lang-panel{
  display:none;
  position:fixed;inset:0;z-index:9990;
  background:rgba(1,0,53,.45);
  align-items:flex-end;justify-content:center;
  padding:0 1rem 6vh;
}
.ft-lang-panel.open{display:flex}
.ft-lang-panel-inner{
  background:#fff;
  border-radius:24px;
  width:100%;max-width:400px;
  max-height:80vh;
  display:flex;flex-direction:column;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(1,0,53,.28);
}
/* Mobile : bottom-sheet plein-largeur — hauteur au contenu (8 langues) */
@media(max-width:699px){
  .ft-lang-panel{padding:0}
  .ft-lang-panel-inner{
    max-width:100%;width:100%;
    border-radius:20px 20px 0 0;
  }
  .ft-lang-panel-inner::before{
    content:"";
    display:block;flex-shrink:0;
    width:36px;height:4px;margin:.7rem auto 0;
    border-radius:2px;background:rgba(1,0,53,.15);
  }
}
/* En-tête */
.ft-lang-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.3rem 1.1rem 1.3rem 1.4rem;
  border-bottom:1px solid #F4F6F8;
  flex-shrink:0;
}
.ft-lang-panel-title{
  font-size:1.05rem;font-weight:700;color:var(--navy);
  margin:0;
  font-family:'Montserrat',Arial,sans-serif;
}
.ft-lang-panel-close{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:32px;height:32px;border-radius:50%;
  background:#F3F4F6;border:none;color:#6B7280;cursor:pointer;
}
@media (hover:hover){ .ft-lang-panel-close:hover{background:#E5E7EB;color:#111827} }
/* Barre de recherche */
.ft-lang-search-wrap{
  padding:1rem 1.1rem .6rem;
  flex-shrink:0;
}
.ft-lang-search{
  display:flex;align-items:center;gap:.6rem;
  background:#F3F4F6;border-radius:2rem;
  padding:.7rem 1.1rem;
}
.ft-lang-search svg{color:#6b7280;flex-shrink:0}
.ft-lang-search input{
  border:none;background:none;outline:none;
  font-size:.92rem;color:#111827;width:100%;
  font-family:inherit;
}
.ft-lang-search input::placeholder{color:#9CA3AF}
/* Liste scrollable */
.ft-lang-list{
  overflow-y:auto;
  flex:1;
  padding:.3rem 0 .5rem;
}
.ft-lang-list-item{
  display:flex;align-items:center;gap:1rem;
  padding:0 1.4rem;height:58px;
  text-decoration:none;
  border-bottom:1px solid #F4F6F8;
  transition:background .15s;
}
.ft-lang-list-item:last-child{border-bottom:none}
@media (hover:hover){ .ft-lang-list-item:hover{background:#F9FAFB} }
.ft-lang-list-item--active{background:#F4F9FF}
.ft-lang-list-flag{
  width:36px;height:36px;border-radius:50%;
  overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:#F3F4F6;
  box-shadow:0 1px 4px rgba(1,0,53,.12);
}
.ft-lang-list-flag img{
  width:54px;height:54px;object-fit:cover;
}
.ft-lang-list-name{
  font-size:1.06rem;font-weight:500;color:#2E3440;flex:1;
}
.ft-lang-list-item--active .ft-lang-list-name{font-weight:600;color:var(--navy)}
.ft-lang-list-check{
  display:none;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  background:#0A5CFF;color:#fff;flex-shrink:0;
}
.ft-lang-list-check svg{width:14px;height:14px}
.ft-lang-list-item--active .ft-lang-list-check{display:flex}
.mob-lang-opt-name{flex:1}

/* Select natif nationalité sur mobile */
.sp5-nat-native{
  width:100%;border:1.5px solid #ddd;border-radius:10px;
  padding:.72rem .9rem;font-size:.95rem;font-family:inherit;
  color:#111;background:#fff;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;
  padding-right:2.2rem;
}
.sp5-nat-native:focus{border-color:#e25a36;outline:none}


/* ── Toast confirmation contact ── */
.cf-toast-overlay{
  display:none;position:fixed;inset:0;z-index:9997;
  background:rgba(0,0,0,.35);
}
.cf-toast-overlay.show{display:block}
.cf-toast{
  position:fixed;top:50%;left:50%;z-index:9998;
  transform:translate(-50%,-50%) scale(.92);
  opacity:0;
  background:#fff;border-radius:16px;
  padding:36px 32px 28px;
  width:min(88vw,420px);
  box-shadow:0 12px 48px rgba(0,0,0,.22);
  display:flex;flex-direction:column;align-items:center;gap:16px;
  text-align:center;
  transition:opacity .25s ease, transform .25s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.cf-toast.show{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}
.cf-toast-icon{
  width:56px;height:56px;
  background:#e25a36;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.cf-toast-msg{font-size:1rem;color:#222;line-height:1.6;font-weight:500}
.cf-toast-close{
  margin-top:4px;background:#f5f5f5;border:none;border-radius:50px;
  color:#333;font-size:.9rem;font-weight:600;cursor:pointer;
  padding:10px 28px;
}
.cf-toast-close:hover{background:#e8e8e8}

/* ═══════════════════════════════════════════════════════════════════
   ROBUSTESSE MULTILINGUE — le français reste la référence visuelle.
   Le texte traduit (de, nl, pl, es, it, sv…), souvent plus long que le
   français, s'adapte au lieu de déborder ou de casser la mise en page.
   Ces règles NE CHANGENT PAS la police, la taille, la graisse, le
   line-height ni les espacements. Elles n'affectent que du texte qui
   dépasserait la largeur — donc le rendu français (plus court) est
   inchangé. Valable pour toutes les langues actuelles et futures.
   ═══════════════════════════════════════════════════════════════════ */

/* 1) Coupe proprement un mot trop long au lieu de le laisser déborder.
      Additif : sans effet sur un texte qui tient déjà (français). */
.prod-item-title,
.ed-proj-card span, .trust-item p,
.cof-proj-select, .cof-step-lbl, .cof-cta-btn,
.sim-title, .sim-proj-card, .sp4-h1,
.btn-teal, .hsc-btn, .sp4-cta, .sp4-back-btn, .sim-bb-next,
.con-card h2, .con-card p, .cf-label, .cf-modal-title,
.mob-nav-link, .sub-menu li a, .footer a,
.hero-promo-card, .hero-sim-card {
  overflow-wrap: break-word;
}

/* 2) Libellés courts qui étaient forcés sur une seule ligne
      (white-space:nowrap) et débordaient en allemand → autorisés à
      revenir à la ligne. En français ces libellés tiennent déjà,
      donc le rendu reste identique. */
.trust-item p { white-space: normal; }
.ed-proj-card span { white-space: normal; }

/* ═══════════════════════════════════════════════════════════════════
   TAILLE DES TITRES DE PAGE — référence = titre "Simulez votre crédit
   en 2 étapes" (1.1rem, gras). Les titres héros gardent leur grande
   taille ; les titres des pages internes/produit sont ramenés à cette
   référence. Global à toutes les langues (CSS partagé), héros intacts.
   ═══════════════════════════════════════════════════════════════════ */
.pg-inner h2,
.pg-inner .steps-title,
.pg-inner .editorial h1, .pg-inner .editorial h2,
.pg-inner .inner-page h1 {
  font-size: 1.1rem;
}

/* ── Section Prémios / Récompenses & certifications (page Nous découvrir) ── */
.awards-list{
  display:flex;
  flex-direction:column;
  margin-top:1.4rem;
}
.award-item{
  display:flex;
  gap:1.3rem;
  align-items:flex-start;
  padding:1.4rem 0;
  border-bottom:1px solid #e7ebf0;
}
.award-item:last-child{border-bottom:none}
.award-badge-link{flex:0 0 auto;display:inline-flex;transition:transform .15s,opacity .15s}
@media (hover:hover){ .award-badge-link:hover{transform:translateY(-2px);opacity:.85} }
.award-badge{
  flex:0 0 auto;
  width:84px;height:84px;
  object-fit:contain;
}
.award-txt h3{
  font-size:1rem;font-weight:800;
  color:var(--navy);
  margin:.1rem 0 .45rem;
}
.award-txt p{
  font-size:1rem;line-height:1.55;
  color:#41505f;margin:0 0 .3rem;
}
.award-sites{font-weight:700;color:var(--navy);margin-top:.7rem!important}
.award-links{display:flex;flex-direction:column;gap:.1rem}
.award-links a{color:#0a8f81;text-decoration:underline;font-size:.92rem}
.awards-note{
  font-size:.82rem;font-style:italic;
  color:#7b8896;text-align:center;
  margin-top:1.6rem;
}
@media (min-width:700px){
  .award-badge{width:96px;height:96px}
  .award-txt p{font-size:.96rem}
}

/* ── Protection des images contre le téléchargement ── */
img{
  -webkit-user-drag:none;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
}

/* ── Page de recherche ── */
.srch-hero-plain{background:#fff;padding:1.8rem 0 .5rem}
.srch-hero-plain .inner{max-width:760px}
.srch-hero-plain h1{font-size:1.7rem;font-weight:700;text-align:left;margin-bottom:1.3rem}
.srch-hero-form{
  position:relative;width:100%;
}
.srch-hero-ico{
  position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);
  color:var(--navy);pointer-events:none;
}
.srch-hero-input{
  width:100%;padding:1rem 3rem 1rem 1.2rem;border-radius:10px;
  border:1.5px solid #d5dae2;font-size:1rem;font-family:inherit;background:#fff;color:var(--navy);
}
.srch-hero-input::placeholder{color:#8a93a6}
.srch-hero-input:focus{outline:none;border-color:var(--teal)}
.srch-hero-form:focus-within .srch-hero-ico{color:#6b7280}

.srch-quick{margin-top:1.3rem;text-align:center}
.srch-quick-lbl{display:block;font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.7rem}
.srch-quick-pills{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem 1.2rem}
.srch-pill{
  display:inline-block;color:var(--teal-d);font-size:.88rem;font-weight:700;
  text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s,color .15s;
}
.srch-pill:hover{color:var(--teal);text-decoration-color:var(--teal)}

.srch-wrap{padding:2rem 1rem 3.5rem;max-width:760px;margin:0 auto}
.srch-count{
  font-size:.92rem;font-weight:600;color:#5b6470;margin-bottom:.3rem;min-height:1.3em;
}
.srch-results{list-style:none;margin:0;padding:0}
.srch-results[hidden],.srch-empty[hidden]{display:none}
.srch-card{border-bottom:1px solid #ececf2}
.srch-card-link{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.15rem .1rem;text-decoration:none;
}
.srch-card-text{min-width:0;display:flex;flex-direction:column;gap:.25rem}
.srch-card-title{display:block;font-weight:700;color:var(--navy);font-size:1.02rem;line-height:1.35;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s}
.srch-card-desc{display:block;font-size:1rem;color:#5b6470;line-height:1.4}
.srch-card-chev{font-size:1.4rem;color:#6b7280;flex-shrink:0;line-height:1}
.srch-card-link:hover .srch-card-title{color:var(--teal-d);text-decoration-color:var(--teal-d)}
.srch-card-link:hover .srch-card-chev{color:#6b7280}

.srch-empty{text-align:center;padding:1.6rem 1rem 2.2rem}
.srch-empty-title{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:.4rem;font-family:'Montserrat',Arial,sans-serif}
.srch-empty-sub{font-size:1rem;color:#5b6470;line-height:1.5}

.srch-suggest{margin-top:.8rem}
.srch-suggest-title{font-size:.85rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#8a93a6;margin-bottom:.2rem;font-family:'Montserrat',Arial,sans-serif}
.srch-suggest-grid{list-style:none;margin:0;padding:0}
.srch-suggest-card{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.15rem .1rem;border-bottom:1px solid #ececf2;text-decoration:none;
}
.srch-suggest-card-text{min-width:0;display:flex;flex-direction:column;gap:.25rem}
.srch-suggest-card-title{display:block;font-weight:700;color:var(--navy);font-size:1.02rem;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s;font-family:'Montserrat',Arial,sans-serif}
.srch-suggest-card-desc{display:block;font-size:1rem;color:#5b6470;line-height:1.4}
.srch-suggest-card:hover .srch-suggest-card-title{color:var(--teal-d);text-decoration-color:var(--teal-d)}
.srch-suggest-card:hover .srch-card-chev{color:#6b7280}

/* ── Restylisation des pages légales (hero plat + titres accentués) ── */
.prod-hero.legal-hero-v2{background:#fff;background-image:none;padding:1.6rem 0 1.2rem;margin:0;border-radius:0;box-shadow:none}
.legal-hero-v2 .inner{padding:0 1rem}
.legal-hero-v2 h1{font-size:1.7rem;font-weight:800;text-transform:uppercase;color:#111;letter-spacing:.01em;margin-bottom:0;padding-bottom:.85rem;position:relative;display:inline-block}
.legal-hero-v2 h1::after{content:'';position:absolute;left:0;bottom:0;width:90px;height:4px;background:#111}
@media(min-width:960px){.prod-hero.legal-hero-v2{padding:2.4rem 0 1.6rem}.legal-hero-v2 h1{font-size:2.4rem}}
.legal-restyle .legal-section h2{color:#e2001c;text-transform:uppercase;font-size:1.1rem;letter-spacing:.01em}
.legal-restyle .legal-section p{color:#1a1a1a}
.legal-restyle .legal-section ul li{color:#1a1a1a}
.legal-restyle .legal-section ul li::before{color:#e2001c}
.legal-restyle .legal-section{border-bottom:none}
.legal-restyle .legal-section a{border-bottom:none;text-decoration:underline;color:inherit}
.legal-section a[href^="mailto:"]{color:#0a8f81}
