/* ═══ 13FLOW DESIGN SYSTEM — SHARED STYLES ═══ */
@import url('assets/fonts/fonts.css');

:root{
  --bg:#0A0A0C;
  --bg2:#101012;
  --bg3:#15151A;
  --bg4:#1C1C22;
  --text:#F5F2ED;
  --text2:#A7A5A0;
  --text3:#65625E;
  --accent:#C2410C;
  --accent2:#EA580C;
  --accent-soft:rgba(194, 65, 12,.12);
  --green:#22C55E;
  --red:#EF4444;
  --yellow:#F59E0B;
  --border:rgba(255,255,255,.07);
  --border2:rgba(255,255,255,.12);
  --font:'Nunito',system-ui,sans-serif;
  --serif:'Nunito',system-ui,sans-serif;
  --max:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;min-height:100vh}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font-family:inherit}
img,svg{display:block;max-width:100%}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:72px;display:flex;align-items:center;background:rgba(10,10,12,.78);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.nav.scrolled{border-bottom-color:var(--border);background:rgba(10,10,12,.92)}
.nav-wrap{max-width:var(--max);margin:0 auto;padding:0 28px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo svg{height:34px;width:auto}
.nav-links{display:flex;gap:30px;margin-left:auto;margin-right:24px}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--text2);transition:color .2s;position:relative}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-links a.active::after{content:'';position:absolute;bottom:-22px;left:0;right:0;height:2px;background:var(--accent);border-radius:2px}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-cta{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff !important;font-size:13px;font-weight:600;padding:10px 18px;border-radius:100px;transition:all .2s;white-space:nowrap}
.nav-cta:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(194, 65, 12,.35)}
.nav-signin{font-size:13px;font-weight:500;color:var(--text2);padding:9px 14px;border-radius:100px;transition:color .2s}
.nav-signin:hover{color:var(--text)}
.burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px;background:var(--bg3);border:1px solid var(--border)}
.burger svg{width:18px;height:18px;stroke:var(--text)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border-radius:100px;font-size:14.5px;font-weight:600;letter-spacing:-.01em;transition:all .25s var(--ease);white-space:nowrap;cursor:pointer}
.btn-fire{background:var(--accent);color:#fff !important;box-shadow:0 4px 20px rgba(194, 65, 12,.25)}
.btn-fire:hover{background:var(--accent2);transform:translateY(-2px);box-shadow:0 8px 32px rgba(194, 65, 12,.45)}
.btn-ghost{background:transparent;color:var(--text) !important;border:1px solid var(--border2)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent) !important}
.btn-light{background:var(--text);color:var(--bg) !important}
.btn-light:hover{background:#fff;transform:translateY(-2px)}
.btn-block{width:100%}
.btn-lg{padding:18px 34px;font-size:15.5px}
.btn-sm{padding:11px 18px;font-size:13px}
.grp{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* LAYOUT */
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;width:100%}
.sec{padding:110px 0;position:relative}
.sec-dark{background:var(--bg2)}
.sec-header{text-align:center;max-width:720px;margin:0 auto 64px}
.sec-header.left{text-align:left;margin-left:0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);margin-bottom:18px;padding:6px 14px;border:1px solid rgba(194, 65, 12,.25);border-radius:100px;background:var(--accent-soft)}
.eyebrow .dot{width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.5}}
.sec-header h2{font-family:var(--serif);font-size:clamp(32px,4.5vw,52px);line-height:1.05;letter-spacing:-.025em;margin-bottom:18px}
.sec-header h2 em{font-style:italic;color:var(--accent)}
.sec-header p{font-size:17px;color:var(--text2);max-width:560px;margin:0 auto}
.sec-header.left p{margin:0}

/* PAGE HERO (smaller than index hero) */
.ph{padding:160px 0 72px;position:relative;overflow:hidden;text-align:center}
.ph::before{content:'';position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:800px;height:600px;background:radial-gradient(ellipse,rgba(194, 65, 12,.08),transparent 70%);pointer-events:none}
.ph-inner{position:relative;z-index:1;max-width:820px;margin:0 auto}
.ph h1{font-family:var(--serif);font-size:clamp(38px,5.5vw,64px);line-height:1.05;letter-spacing:-.025em;margin-bottom:20px}
.ph h1 em{font-style:italic;color:var(--accent)}
.ph p{font-size:17.5px;color:var(--text2);max-width:620px;margin:0 auto 36px;line-height:1.6}

/* FAQ */
.faq-wrap{max-width:720px;margin:0 auto}
.faq-i{border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:10px;background:var(--bg3);transition:border-color .2s}
.faq-i.open{border-color:rgba(194, 65, 12,.25)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;font-size:15px;font-weight:600;text-align:left;gap:16px;transition:color .2s}
.faq-q:hover{color:var(--accent)}
.faq-q svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;transition:transform .3s}
.faq-i.open .faq-q svg{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease),padding .35s var(--ease);padding:0 24px;font-size:14px;color:var(--text2);line-height:1.7}
.faq-i.open .faq-a{max-height:500px;padding:0 24px 22px}

/* FINAL CTA */
.final-cta{background:linear-gradient(135deg,var(--bg3),var(--bg2));border:1px solid var(--border);border-radius:28px;padding:80px 48px;text-align:center;position:relative;overflow:hidden;max-width:900px;margin:0 auto}
.final-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center top,rgba(194, 65, 12,.1),transparent 50%);pointer-events:none}
.final-cta>*{position:relative;z-index:1}
.final-cta h2{font-family:var(--serif);font-size:clamp(34px,5vw,54px);line-height:1.05;letter-spacing:-.025em;margin-bottom:18px}
.final-cta h2 em{font-style:italic;color:var(--accent)}
.final-cta>p{font-size:17px;color:var(--text2);max-width:560px;margin:0 auto 36px;line-height:1.6}

/* OFFRES */
.offres-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1320px;margin:0 auto}
.offre{background:linear-gradient(180deg,var(--bg3),var(--bg2));border:1px solid var(--border);border-radius:22px;padding:36px 30px;display:flex;flex-direction:column;position:relative;transition:all .3s var(--ease)}
.offre:hover{transform:translateY(-6px);border-color:var(--border2)}
.offre.star{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 20px 60px rgba(194, 65, 12,.15);transform:scale(1.02)}
.offre.star:hover{transform:scale(1.02) translateY(-6px)}
.offre-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding:6px 16px;border-radius:100px;white-space:nowrap;display:flex;align-items:center;gap:5px;box-shadow:0 4px 16px rgba(194, 65, 12,.35)}
.offre-name{font-family:var(--serif);font-size:28px;letter-spacing:-.02em;margin-bottom:4px}
.offre-sub{font-size:13.5px;color:var(--text3);margin-bottom:24px}
.offre-price-block{padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:24px}
.offre-setup-big{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px}
.offre-setup-amt{font-family:var(--serif);font-size:42px;letter-spacing:-.02em;line-height:1}
.offre-setup-amt .cur{font-size:30px;vertical-align:top;margin-right:2px}
.offre-setup-label{font-size:12px;color:var(--text3);margin-top:4px}
.offre-mensuel{display:flex;align-items:baseline;gap:6px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}
.offre-mens-label{font-size:12.5px;color:var(--text2)}
.offre-mens-amt{font-family:var(--serif);font-size:22px;color:var(--text);letter-spacing:-.02em}
.offre-mens-per{font-size:12px;color:var(--text3)}
.offre-mens-alt{font-size:11.5px;color:var(--text3);margin-top:6px;font-style:italic}
.offre-highlight{font-size:12.5px;font-weight:600;color:var(--accent);padding:10px 14px;background:var(--accent-soft);border:1px solid rgba(194, 65, 12,.2);border-radius:10px;margin-bottom:18px;display:flex;align-items:center;gap:8px}
.offre-feats{flex:1;display:flex;flex-direction:column;gap:11px;margin-bottom:28px}
.offre-feat{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text2)}
.offre-feat svg{width:16px;height:16px;color:var(--green);flex-shrink:0;margin-top:2px}
.offre-feat strong{color:var(--text);font-weight:600}
.offre-note{font-size:11.5px;color:var(--text3);text-align:center;margin-top:14px}
.offre.custom{background:linear-gradient(180deg,rgba(194, 65, 12,.04),rgba(10,10,12,.6));border-color:rgba(194, 65, 12,.2)}
.offre.custom .offre-setup-amt{font-size:32px;color:var(--text2)}

/* FOOTER */
.footer{padding:72px 0 32px;background:var(--bg);border-top:1px solid var(--border)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand>p{margin-top:16px;font-size:13.5px;color:var(--text3);max-width:280px;line-height:1.6}
.footer-social{display:flex;gap:10px;margin-top:20px}
.footer-social a{width:36px;height:36px;border-radius:10px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--text2)}
.footer-social a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.footer-social svg{width:16px;height:16px}
.fh{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text3);margin-bottom:18px}
.fl{display:flex;flex-direction:column;gap:10px}
.fl a{font-size:13.5px;color:var(--text2);transition:color .2s}
.fl a:hover{color:var(--accent)}
.footer-bottom{padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--text3)}
.footer-bottom .legal{max-width:580px;line-height:1.55}

/* LANGUAGE SWITCHER */
.lang-switch{position:relative;display:inline-flex;align-items:center;margin-right:6px}
.lang-current{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text2);padding:8px 12px;border-radius:100px;border:1px solid var(--border2);background:transparent;transition:all .2s;cursor:pointer;letter-spacing:.3px}
.lang-current:hover{color:var(--text);border-color:var(--accent)}
.lang-current .lang-chev{width:11px;height:11px;transition:transform .25s var(--ease)}
.lang-dropdown.open ~ .lang-current .lang-chev,
.lang-switch:has(.lang-dropdown.open) .lang-current .lang-chev{transform:rotate(180deg)}
.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:170px;background:var(--bg3);border:1px solid var(--border2);border-radius:14px;padding:6px;box-shadow:0 12px 40px rgba(0,0,0,.5);opacity:0;transform:translateY(-6px) scale(.96);pointer-events:none;transition:all .2s var(--ease);z-index:1100}
.lang-dropdown.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.lang-opt{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--text2);transition:all .15s;text-decoration:none}
.lang-opt:hover{background:var(--bg4);color:var(--text)}
.lang-opt.active{background:var(--accent-soft);color:var(--accent)}
.lang-opt .lang-flag{font-size:16px;line-height:1}
.lang-opt .lang-code{font-weight:700;letter-spacing:.5px;font-size:11.5px;min-width:22px}
.lang-opt .lang-name{font-size:13px;font-weight:500}
@media(max-width:768px){
  .lang-switch{margin-right:4px}
  .lang-current{padding:7px 10px;font-size:12px}
  .lang-current .lang-name-full{display:none}
}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.stagger .reveal:nth-child(1){transition-delay:.05s}
.stagger .reveal:nth-child(2){transition-delay:.1s}
.stagger .reveal:nth-child(3){transition-delay:.15s}
.stagger .reveal:nth-child(4){transition-delay:.2s}
.stagger .reveal:nth-child(5){transition-delay:.25s}
.stagger .reveal:nth-child(6){transition-delay:.3s}

/* MOBILE MENU — FULLSCREEN (harmonisé) */
.mobile-menu{position:fixed;inset:0;background:var(--bg);z-index:1001;opacity:0;pointer-events:none;transition:opacity .28s var(--ease);padding:90px 28px 32px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:12px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text);align-self:auto;margin:0}
.mobile-menu a{padding:18px 16px;font-size:18px;font-weight:600;color:var(--text2);border-radius:0;border-bottom:1px solid var(--border);transition:all .2s}
.mobile-menu a:hover,.mobile-menu a.active{background:transparent;color:var(--text)}
.mobile-menu .btn{margin-top:28px;border-bottom:none}
.mobile-overlay{display:none}

/* RESPONSIVE */
@media(max-width:1200px){
  .offres-grid{grid-template-columns:repeat(2,1fr)}
  .offre.star{transform:none}
  .offre.star:hover{transform:translateY(-6px)}
}
/* Nav reste compacte sur tablette */
@media(max-width:1100px){
  .nav-links{gap:22px}
  .nav-links a{font-size:13px}
}
/* ─── Nav tablette + mobile : hamburger (≤ 1024px) ─── */
@media(max-width:1024px){
  .nav-wrap{padding:0 18px;gap:10px}
  .nav-links{display:none}
  .nav-signin{display:none}
  .nav-cta{display:none}
  .burger{display:flex !important}
  /* Lang-switcher desktop caché — repris dans .mobile-menu */
  .lang-switcher.lang-desktop{display:none}
}
@media(max-width:768px){
  .nav-wrap{padding:0 14px;gap:8px}
  .logo svg{height:26px}
  .sec{padding:72px 0}
  .ph{padding:120px 0 56px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .final-cta{padding:56px 28px}
}
@media(max-width:500px){
  .offres-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .grp .btn{width:100%}
}
