/*
Theme Name: Wintics
Theme URI: https://wintics.com
Author: Wintics
Description: Thème one-page Wintics — IA vidéo souveraine. Chaque section est un pattern Gutenberg modifiable.
Version: 1.22
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: wintics
*/

/* ============================================================
   WINTICS — MAQUETTE PAGE D'ACCUEIL · v3
   Thème clair par défaut + thème sombre (bouton dans l'en-tête).
   Tout se règle dans les variables ci-dessous.
   ============================================================ */
:root{
  /* ---- 1. COULEURS (bleu, blanc, noir) -------------------- */
  --bleu-nuit:  #0A0495;
  --bleu:       #2E20FF;
  --degrade:    linear-gradient(100deg,#0A0495,#2E20FF);
  --encre:      #1A1633;                 /* texte principal      */
  --gris:       #5C5972;                 /* texte secondaire     */
  --fond:       #FFFFFF;                 /* fond principal       */
  --fond-doux:  #F5F5FB;                 /* sections alternées   */
  --carte:      #FFFFFF;                 /* fond des cartes      */
  --marine:     #0F0D26;   /* fond sombre (héro, ambition, pied) */
  --lavande:    #9A93F2;   /* accents sur fond sombre            */                 /* section sombre fixe  */
  --ligne:      rgba(26,22,51,.12);
  --ligne-nuit: rgba(255,255,255,.16);
  --header-bg:  rgba(255,255,255,.86);
  --logo-filtre: none;

  /* ---- 2. TYPOGRAPHIE -------------------------------------- */
  --font-titre: 'Archivo', system-ui, sans-serif;
  --font-mono:  'IBM Plex Mono', monospace;

  /* ---- 3. RYTHME -------------------------------------------- */
  --largeur: 1180px;
  --section: clamp(52px, 6.5vw, 86px);      /* bas de section          */
  --section-haut: clamp(34px, 4.2vw, 56px);  /* haut de section (réduit) */
  --rayon: 14px;
}
/* ---- Base ----------------------------------------------------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-titre);font-weight:400;font-size:17px;line-height:1.6;
  background:var(--fond);color:var(--encre);-webkit-font-smoothing:antialiased;
  transition:background .3s,color .3s}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--largeur);margin:0 auto;padding:0 24px}
section{padding:var(--section-haut) 0 var(--section)}
/* Supprime l'interstice (block gap WP) entre les sections de premier niveau,
   pour que les fonds de couleur se touchent bord à bord. v1.20 */
.wp-block-post-content > * + *{margin-block-start:0}
.doux{background:var(--fond-doux)}
.nuit{background:var(--marine);color:#EDEBFA}

/* ---- Éléments récurrents --------------------------------------- */
.eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--bleu);margin:0 0 42px}
.eyebrow::before{content:"[ "}
.eyebrow::after{content:" ]"}
.nuit .eyebrow{color:#A9A2FF}

h1,h2,h3{font-weight:660;letter-spacing:-.02em;line-height:1.06;font-stretch:95%}
h1{font-size:clamp(44px,6.4vw,84px);text-transform:uppercase}
h2{font-size:clamp(29px,3.6vw,44px);margin:18px 0 16px}
h3{font-size:20px;line-height:1.3}
.sous{font-size:clamp(16.5px,1.4vw,19px);color:var(--gris);max-width:680px}
.sous::before{content:"__ ";color:var(--bleu);font-weight:600}
.nuit .sous{color:rgba(237,235,250,.72)}

.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:16px;
  padding:15px 30px;border-radius:100px;transition:transform .18s,box-shadow .18s}
.btn:hover{transform:translateY(-2px)}
.btn-plein{background:var(--degrade);color:#fff;box-shadow:0 8px 26px rgba(46,32,255,.28)}
.btn-blanc{background:#fff;color:var(--bleu-nuit);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.lien{font-weight:640;color:var(--bleu);font-size:15.5px}
.lien::after{content:" →";transition:margin .15s}
.lien:hover::after{margin-left:4px}

/* ---- Logo Wintics ----------------------------------------------- */
.logo{display:flex;align-items:center}
.logo svg{height:34px;width:auto}
.logo-blanc{--c-mot:#FFFFFF;--c-marque:#FFFFFF}

/* ---- Signature : cadre de détection · score en bas à droite ------ */
.detect{position:relative;display:inline-block;padding:.06em .14em;color:var(--bleu);
  --c:var(--bleu);--l:.30em;--e:3px;
  background-image:
    linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),
    linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),
    linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),
    linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c));
  background-repeat:no-repeat;
  background-size:var(--l) var(--e),var(--e) var(--l),var(--l) var(--e),var(--e) var(--l),
                  var(--l) var(--e),var(--e) var(--l),var(--l) var(--e),var(--e) var(--l);
  background-position:left top,left top,right top,right top,
                      left bottom,left bottom,right bottom,right bottom}
.detect-tag{position:absolute;top:-4px;left:calc(100% + 16px);
  font-family:var(--font-mono);font-size:14px;font-weight:400;letter-spacing:.06em;
  color:var(--lavande)}

/* ---- Sélecteur de langues -------------------------------------------- */
.lang-menu{position:relative}
.lang-liste{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:60;
  background:#fff;border:1px solid var(--ligne);border-radius:10px;padding:6px;
  list-style:none;margin:0;min-width:70px;box-shadow:0 14px 34px rgba(15,13,38,.14)}
.lang-menu.ouvert .lang-liste{display:block}
.lang-liste li{margin:0}
.lang-liste a{display:block;font-family:var(--font-mono);font-size:13px;
  padding:7px 12px;border-radius:6px;color:var(--gris)}
.lang-liste a:hover{background:var(--fond-doux);color:var(--encre)}

/* ---- En-tête ------------------------------------------------------- */
header{position:sticky;top:0;z-index:50;background:var(--header-bg);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--ligne)}
.nav{display:flex;align-items:center;gap:30px;height:76px}
.nav > ul{display:flex;gap:26px;list-style:none;margin-left:auto}
.nav > ul a{font-size:15px;color:var(--gris);transition:color .15s}
.nav > ul a:hover{color:var(--encre)}
.outil{font-family:var(--font-mono);font-size:13px;color:var(--gris);
  border:1px solid var(--ligne);border-radius:8px;padding:7px 12px;cursor:pointer;background:none}
.nav .btn{padding:11px 22px;font-size:15px}
.burger{display:none;background:none;border:0;color:var(--encre);font-size:26px;margin-left:auto;cursor:pointer}
@media(max-width:1080px){
  .nav > ul,.nav .lang-menu{display:none}
  #theme{margin-left:auto}
  .burger{display:block;margin-left:0}
  .nav .btn{display:none}
  .nav.ouvert > ul{display:flex;flex-direction:column;position:absolute;top:76px;left:0;right:0;
    background:var(--fond);padding:24px;gap:18px;border-bottom:1px solid var(--ligne)}
  .nav.ouvert .mobile-cta .btn{display:inline-flex;margin-top:6px}
}

/* ---- Héro ------------------------------------------------------------ */
.hero{padding:clamp(52px,6vw,84px) 0 clamp(52px,6vw,84px);position:relative;overflow:hidden;
  background:var(--marine);color:#EDEBFA}
.hero .eyebrow{color:var(--lavande)}
.hero h1{color:#F2F0FE}
.hero .sous{color:rgba(237,235,250,.82)}
.hero .sous::before{color:var(--lavande)}
.hero .detect{color:#6C5FF7;--c:#6C5FF7}
.hero .wrap{position:relative}
.hero .sous{margin-top:30px}
.hero .actions{margin:34px 0 0}
.stats{margin-top:clamp(48px,6vw,72px);display:grid;grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(150,140,255,.28)}
.stat{padding:26px 24px 28px;border-right:1px solid rgba(150,140,255,.28);
  border-bottom:1px solid rgba(150,140,255,.28)}
.stat:nth-child(3n){border-right:0}
.stat:nth-child(n+4){border-bottom:0}
.stat .stat-num{font-size:clamp(30px,3vw,44px);font-weight:680;letter-spacing:-.02em;
  line-height:1.1;color:#fff;margin:0;background:none;-webkit-background-clip:initial;background-clip:initial}
.stat .stat-libelle{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--lavande);margin:8px 0 0}
.stat .stat-sous{font-family:var(--font-mono);font-size:11.5px;color:rgba(237,235,250,.55);margin:2px 0 0}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(3n){border-right:1px solid rgba(150,140,255,.28)}
  .stat:nth-child(2n){border-right:0}
  .stat:nth-child(n+4){border-bottom:1px solid rgba(150,140,255,.28)}
  .stat:nth-child(n+5){border-bottom:0}}
@media(max-width:480px){.stats{grid-template-columns:1fr}
  .stat{border-right:0 !important;border-bottom:1px solid rgba(150,140,255,.28) !important}
  .stat:last-child{border-bottom:0 !important}}

/* ---- Références clients (logos) ---------------------------------------- */
.refs{padding:var(--section-haut) 0 var(--section-haut)}
.refs .wrap{overflow:hidden}
.refs-grille{display:flex;align-items:center;gap:72px;width:max-content;
  animation:refs-defile 38s linear infinite}
.refs-grille:hover{animation-play-state:paused}
@keyframes refs-defile{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){
  .refs-grille{animation:none;width:auto;flex-wrap:wrap;gap:30px 40px}}
.refs-grille > *{min-width:0;flex:none}
.refs-grille img{max-height:52px;width:auto;max-width:100%;object-fit:contain;margin:0 auto;
  opacity:.72;transition:opacity .2s}
.refs-grille img:hover{opacity:1}

/* ---- Utilisateurs ---------------------------------------------------------- */
.users-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
@media(max-width:960px){.users-grille{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.users-grille{grid-template-columns:1fr}}
.user-carte{background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);
  padding:14px;transition:transform .2s,box-shadow .2s}
.user-carte:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(15,13,38,.12)}
.user-carte img{height:170px;width:100%;object-fit:cover;border-radius:8px}
.user-carte .corps{padding:20px 10px 12px}
.user-carte h3{font-size:16.5px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px}
.liste-slash{list-style:none}
.liste-slash li{font-size:14px;color:var(--gris);padding:3px 0}
.liste-slash li::before{content:"// ";font-family:var(--font-mono);color:var(--bleu);font-size:12px}

/* ---- Produit : cartes LIVE & SEARCH avec emplacement vidéo ----------------- */
.sol-grille{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:50px}
@media(max-width:860px){.sol-grille{grid-template-columns:1fr}}
.sol-carte{position:relative;background:var(--carte);border:1px solid var(--ligne);
  border-radius:var(--rayon);padding:30px 30px 28px;transition:transform .2s,box-shadow .2s}
.sol-carte:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(26,22,51,.1)}
.sol-tag{display:inline-block;font-family:var(--font-mono);font-size:11.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--bleu);
  border:1px solid var(--bleu);border-radius:100px;padding:5px 12px;margin-bottom:18px}
.sol-carte h3{font-size:25px;margin-bottom:4px}
.sol-carte h3 small{display:block;font-size:15px;font-weight:480;color:var(--gris);margin-top:6px}
.sol-carte ul{list-style:none;margin:20px 0 24px}
.sol-carte li{padding:9px 0;font-size:15px;color:var(--encre);opacity:.85;border-top:1px solid var(--ligne)}
.sol-carte li::before{content:"// ";font-family:var(--font-mono);color:var(--bleu);font-size:12.5px}

/* Emplacement vidéo : remplacez le contenu par une balise <video>
   (exemple en commentaire dans le HTML plus bas). */
.media{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:16/9;
  margin:20px 0 4px;border:1px solid var(--ligne);background:#0B0A24}
.media img{width:100%;height:100%;object-fit:cover;opacity:.92}
.media .play{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--bleu-nuit);display:flex;align-items:center;
  justify-content:center;font-size:20px;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.media figcaption{position:absolute;left:10px;bottom:10px;font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.06em;color:#fff;background:rgba(11,10,36,.75);
  padding:4px 8px;border-radius:4px}

/* ---- Capacités --------------------------------------------------------------- */
.caps-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px;margin-top:50px}
.caps-col{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:26px 24px}
.caps-col h3{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--bleu);margin-bottom:16px}
.caps-col .liste-slash li{color:var(--encre);opacity:.8;font-size:14.5px}
.caps-note{margin-top:28px;display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;
  font-size:15px;color:var(--gris);max-width:840px}
.badge{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;
  background:var(--degrade);color:#fff;border-radius:4px;padding:4px 9px;white-space:nowrap;margin-top:3px}

/* ---- Pourquoi Wintics : tableau 3 x 2 ---------------------------------- */
.piliers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px;
  border:1px solid var(--ligne)}
.pilier{padding:26px 24px 28px;border-right:1px solid var(--ligne);
  border-bottom:1px solid var(--ligne)}
.pilier:nth-child(3n){border-right:0}
.pilier:nth-child(n+4){border-bottom:0}
.pilier .num{font-family:var(--font-mono);font-size:12.5px;color:var(--bleu);margin:0 0 10px}
.pilier .pilier-titre{margin:0 0 8px}
.pilier .pilier-titre strong{font-size:17.5px;font-weight:680;color:var(--bleu)}
.pilier p:not(.num):not(.pilier-titre){font-size:14.5px;color:var(--gris);margin:0}
@media(max-width:960px){.piliers{grid-template-columns:1fr}
  .pilier{border-right:0 !important;border-bottom:1px solid var(--ligne) !important}
  .pilier:last-child{border-bottom:0 !important}}

/* ---- Éthique -------------------------------------------------------------------- */
.ethique-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px}
@media(max-width:860px){.ethique-grille{grid-template-columns:1fr}}
.ethique-carte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:30px 28px}
.ethique-carte h3{font-size:18px;margin-bottom:16px}
.ethique-carte ul{list-style:none}
.ethique-carte li{padding:8px 0;font-size:14.5px;color:var(--encre);opacity:.82}
.ethique-carte li::before{content:"// ";font-family:var(--font-mono);color:var(--bleu);font-size:12px}
.ethique-note{margin-top:30px;font-size:15px;color:var(--gris)}
.ethique-note a{color:var(--bleu);font-weight:600}

/* ---- Ambition européenne (section sombre + drapeau d'étoiles) -------------------- */
.sov .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center}
@media(max-width:900px){.sov .wrap{grid-template-columns:1fr}}
.sov p.texte{font-size:15.5px;color:rgba(237,235,250,.72);margin-top:18px}
.preuves{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
@media(max-width:620px){.preuves{grid-template-columns:1fr}}
.preuve strong{font-size:17px;font-weight:660;display:block;margin-bottom:6px;color:#fff;
  border-top:1px solid var(--ligne-nuit);padding-top:16px}
.preuve p{font-size:14px;color:rgba(237,235,250,.66)}
/* Cercle d'étoiles européen — animation lente, coupée si l'utilisateur préfère */
.ue{display:flex;justify-content:center}
.ue svg{width:min(300px,70vw);height:auto;animation:tourne 80s linear infinite}
@keyframes tourne{to{transform:rotate(360deg)}}

/* ---- Intégrations & déploiement ---------------------------------------------------- */
.part-grille{display:grid;grid-template-columns:repeat(5,1fr);gap:26px;align-items:center;margin:44px 0 14px}
@media(max-width:640px){.part-grille{grid-template-columns:1fr 1fr;gap:22px}}
.part-grille img{max-height:44px;width:auto;max-width:100%;margin:0 auto;
  filter:var(--logo-filtre);opacity:.7;transition:opacity .2s}
.part-grille img:hover{opacity:1}
.deploi{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px}
@media(max-width:760px){.deploi{grid-template-columns:1fr}}
.deploi-carte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:24px 26px 28px}
.deploi-img{height:150px;display:flex;align-items:center;justify-content:center;gap:12px;
  background:#F1F1F8;border-radius:10px;margin-bottom:20px;padding:16px}
.deploi-img img{max-height:112px;width:auto;max-width:100%}
.deploi-carte h3{font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--bleu);margin-bottom:12px;font-weight:500}
.deploi-carte p{font-size:15px;color:var(--gris)}
.deploi-note{margin-top:26px;font-size:15.5px;color:var(--encre);opacity:.85;max-width:760px}
.deploi-note b{color:var(--bleu)}

/* ---- CTA final ------------------------------------------------------------------------ */
.cta-fin{background:var(--degrade);color:#fff;text-align:center}
.cta-fin .eyebrow{color:#fff}
.cta-fin h2{max-width:680px;margin:16px auto}
.cta-fin p{opacity:.85;max-width:560px;margin:0 auto 34px}

/* ---- Pied de page ------------------------------------------------------------------------ */
footer{background:var(--marine);color:#EDEBFA;padding:64px 0 40px}
.foot-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
@media(max-width:860px){.foot-grille{grid-template-columns:1fr 1fr}}
footer h4{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(237,235,250,.55);margin-bottom:16px;font-weight:500}
footer ul{list-style:none}
footer li{margin-bottom:10px}
footer li a{font-size:15px;color:rgba(237,235,250,.66);transition:color .15s}
footer li a:hover{color:#fff}
.langues{display:flex;gap:8px;margin-top:22px}
.langues a{font-family:var(--font-mono);font-size:12.5px;border:1px solid var(--ligne-nuit);
  border-radius:6px;padding:5px 10px;color:rgba(237,235,250,.66)}
.langues a.actif,.langues a:hover{color:var(--marine);background:#fff;border-color:#fff}
.sociaux{margin-top:18px}
.sociaux a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border:1px solid var(--ligne-nuit);border-radius:8px;color:rgba(237,235,250,.66);transition:all .15s}
.sociaux a:hover{color:var(--marine);background:#fff;border-color:#fff}
.foot-bas{margin-top:48px;padding-top:24px;border-top:1px solid var(--ligne-nuit);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:13.5px;color:rgba(237,235,250,.5)}

/* ---- Apparition au défilement --------------------------------------------------------------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.vu{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .ue svg{animation:none}
  html{scroll-behavior:auto}
}
.mobile-cta{display:none}
@media(max-width:1080px){.mobile-cta{display:block}}

/* ============ Adaptations WordPress (blocs natifs) ============ */
body{margin:0}
.wp-site-blocks{padding:0}
h1.wp-block-heading,h2.wp-block-heading,h3.wp-block-heading{margin-top:0}
ul.wp-block-list{padding-left:0}
.refs-grille .wp-block-image,.part-grille .wp-block-image{margin:0;min-width:0;display:flex;align-items:center;justify-content:center}
.user-carte .wp-block-image,.sol-carte .wp-block-image,.deploi-img .wp-block-image{margin:0}
.btn-bloc{margin-top:34px}
.btn-bloc .wp-block-button__link{background:var(--degrade);color:#fff;font-weight:600;font-size:16px;
  padding:15px 30px;border-radius:100px;box-shadow:0 8px 26px rgba(46,32,255,.28);
  transition:transform .18s,box-shadow .18s}
.btn-bloc .wp-block-button__link:hover{transform:translateY(-2px)}
.btn-bloc.blanc .wp-block-button__link{background:#fff;color:var(--bleu-nuit);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.sol-carte video,.sol-carte .wp-block-video video{width:100%;border-radius:10px;border:1px solid var(--ligne)}

/* ---- Formulaire de contact -------------------------------------------------- */
.cta-fin .formulaire{background:#fff;color:#1A1633;border-radius:14px;padding:34px 32px 30px;
  max-width:720px;margin:36px auto 0;text-align:left;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.formulaire label{font-size:14px;font-weight:600;display:block;margin-bottom:6px;color:#1A1633}
.formulaire p{margin:0 0 16px}
.form-grille{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.form-grille{grid-template-columns:1fr}}
.formulaire input[type=text],.formulaire input[type=email],.formulaire input[type=tel],.formulaire textarea{
  width:100%;padding:12px 14px;border:1px solid rgba(26,22,51,.2);border-radius:10px;
  font:inherit;font-size:15px;color:#1A1633;background:#fff;box-sizing:border-box}
.formulaire textarea{min-height:78px;resize:vertical}
.formulaire input:focus,.formulaire textarea:focus{outline:2px solid #2E20FF;border-color:transparent}
.formulaire .consentement{font-size:13px;color:#5C5972;display:flex;gap:10px;align-items:flex-start}
.formulaire .consentement input{margin-top:3px}
.formulaire input[type=submit],.formulaire .bouton-envoi{
  display:inline-block;background:linear-gradient(100deg,#0A0495,#2E20FF);color:#fff;font-weight:600;
  font-size:16px;padding:14px 30px;border:0;border-radius:100px;cursor:pointer;
  box-shadow:0 8px 26px rgba(46,32,255,.28);transition:transform .18s}
.formulaire input[type=submit]:hover,.formulaire .bouton-envoi:hover{transform:translateY(-2px)}
.formulaire .wpcf7-not-valid-tip{color:#C0262D;font-size:12.5px}
.formulaire .wpcf7-response-output{border-radius:10px;padding:12px 14px;margin:14px 0 0;font-size:14px}
.cta-fin .autre{margin-top:20px;font-size:14.5px;opacity:.9}
.cta-fin .autre a{text-decoration:underline;color:#fff}

/* Correctif : neutralise l'espacement automatique de Gutenberg (margin-block-start)
   dans les grilles et les cartes du thème, qui décalait le premier élément. */
.users-grille > *,.sol-grille > *,.caps-grille > *,.piliers > *,.ethique-grille > *,
.refs-grille > *,.part-grille > *,.deploi > *,.stats > *,.preuves > *,.form-grille > *,
.foot-grille > *,.sov .wrap > *,
.user-carte > *,.user-carte .corps > *,.sol-carte > *,.caps-col > *,.ethique-carte > *,
.pilier > *,.preuve > *,.stat > *,.deploi-carte > *,.formulaire > *{margin-block-start:0}

/* ---- Pages intérieures (mentions légales, confidentialité) --------------- */
.page-standard{padding:clamp(44px,6vw,76px) 0 clamp(56px,7vw,92px)}
.wrap-etroit{max-width:860px}
.page-standard h1{font-size:clamp(30px,4vw,44px);text-transform:none;margin:0 0 10px}
.page-standard .maj{font-family:var(--font-mono);font-size:12.5px;color:var(--gris);margin:0 0 34px}
.page-standard h2{font-size:21px;margin:36px 0 12px;color:var(--bleu-nuit)}
.page-standard p{font-size:15.5px;color:rgba(26,22,51,.85);margin:0 0 14px}
.page-standard a{color:var(--bleu);text-decoration:underline}

/* ---- Visuel produit (image, remplaçable par une vidéo) ------------------- */
.sol-carte .media-visuel{margin:20px 0 4px}
.sol-carte .media-visuel img,.sol-carte .wp-block-video video{
  width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid var(--ligne)}

/* ---- Titres sur une seule ligne (utilisateurs, produit) ------------------ */
#utilisateurs h2,#produit h2{font-size:clamp(26px,3.1vw,38px)}
/* ---- Respiration avant le carrousel de références ------------------------ */
.refs .eyebrow{margin:0 0 calc(var(--section-haut)*2)}

/* ---- Sections consécutives de même fond : espace resserré ------------------ */
section.doux + section.doux,
section.nuit + section.nuit,
section:not(.doux):not(.nuit):not(.cta-fin) + section:not(.doux):not(.nuit):not(.cta-fin),
.refs + section:not(.doux):not(.nuit):not(.cta-fin),
section:not(.doux):not(.nuit):not(.cta-fin) + .refs{padding-top:calc(var(--section-haut)*.45)}
