/* Socle commun à toutes les pages : en-tête, pied de page, pages de texte.
   Les pages Accueil et Pro gardent en plus leur propre feuille (index.css,
   neoslice-pro.css), reprise telle quelle de l'ancien site. */
:root{
  --ink:#1c1a17; --muted:#726c65; --line:#e9e5df; --bg:#ffffff;
  --panel:#f7f5f2; --panel2:#efece6; --accent:#ff6a2c; --accent-ink:#e85718;
  --dark:#14110e; --dark-ink:#f5f2ee; --dark-muted:#a7a099;
  --gutter:clamp(16px,3vw,40px); --maxw:1240px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
img{max-width:100%; height:auto;}
a{color:var(--accent);}
.skip{position:absolute; left:-9999px;}
.skip:focus{left:16px; top:12px; z-index:100; background:#fff; padding:8px 14px; border-radius:8px;}

/* ---------- En-tête ---------- */
.site-header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(180%) blur(14px); backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);}
.site-header .bar{max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); height:64px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;}
.brand{font-size:22px; font-weight:600; letter-spacing:-.02em; color:var(--ink); text-decoration:none;}
.nav{display:flex; align-items:center; gap:clamp(14px,2.2vw,30px);}
.nav a{color:var(--ink); text-decoration:none; font-size:15px; opacity:.82;}
.nav a:hover{opacity:1;}
.nav a[aria-current="page"]{opacity:1; font-weight:600;}
.lang{display:inline-flex; border:1px solid var(--line); border-radius:999px; padding:3px; gap:2px;}
.lang a{font-size:13px; font-weight:600; letter-spacing:.04em; padding:4px 10px; border-radius:999px;
  color:var(--muted); text-decoration:none; opacity:1;}
.lang a[aria-current="true"]{background:var(--ink); color:#fff;}
.menu{display:none;}
.menu summary{list-style:none; cursor:pointer; width:44px; height:44px; display:grid; place-items:center;
  border-radius:12px;}
.menu summary::-webkit-details-marker{display:none;}
.menu summary span,.menu summary span::before,.menu summary span::after{display:block; width:20px; height:2px;
  background:var(--ink); border-radius:2px; position:relative; content:"";}
.menu summary span::before{position:absolute; top:-6px;}
.menu summary span::after{position:absolute; top:6px;}
.menu[open] summary span{background:transparent;}
.menu[open] summary span::before{top:0; transform:rotate(45deg);}
.menu[open] summary span::after{top:0; transform:rotate(-45deg);}
.menu .sheet{position:absolute; left:0; right:0; top:64px; background:#fff; border-bottom:1px solid var(--line);
  padding:8px var(--gutter) 20px; display:flex; flex-direction:column;}
.menu .sheet a{color:var(--ink); text-decoration:none; font-size:18px; padding:13px 0;
  border-bottom:1px solid var(--line);}
.menu .sheet .lang{margin-top:16px; align-self:flex-start;}
.menu .sheet .lang a{font-size:13px; padding:4px 12px; border:0;}
@media (max-width:860px){
  .nav{display:none;}
  .menu{display:block;}
}

/* ---------- Contenu ---------- */
main{max-width:var(--maxw); margin:0 auto; padding:clamp(24px,4vw,48px) var(--gutter) clamp(40px,6vw,72px);}

/* Pages de texte (FAQ, À propos, Retour, pages juridiques) */
.doc{max-width:760px; margin:0 auto;}
.doc .eyebrow{font-size:13px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--accent); margin:0 0 14px;}
.doc h1{font-size:clamp(34px,5.6vw,54px); font-weight:700; letter-spacing:-.028em; line-height:1.06; margin:0 0 18px; text-wrap:balance;}
.doc .updated{color:var(--muted); font-size:14px; margin:0 0 36px;}
.doc .lead{font-size:clamp(18px,2.2vw,21px); color:var(--muted); line-height:1.55; margin:0 0 28px;}
.doc h2{font-size:clamp(21px,2.6vw,25px); font-weight:650; letter-spacing:-.015em; margin:44px 0 12px;}
.doc h3{font-size:17px; font-weight:650; margin:26px 0 8px;}
.doc p,.doc li{font-size:17px; line-height:1.65; color:#38342f;}
.doc p{margin:0 0 14px;}
.doc ul{padding-left:22px; margin:0 0 16px;}
.doc li{margin:6px 0;}
.doc a{color:var(--accent-ink); text-underline-offset:3px;}
.doc .note{font-size:14px; color:var(--muted); font-style:italic; margin-top:40px;}
.doc .card{background:var(--panel); border-radius:22px; padding:clamp(22px,3.5vw,36px); margin:28px 0;}
.doc .sign{font-style:italic; color:var(--muted);}
.doc .portrait{display:block; width:100%; max-width:420px; border-radius:22px; margin:8px 0 32px;}

/* FAQ en accordéon, sans JavaScript */
.faq{margin-top:28px; border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none; cursor:pointer; padding:20px 44px 20px 0; position:relative;
  font-size:18px; font-weight:600; letter-spacing:-.01em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:""; position:absolute; right:6px; top:50%; width:10px; height:10px; margin-top:-7px;
  border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:rotate(45deg);
  transition:transform .2s ease;}
.faq details[open] summary::after{transform:rotate(-135deg); margin-top:-2px;}
.faq details > div{padding:0 0 18px;}
.faq details p{margin:0;}

/* Formulaire de retour */
.form-wrap{margin-top:12px;}
.form-wrap iframe{width:100%; border:0; min-height:600px; display:block;}
.form-wrap .form-alt{font-size:14px; color:var(--muted); margin-top:10px;}
.form-pending{background:var(--panel); border:1px dashed #d8d2ca; border-radius:22px; padding:28px; text-align:center;}
.form-pending p{margin:6px 0; color:var(--muted);}
.btn{display:inline-block; background:var(--accent); color:#fff !important; font-weight:500; font-size:17px;
  padding:13px 28px; border-radius:980px; text-decoration:none; transition:background .2s ease, transform .2s ease;}
.btn:hover{background:var(--accent-ink); transform:translateY(-1px);}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--dark); color:var(--dark-ink); margin-top:clamp(24px,4vw,48px);}
.site-footer .wrap{max-width:var(--maxw); margin:0 auto; padding:44px var(--gutter) 36px;
  display:grid; grid-template-columns:1fr auto; gap:28px; align-items:start;}
.site-footer .brand{color:var(--dark-ink);}
.site-footer .tag{color:var(--dark-muted); font-size:14px; margin:8px 0 0;}
.site-footer nav{display:flex; flex-wrap:wrap; gap:10px 22px; grid-column:1 / -1;}
.site-footer nav a{color:var(--dark-ink); opacity:.78; text-decoration:none; font-size:14px;}
.site-footer nav a:hover{opacity:1;}
.social{display:flex; gap:14px;}
.social a{color:var(--dark-ink); opacity:.8; display:grid; place-items:center; width:38px; height:38px;
  border-radius:50%; border:1px solid #33291d;}
.social a:hover{opacity:1;}
.site-footer .copy{grid-column:1 / -1; color:var(--dark-muted); font-size:13px; border-top:1px solid #2a2118;
  padding-top:20px; margin:0;}
@media (max-width:560px){ .site-footer .wrap{grid-template-columns:1fr;} }

a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:8px;}
@media (prefers-reduced-motion:reduce){ *{animation:none !important; transition:none !important;} }
