/* Trustimo : styles COMMUNS à toutes les pages
   (variables, reset, nav, footer, bouton WhatsApp, reveal, accessibilité).
   Source de vérité unique : toute retouche ici s'applique partout. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#1A1A1A;
  --cream:#FFDF9B;
  --cream-soft:#FFF4DA;
  --gold:#BA9005;
  --gold-bright:#E0A82E;
  --green:#1FA86A;
  --green-bg:#E3F6EC;
  --wa:#25D366;
  --paper:#FCFCFC;
  --paper2:#F6F4EF;
  --border:#EAE7DF;
  --muted:#6B6B66;
  --maxw:1240px;
  --f-display:'Sora',sans-serif;
  --f-body:'Inter',sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-family:var(--f-body);color:var(--ink);background:var(--paper);line-height:1.65;overflow-x:hidden}

/* ===== Reveal au scroll (utilitaire commun) ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s var(--ease-out);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
.reveal-scale{opacity:0;transform:scale(.96) translateY(20px);transition:opacity .8s ease,transform .9s var(--ease-out);transition-delay:var(--d,0s)}
.reveal-scale.in{opacity:1;transform:none}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes float{from{transform:translateY(0)}to{transform:translateY(-14px)}}

/* ===== NAV ===== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(252,252,252,0.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .4s ease;
}
nav.scrolled{box-shadow:0 10px 34px rgba(26,26,26,.07)}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;height:76px;
}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-logo img{width:38px;height:38px;display:block}
.nav-logo-name{font-family:var(--f-display);font-weight:700;font-size:21px;color:var(--ink);letter-spacing:-0.02em}
.nav-links{display:flex;align-items:center;gap:36px;list-style:none}
.nav-links a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:500;transition:color .25s ease}
.nav-links a:hover{color:var(--ink)}
.nav-cta{
  background:var(--ink);color:#fff !important;
  padding:12px 26px;border-radius:10px;
  font-size:14px;font-weight:700;text-decoration:none;
  font-family:var(--f-display);
  transition:transform .25s ease,box-shadow .25s ease;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(26,26,26,.22)}
.nav-cta-mobile{display:none}
.nav-burger{
  display:none;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  background:none;border:0;cursor:pointer;
}
.nav-burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease-out),opacity .2s ease}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== FOOTER ===== */
footer{padding:56px 40px;border-top:1px solid var(--border);background:var(--paper)}
.footer-inner{
  max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;
}
.footer-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.footer-logo img{width:34px;height:34px}
.footer-logo-name{font-family:var(--f-display);font-weight:700;font-size:19px;color:var(--ink)}
.footer-links{display:flex;gap:30px;flex-wrap:wrap}
.footer-links a{font-size:13px;color:var(--muted);text-decoration:none;transition:color .25s ease}
.footer-links a:hover{color:var(--ink)}
.footer-copy{font-size:12px;color:#A8A8A2}

/* ===== BOUTON FLOTTANT WHATSAPP ===== */
.wa-fab{
  position:fixed;bottom:26px;right:26px;z-index:150;
  display:flex;align-items:center;
  background:var(--wa);color:#fff;border-radius:100px;
  padding:16px;text-decoration:none;
  box-shadow:0 14px 34px -6px rgba(37,211,102,.55);
  transition:transform .3s var(--ease-out),box-shadow .3s ease;
  animation:fabIn .6s cubic-bezier(.34,1.56,.64,1) 1.1s both;
}
.wa-fab:hover{transform:scale(1.05);box-shadow:0 18px 40px -6px rgba(37,211,102,.65)}
.wa-fab svg{width:28px;height:28px;fill:#fff;flex-shrink:0}
.wa-fab-label{
  max-width:0;overflow:hidden;white-space:nowrap;
  font-family:var(--f-display);font-size:14px;font-weight:700;
  transition:max-width .45s var(--ease-out),padding .45s var(--ease-out);
}
.wa-fab:hover .wa-fab-label{max-width:230px;padding:0 8px 0 12px}
.wa-fab::before{
  content:'';position:absolute;inset:0;border-radius:100px;
  border:2px solid var(--wa);
  animation:waPulse 2.8s ease-out 2s infinite;
  pointer-events:none;
}
@keyframes waPulse{0%{opacity:.65;transform:scale(1)}60%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
@keyframes fabIn{from{opacity:0;transform:scale(.4) translateY(24px)}to{opacity:1;transform:none}}

/* ===== RESPONSIVE COMMUN ===== */
@media(max-width:1024px){
  .nav-inner,footer{padding-left:28px;padding-right:28px}
  /* Menu mobile : panneau déroulant côté droit (côté burger) */
  .nav-burger{display:flex}
  .nav-cta-mobile{display:inline-block;margin-left:auto;margin-right:12px;padding:10px 18px;font-size:13px}
  .nav-links{
    position:fixed;top:76px;right:0;left:auto;
    width:min(300px,82vw);
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);border:1px solid var(--border);border-top:0;
    border-radius:0 0 18px 18px;
    padding:8px 26px 14px;
    max-height:calc(100vh - 96px);overflow-y:auto;
    box-shadow:0 30px 50px -20px rgba(26,26,26,.25);
    opacity:0;transform:translateY(-10px);pointer-events:none;
    transition:opacity .3s ease,transform .35s var(--ease-out);
  }
  .nav-links.open{opacity:1;transform:none;pointer-events:auto}
  .nav-links li + li{border-top:1px solid var(--border)}
  .nav-links a{display:block;font-size:16px;padding:15px 2px}
  /* Le bouton Télécharger est déjà visible dans la barre : pas de doublon dans le menu */
  .nav-links li:last-child{display:none}
  .footer-inner{flex-direction:column;justify-content:center;text-align:center;gap:20px}
  .footer-links{justify-content:center}
}
@media(max-width:600px){
  /* Barre de nav compacte : le burger et le bouton Télécharger respirent */
  .nav-inner{padding-left:20px;padding-right:20px}
  .nav-logo img{width:34px;height:34px}
  .nav-logo-name{font-size:19px}
  .nav-cta-mobile{margin-right:8px;padding:9px 15px;font-size:12.5px}
  .nav-burger{width:38px;gap:5px}
  .wa-fab{bottom:18px;right:18px;padding:14px}
  .wa-fab svg{width:26px;height:26px}
}

/* ===== Accessibilité : animations désactivées à la demande ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
  .reveal,.reveal-scale{opacity:1;transform:none}
}
