/* ============================================================
   LAYOUT — Header, Footer, Nav (Redesign v4 "Mega-nav")
   ============================================================ */

/* ── HEADER ── */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:#ffffff;
  border-bottom:2px solid var(--navy);
  transition:box-shadow var(--t2);
}
.site-header.is-scrolled{box-shadow:0 4px 24px rgba(6,35,64,.15)}

/* Ancres du sous-menu "Nos crédits" : compenser le header sticky au scroll */
#pret-auto,#credit-travaux,#pret-etudiant,#pret-tresorerie,#pret-evenements,#rachat-credits{
  scroll-margin-top:96px;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:68px;
  gap:var(--s6);
}

/* ── LOGO ── */
.site-logo{
  display:flex;align-items:center;gap:var(--s3);
  font-family:var(--font-h);font-weight:900;
  font-size:var(--fs-md);color:var(--ink);
  flex-shrink:0;text-decoration:none;
  transition:opacity var(--t1);
}
.site-logo:hover{opacity:.8;color:var(--ink)}
.site-logo svg{color:var(--blue);width:26px;height:26px}

/* ── NAV PRINCIPALE ── */
.main-nav{
  display:flex;
  align-items:center;
  gap:var(--s1);
  flex:1;
  justify-content:center;
}
.nav-item{position:relative;display:flex}
.nav-link{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-h);
  font-size:var(--fs-sm);
  font-weight:600;
  color:var(--ink-2);
  padding:9px 12px;
  border-radius:var(--r-sm);
  transition:color var(--t1),background var(--t1);
  white-space:nowrap;
  text-decoration:none;
  border:none;background:none;cursor:pointer;
  font-size:var(--fs-sm);
}
.nav-link svg{width:16px;height:16px;flex-shrink:0;opacity:.6;transition:opacity var(--t1)}
.nav-link:hover{color:var(--navy);background:rgba(6,35,64,.06)}
.nav-link:hover svg{opacity:1}
.nav-link.is-active{color:var(--navy);background:rgba(6,35,64,.07);font-weight:700}
.nav-link.is-active svg{opacity:1;color:var(--orange)}

/* ── SOUS-MENU "NOS CRÉDITS" (mega-menu) ── */
.nav-submenu-caret{
  width:11px!important;height:11px!important;opacity:.5!important;
  margin-left:-2px;transition:transform var(--t2),opacity var(--t1);
}
.nav-item.has-submenu.is-open .nav-submenu-caret,
.nav-item.has-submenu:hover .nav-submenu-caret{transform:rotate(180deg);opacity:1!important}

.nav-submenu{
  position:absolute;top:calc(100% + 10px);left:50%;
  transform:translate(-50%,-8px) scale(.98);
  width:560px;max-width:90vw;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:0 20px 60px rgba(6,35,64,.18),0 4px 16px rgba(6,35,64,.08);
  padding:var(--s5);
  opacity:0;pointer-events:none;
  transition:opacity .18s var(--ease),transform .18s var(--ease);
  z-index:1500;
}
.nav-item.has-submenu.is-open .nav-submenu,
.nav-item.has-submenu:hover .nav-submenu{
  opacity:1;pointer-events:all;
  transform:translate(-50%,0) scale(1);
}
.nav-submenu-head{
  font-family:var(--font-h);font-size:var(--fs-2xs);font-weight:800;
  text-transform:uppercase;letter-spacing:.1em;color:var(--blue);
  margin-bottom:var(--s4);padding:0 var(--s2);
}
.nav-submenu-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;
}
.nav-submenu-card{
  display:flex;align-items:flex-start;gap:11px;
  padding:11px 12px;border-radius:var(--r-md);
  text-decoration:none;transition:background var(--t1),transform var(--t1);
}
.nav-submenu-card:hover{background:var(--bg-2);transform:translateX(2px)}
.nav-submenu-icon{
  flex-shrink:0;width:36px;height:36px;border-radius:var(--r-sm);
  background:var(--bg-2);color:var(--blue);
  display:flex;align-items:center;justify-content:center;
  transition:background var(--t1),color var(--t1);
}
.nav-submenu-card:hover .nav-submenu-icon{background:var(--g-orange);color:var(--navy)}
.nav-submenu-icon svg{width:18px;height:18px}
.nav-submenu-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.nav-submenu-text strong{
  font-family:var(--font-h);font-size:var(--fs-sm);font-weight:700;color:var(--ink);
}
.nav-submenu-text span{
  font-size:var(--fs-xs);color:var(--ink-3);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.nav-submenu-footer-link{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:var(--s4);padding-top:var(--s4);
  border-top:1px solid var(--border);
  font-family:var(--font-h);font-size:var(--fs-sm);font-weight:700;
  color:var(--navy);text-decoration:none;
  transition:color var(--t1);
}
.nav-submenu-footer-link:hover{color:var(--blue)}
.nav-submenu-footer-link svg{width:15px;height:15px;transition:transform var(--t1)}
.nav-submenu-footer-link:hover svg{transform:translateX(3px)}


/* ── HEADER ACTIONS ── */
.header-actions{
  display:flex;
  align-items:center;
  gap:var(--s3);
  flex-shrink:0;
}

/* CTA header — orange, taille contenue */
.header-cta{
  font-size:var(--fs-sm) !important;
  padding:10px 20px !important;
  white-space:nowrap;
}

/* ── BURGER MOBILE ── */
.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;
  padding:8px;color:var(--ink);border-radius:var(--r-sm);
  transition:background var(--t1);
}
.nav-toggle:hover{background:var(--bg-2)}

/* ── NAV OVERLAY mobile ── */
.nav-overlay{display:none}

/* ── LANG DROPDOWN ── */
.lang-dropdown{position:relative}

.lang-dropdown-toggle{
  display:flex;align-items:center;gap:5px;
  background:transparent;
  border:1px solid var(--border);
  border-radius:var(--r-pill);
  padding:6px 10px 6px 8px;
  cursor:pointer;
  font-family:var(--font-h);font-size:var(--fs-xs);font-weight:700;
  color:var(--ink);
  transition:all var(--t1);
  white-space:nowrap;
  line-height:1;
}
.lang-dropdown-toggle:hover{background:var(--bg-2);border-color:var(--border-2);color:var(--navy)}
.lang-dropdown.is-open .lang-dropdown-toggle{background:var(--navy);border-color:var(--navy);color:#fff}

.lang-flag{
  font-size:.95rem;line-height:1;display:flex;align-items:center;
  /* Sur Windows/Edge les emojis drapeaux s'affichent en texte ISO → on les masque */
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
}
.lang-code{letter-spacing:.04em;font-size:var(--fs-xs)}

.lang-chevron{
  width:12px;height:12px;flex-shrink:0;
  transition:transform var(--t1);opacity:.55;
}
.lang-dropdown.is-open .lang-chevron{transform:rotate(180deg);opacity:1}

.lang-dropdown-menu{
  position:absolute;top:calc(100% + 8px);right:0;
  min-width:155px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  box-shadow:0 12px 40px rgba(6,35,64,.16),0 2px 8px rgba(6,35,64,.07);
  padding:4px;
  opacity:0;pointer-events:none;
  transform:translateY(-6px) scale(.97);
  transform-origin:top right;
  transition:opacity .16s var(--ease),transform .16s var(--ease);
  z-index:2000;
}
.lang-dropdown.is-open .lang-dropdown-menu{
  opacity:1;pointer-events:all;
  transform:translateY(0) scale(1);
}

.lang-dropdown-item{
  display:flex;align-items:center;gap:var(--s3);
  padding:8px 10px;
  border-radius:var(--r-sm);
  text-decoration:none;
  font-family:var(--font-h);font-size:var(--fs-sm);font-weight:600;
  color:var(--ink-2);
  transition:background var(--t1),color var(--t1);
}
.lang-dropdown-item:hover{background:var(--bg-2);color:var(--navy)}
.lang-dropdown-item.is-active{background:rgba(6,35,64,.06);color:var(--navy);font-weight:700}

.lang-check{
  width:13px;height:13px;margin-left:auto;
  color:var(--orange);flex-shrink:0;
}

/* ── RESPONSIVE ── */

/* Masquer les drapeaux emoji si non supportés (Windows/Edge) */
.no-flag-emoji .lang-flag { display: none !important; }

@media(max-width:1200px){
  /* Nav mobile — drawer latéral
     Seuil relevé à 1200px : en dessous, le menu desktop (logo + 6 liens + langue + CTA)
     ne tient plus sur une seule ligne et pousse le bouton "Faire ma demande" hors champ.
     Le tiroir mobile est donc activé plus tôt pour éviter ce trou responsive. */
  .main-nav{
    position:fixed;top:0;left:0;bottom:0;width:300px;
    background:var(--card);z-index:1100;
    flex-direction:column;justify-content:flex-start;align-items:stretch;
    padding:var(--s10) var(--s5) var(--s5);
    gap:var(--s1);
    overflow-y:auto;
    box-shadow:var(--sh-lg);
    transform:translateX(-100%);
    transition:transform var(--t2);
  }
  .main-nav.is-open{transform:translateX(0)}
  .nav-item{width:100%;flex-direction:column}
  .nav-link{
    font-size:var(--fs-base);
    padding:12px var(--s4);
    border-radius:var(--r-md);
    width:100%;
    justify-content:flex-start;
  }
  .nav-link svg{opacity:.5}
  .nav-toggle{display:flex}
  .nav-overlay{
    display:block;position:fixed;inset:0;
    background:rgba(6,35,64,.45);z-index:1050;
    opacity:0;pointer-events:none;transition:opacity var(--t2);
  }
  .nav-overlay.is-visible{opacity:1;pointer-events:all}

  /* Sous-menu "Nos crédits" → accordéon inline dans le drawer */
  .nav-submenu-toggle{justify-content:space-between}
  .nav-submenu-caret{margin-left:auto}
  .nav-submenu{
    position:static;
    width:100%;max-width:none;
    transform:none;
    box-shadow:none;border:none;border-radius:0;
    background:var(--bg-2);
    margin-top:2px;
    padding:0;
    max-height:0;overflow:hidden;
    opacity:1;pointer-events:none;
    transition:max-height .3s var(--ease),padding var(--t2);
  }
  .nav-item.has-submenu.is-open .nav-submenu{
    max-height:900px;pointer-events:all;
    padding:var(--s4) var(--s3);
  }
  .nav-item.has-submenu:hover .nav-submenu{transform:none} /* désactive le hover desktop en mobile */
  .nav-submenu-grid{grid-template-columns:minmax(0,1fr)}
  .nav-submenu-head{padding:0 var(--s2) var(--s2)}
}

@media(max-width:560px){
  .header-cta span:not(.sr-only){display:none}
  .lang-code{display:none}
  .header-actions{gap:var(--s2)}
  .header-cta{padding:10px 14px !important}
  .lang-dropdown-toggle{padding:6px 8px 6px 7px}
}


/* ── STATS BAR ── */
.stats-bar{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-radius:var(--r-xl);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--sh-md);
  background:var(--card);
}
.stat-item{
  padding:var(--s6) var(--s5);
  text-align:center;
  position:relative;
}
.stat-item+.stat-item::before{
  content:'';position:absolute;left:0;top:20%;bottom:20%;
  width:1px;background:var(--border);
}
.stat-value{
  font-family:var(--font-h);font-size:2rem;font-weight:900;
  color:var(--blue);line-height:1.15;margin-bottom:var(--s2);
  letter-spacing:-.03em;
}
.stat-value--small{font-size:1.5rem}
.stat-label{font-size:var(--fs-xs);color:var(--ink-3);font-weight:500;line-height:1.4}

/* ── HERO VISUAL ── */
.hero-image-wrap{
  border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--sh-lg);
  position:relative;
}
.hero-image-wrap::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(26,107,255,.15) 0%,transparent 60%);
  border-radius:var(--r-xl);
}
.hero-image-wrap img{
  width:100%;height:420px;object-fit:cover;
  border-radius:var(--r-xl);
  transition:transform var(--t3);
}
.hero-image-wrap:hover img{transform:scale(1.03)}

.hero-float-card{
  position:absolute;bottom:-20px;left:-20px;
  background:var(--card);
  border-radius:var(--r-lg);
  padding:var(--s4) var(--s5);
  display:flex;align-items:center;gap:var(--s3);
  box-shadow:var(--sh-lg);
  border:1px solid var(--border);
  z-index:2;
  animation:float-card 3s ease-in-out infinite;
}
.hero-float-card .card-icon{width:36px;height:36px;margin-bottom:0;flex-shrink:0}
.hero-float-card strong{display:block;font-family:var(--font-h);font-size:var(--fs-sm);color:var(--ink)}
.hero-float-card span{font-size:var(--fs-xs);color:var(--ink-3)}
@keyframes float-card{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

/* ── HERO ACTIONS ── */
.hero-actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin:var(--s6) 0}
.hero-meta{display:flex;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s4)}
.hero-meta-item{
  display:flex;align-items:center;gap:var(--s2);
  font-size:var(--fs-xs);color:var(--ink-3);font-weight:500;
}
.hero-meta-item svg{color:var(--blue);width:15px;height:15px}

/* ── PROCESS STEPS ── */
.process-steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--s5);position:relative;
}
.process-steps::before{
  content:'';position:absolute;top:26px;left:10%;right:10%;height:2px;
  background:linear-gradient(90deg,var(--blue),var(--blue-3));
  opacity:.2;z-index:0;
}
.process-step{position:relative;z-index:1}
.process-step-number{
  font-family:var(--font-h);font-size:var(--fs-xs);font-weight:900;
  color:var(--blue);letter-spacing:.1em;
  margin-bottom:var(--s3);opacity:.7;
}

/* ── SIMULATOR ── */
.simulator-card{
  background:var(--navy);
  border-radius:var(--r-xl);
  padding:var(--s8);
  position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
}
.simulator-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 110%, rgba(26,107,255,.2) 0%, transparent 60%);
  pointer-events:none;
}
.simulator-row{margin-bottom:var(--s6);position:relative;z-index:1}
.simulator-row-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:var(--s3)}
.simulator-row-head label{color:rgba(255,255,255,.7);font-size:var(--fs-sm);margin-bottom:0}
.simulator-value{
  font-family:var(--font-h);font-weight:900;color:#fff;
  font-size:var(--fs-lg);white-space:nowrap;
}
@media(max-width:460px){
  .simulator-row-head{flex-direction:column;align-items:flex-start;gap:2px}
}
.sim-range{
  width:100%;height:5px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.15);outline:none;cursor:pointer;
  -webkit-appearance:none;appearance:none;
}
.sim-range::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  background:var(--g-blue);border:3px solid #fff;
  box-shadow:0 2px 12px rgba(26,107,255,.5);cursor:pointer;
  transition:transform var(--t1);
}
.sim-range::-webkit-slider-thumb:hover{transform:scale(1.2)}
.simulator-result{
  text-align:center;padding:var(--s6) 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:var(--s5);position:relative;z-index:1;
}
.simulator-result-value{
  font-family:var(--font-h);font-size:2rem;font-weight:900;
  color:#fff;line-height:1.15;margin-bottom:var(--s2);
}
.simulator-result-label{font-size:var(--fs-sm);color:rgba(255,255,255,.55)}
.simulator-breakdown{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);
  position:relative;z-index:1;
}
.simulator-breakdown-item{text-align:center;padding:var(--s3);background:rgba(255,255,255,.05);border-radius:var(--r-sm);min-width:0}
.simulator-breakdown-item strong{display:block;font-family:var(--font-h);font-weight:800;color:#fff;font-size:1rem}
.simulator-breakdown-item span{font-size:var(--fs-xs);color:rgba(255,255,255,.5)}
@media(max-width:460px){
  .simulator-breakdown{grid-template-columns:minmax(0,1fr)}
}

/* ── TESTIMONIALS ── */
.testimonial-card .testimonial-stars{display:flex;gap:2px;margin-bottom:var(--s3)}
.testimonial-card .testimonial-stars svg{color:var(--gold);width:16px;height:16px;fill:var(--gold);stroke:none}
.testimonial-author{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s4)}
.testimonial-author-initial{
  width:40px;height:40px;border-radius:50%;
  background:var(--g-blue);
  color:#fff;font-family:var(--font-h);font-weight:800;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.testimonial-author strong{display:block;font-size:var(--fs-sm);color:var(--ink)}
.testimonial-author span{font-size:var(--fs-xs);color:var(--ink-3)}

/* ── VALUE CARDS ── */
.value-card h3{margin-bottom:var(--s2)}

/* ── FOOTER ── */
.site-footer{
  background:var(--navy);
  color:rgba(255,255,255,.75);
  padding:var(--s12) 0 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-top{
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);
  gap:var(--s8);margin-bottom:var(--s10);
}
.footer-brand{
  display:flex;align-items:center;gap:var(--s3);
  font-family:var(--font-h);font-weight:900;font-size:var(--fs-md);
  color:#fff;margin-bottom:var(--s4);
  text-decoration:none;
}
.footer-brand svg{color:var(--blue);width:28px;height:28px}
.footer-col h4{
  font-family:var(--font-h);font-size:var(--fs-2xs);font-weight:800;
  text-transform:uppercase;letter-spacing:.12em;
  color:rgba(255,255,255,.4);margin-bottom:var(--s4);
}
.footer-col p{color:rgba(255,255,255,.55);font-size:var(--fs-sm);line-height:1.7;margin-bottom:0}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s2)}
.footer-col ul a{color:rgba(255,255,255,.6);font-size:var(--fs-sm);transition:color var(--t1)}
.footer-col ul a:hover{color:#fff}
.footer-contact-item{display:flex;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s3);font-size:var(--fs-sm)}
.footer-contact-item svg{color:var(--blue);width:16px;height:16px;margin-top:2px;flex-shrink:0}
.footer-contact-item span{color:rgba(255,255,255,.65)}
.footer-social{display:flex;gap:var(--s3);margin-top:var(--s5)}
.footer-social a{color:rgba(255,255,255,.5);transition:color var(--t1)}
.footer-social a:hover{color:#fff}
.footer-social svg{width:20px;height:20px}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.07);
  padding:var(--s5) 0;
  display:flex;align-items:center;justify-content:space-between;
  font-size:var(--fs-xs);color:rgba(255,255,255,.35);
  flex-wrap:wrap;gap:var(--s3);
}
.footer-legal-links{display:flex;gap:var(--s5)}
.footer-legal-links a{color:rgba(255,255,255,.4);font-size:var(--fs-xs);transition:color var(--t1)}
.footer-legal-links a:hover{color:rgba(255,255,255,.7)}

.footer-disclaimer{
  border-top:1px solid rgba(255,255,255,.05);
  padding:var(--s5) 0;
  font-size:var(--fs-2xs);color:rgba(255,255,255,.28);
  line-height:1.6;
}

@media(max-width:900px){
  .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .process-steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:560px){
  .footer-top{grid-template-columns:minmax(0,1fr)}
  .stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-steps{grid-template-columns:minmax(0,1fr)}
  .process-steps::before{display:none}
  .simulator-result-value{font-size:1.6rem}
  .stat-value{font-size:1.6rem}
}

/* ── LANG DROPDOWN ── */
.lang-dropdown{position:relative}

.lang-dropdown-toggle{
  display:flex;align-items:center;gap:6px;
  background:transparent;border:1px solid var(--border);
  border-radius:var(--r-pill);
  padding:6px 10px 6px 8px;
  cursor:pointer;
  font-family:var(--font-h);font-size:var(--fs-xs);font-weight:700;
  color:var(--ink);
  transition:all var(--t1);
  white-space:nowrap;
}
.lang-dropdown-toggle:hover{
  background:var(--bg-2);
  border-color:var(--border-2);
  color:var(--navy);
}
.lang-dropdown.is-open .lang-dropdown-toggle{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}

/* lang styles unified above */

.lang-chevron{
  width:13px;height:13px;
  flex-shrink:0;
  transition:transform var(--t1);
  opacity:.6;
}
.lang-dropdown.is-open .lang-chevron{transform:rotate(180deg);opacity:1}

.lang-dropdown-menu{
  position:absolute;top:calc(100% + 8px);right:0;
  min-width:160px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  box-shadow:0 12px 40px rgba(6,35,64,.18),0 2px 8px rgba(6,35,64,.08);
  padding:4px;
  opacity:0;pointer-events:none;
  transform:translateY(-6px) scale(.97);
  transform-origin:top right;
  transition:opacity .18s var(--ease),transform .18s var(--ease);
  z-index:2000;
}
.lang-dropdown.is-open .lang-dropdown-menu{
  opacity:1;pointer-events:all;
  transform:translateY(0) scale(1);
}

.lang-dropdown-item{
  display:flex;align-items:center;gap:var(--s3);
  padding:9px 12px;
  border-radius:var(--r-sm);
  text-decoration:none;
  font-family:var(--font-h);font-size:var(--fs-sm);font-weight:600;
  color:var(--ink-2);
  transition:background var(--t1),color var(--t1);
}
.lang-dropdown-item:hover{background:var(--bg-2);color:var(--navy)}
.lang-dropdown-item.is-active{
  background:rgba(6,35,64,.06);
  color:var(--navy);
  font-weight:700;
}
