/*
Theme Name: TL Motors
Theme URI: https://tlmotors.fr
Author: TL Motors
Description: Thème bloc sur mesure de TL Motors — reprogrammation moteur à domicile autour de Muret.
Version: 1.0.5
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tl-motors
Tags: block-theme, full-site-editing, business, dark
*/

:root{
  --noir:#0f0f10;
  --noir-2:#151618;
  --cyan:#1ed6df;
  --bleu:#2f7bf5;
  --blanc:#ffffff;
  --gris:#9a9fa6;
  --halo:#0d4a4c;
  --degrade:linear-gradient(90deg,var(--cyan),var(--bleu));
  --display:'Krona One',sans-serif;
  --texte:'Montserrat',sans-serif;
  --bord:clamp(20px,8vw,125px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--noir);color:var(--blanc);font:400 18px/1.45 var(--texte);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto} /* height:auto : sinon l'attribut height des blocs image l'emporte sur aspect-ratio */
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:400;hyphens:none;text-wrap:balance}
p{margin:0}

/* Espacement automatique de Gutenberg : coupé dans theme.json (blockGap 0),
   filet de sécurité ici à spécificité nulle — jamais .wp-block-group > *. */
:where(.wp-block-group)>:where(*),:where(.wp-block-buttons){margin-block:0}
figure.wp-block-image{margin:0}
.wp-site-blocks{padding:0}

/* Icônes : masques CSS (aucun SVG dans le contenu) */
:root{
  --ico-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
  --ico-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
  --ico-lieu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  --ico-heure:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --ico-fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* ---------- En-tête ---------- */
.entete{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;gap:clamp(24px,5vw,84px);padding:40px clamp(20px,4.6vw,70px)}
.wp-block-site-logo.logo{flex:none;line-height:0}
.wp-block-site-logo.logo img{display:block;height:56px!important;width:auto!important}
.wp-block-site-logo.logo--pied img{height:70px!important}
.wp-block-navigation.nav{font-size:19px}
.wp-block-navigation.nav .wp-block-navigation__container{gap:clamp(24px,5.6vw,84px)}
.wp-block-navigation.nav .wp-block-navigation-item__content{position:relative;padding:6px 0}
.wp-block-navigation.nav .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;border-radius:3px;background:var(--degrade);transform:scaleX(0);transition:transform .25s}
.wp-block-navigation.nav .wp-block-navigation-item__content:hover::after,
.wp-block-navigation.nav .current-menu-item>.wp-block-navigation-item__content::after{transform:scaleX(1)}
/* Le panneau mobile de core/navigation s'ouvre blanc sur blanc sans ceci
   (le CSS du bloc est imprimé APRÈS cette feuille) : */
.wp-block-navigation.nav .wp-block-navigation__responsive-container.is-menu-open{background-color:rgba(15,15,16,.985)!important;color:var(--blanc)!important}
.wp-block-navigation.nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:34px;font-size:26px;align-items:center}
.wp-block-navigation.nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:center;padding-top:80px}
.wp-block-navigation.nav .wp-block-navigation__responsive-container-open,
.wp-block-navigation.nav .wp-block-navigation__responsive-container-close{color:var(--blanc)}
.wp-block-navigation.nav .wp-block-navigation__responsive-container-open{width:42px;height:42px;border:1px solid #3a3d42;border-radius:50%;justify-content:center;align-items:center}
.outils{margin-left:auto;display:flex;align-items:center;gap:26px}
.rond{width:42px;height:42px;border-radius:50%;border:1px solid #3a3d42;display:grid;place-items:center;transition:border-color .2s}
.rond:hover{border-color:var(--cyan)}
.rond a{display:block;width:20px;height:20px;font-size:0;color:transparent;background:#fff;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.rond a::after{content:"";position:absolute;inset:-11px}
.rond{position:relative}
.ico-tel a{-webkit-mask-image:var(--ico-tel);mask-image:var(--ico-tel)}
.ico-mail a{-webkit-mask-image:var(--ico-mail);mask-image:var(--ico-mail)}
.ico-lieu a{-webkit-mask-image:var(--ico-lieu);mask-image:var(--ico-lieu)}
.tel{font-weight:700;font-size:17px;margin-left:24px;white-space:nowrap}

/* ---------- Titres : dégradé + contour décalé (filtre SVG fourni par le thème) ---------- */
.titre-xl,.titre-l{width:fit-content;background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase;letter-spacing:-.02em}
.titre-xl{font-family:var(--display);font-size:clamp(38px,4.9vw,74px);line-height:1.04;max-width:900px;filter:url(#tl-contour)}
.titre-l{font-family:var(--display);font-size:clamp(28px,3.4vw,50px);line-height:1.05;filter:url(#tl-contour-s)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:1040px;padding:206px var(--bord) 0;isolation:isolate}
.hero__sur{font-weight:600;font-size:24px;margin-bottom:26px}
.hero__texte{margin-top:60px;max-width:560px;font-size:18px;line-height:1.3}

/* Bouton : le style vit sur le lien, le conteneur est neutralisé */
.wp-block-buttons.boutons{display:block}
.wp-block-button.bouton{display:inline-block;margin:52px 0 0 34px;background:none;border:0;padding:0}
.wp-block-button.bouton .wp-block-button__link{display:inline-grid;place-items:center;min-width:365px;height:84px;padding:0 48px;background:var(--degrade);color:var(--blanc);font:700 18px var(--texte);text-transform:uppercase;letter-spacing:.01em;border-radius:24px 64px 70px 10px / 24px 60px 84px 10px;border:0;transition:filter .2s,transform .2s;text-decoration:none}
.wp-block-button.bouton .wp-block-button__link:hover{filter:brightness(1.12);transform:translateY(-2px)}

figure.wp-block-image.hero__voiture{position:absolute;z-index:-1;right:-12vw;top:300px;width:min(1240px,84vw);margin:0}
.hero__voiture::before{content:"";position:absolute;inset:14% 6% 4% 22%;background:radial-gradient(closest-side,rgba(13,90,94,.45),rgba(13,74,76,.18) 60%,transparent);filter:blur(60px);z-index:-1}
.hero__voiture img,.hero__voiture::after{-webkit-mask-image:radial-gradient(ellipse 52% 46% at 58% 54%,#000 35%,rgba(0,0,0,.6) 65%,transparent 100%);mask-image:radial-gradient(ellipse 52% 46% at 58% 54%,#000 35%,rgba(0,0,0,.6) 65%,transparent 100%)}
.hero__voiture img{width:100%;filter:brightness(.92) contrast(1.6) saturate(.6)}
.hero__voiture::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,var(--cyan),#22a9e8 80%);mix-blend-mode:color;opacity:.85;pointer-events:none}

/* ---------- Titres de section ---------- */
.sur{font-weight:600;font-size:22px;margin-bottom:20px}

/* ---------- Services (accueil) ---------- */
.services{padding:40px var(--bord) 140px}
.services__tete{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:70px}
.services__tete p{max-width:420px;color:var(--gris)}
.liste{border-top:1px solid #26292d}
.ligne{display:grid;grid-template-columns:90px 1fr 1.1fr 60px;align-items:center;gap:32px;padding:38px 0;border-bottom:1px solid #26292d;position:relative;transition:padding .3s}
.ligne__num{font:400 22px var(--display);color:#3a3d42}
.ligne h3{font:400 clamp(24px,2.4vw,34px)/1.05 var(--display);text-transform:uppercase}
.ligne__texte{color:var(--gris);font-size:17px}
.ligne--pro .ligne__texte em{display:block;margin-top:6px;font-size:13px;color:#6c7178;font-style:normal}
.ligne__fleche{width:56px;height:56px;border-radius:50%;border:1px solid #3a3d42;display:grid;place-items:center;transition:background .25s,border-color .25s}
.ligne__fleche a{display:block;width:20px;height:20px;font-size:0;color:transparent;background:#fff;-webkit-mask:var(--ico-fleche) center/contain no-repeat;mask:var(--ico-fleche) center/contain no-repeat}
.ligne__fleche a::after{content:"";position:absolute;inset:0}
.ligne:hover .ligne__num{background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent}
.ligne:hover .ligne__fleche{background:var(--degrade);border-color:transparent}

/* ---------- Stage 1 / Stage 2 ---------- */
.stages{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:760px;isolation:isolate}
figure.wp-block-image.stages__photo{position:relative;overflow:hidden;margin:0}
.stages__photo img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:50% 70%;filter:saturate(1.2)}
.stages__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,var(--noir))}
.stages__contenu{padding:120px var(--bord) 120px 40px;position:relative}
.onglets{display:flex;gap:12px;margin:48px 0 44px}
.onglet{display:flex;align-items:center;font:700 16px var(--texte);text-transform:uppercase;color:var(--blanc);background:transparent;border:1px solid #3a3d42;height:56px;padding:0 34px;cursor:pointer;border-radius:18px 40px 44px 8px / 18px 40px 56px 8px;transition:border-color .2s;user-select:none}
.onglet:hover{border-color:var(--cyan)}
.onglet.actif{background:var(--degrade);border-color:transparent}
.panneau{display:none}
.panneau.actif{display:block}
.jauges{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;margin-bottom:36px}
.jauge__val{font:400 64px/1 var(--display);background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}
.jauge__lib{color:var(--gris);font-size:15px;line-height:26.1px} /* ligne du parent (18px × 1.45), comme dans la maquette */
.panneau ul,.puces{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.panneau li,.puces li{padding-left:30px;position:relative}
.panneau li::before,.puces li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:4px;border-radius:4px;background:var(--degrade)}
.note{margin-top:28px;font-size:13px;color:#6c7178}

/* ---------- À domicile ---------- */
.domicile{position:relative;padding:160px var(--bord) 180px;display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center}
.domicile__visuel{position:relative}
.domicile__visuel img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px 90px 24px 24px}
.domicile__visuel::before{content:"";position:absolute;inset:-60px -60px auto auto;width:70%;height:70%;background:radial-gradient(closest-side,rgba(30,214,223,.35),transparent);filter:blur(30px);z-index:-1}
.badge{position:absolute;right:-48px;bottom:56px;background:var(--noir-2);border:1px solid #2a2d31;padding:26px 30px;border-radius:20px 50px 20px 20px;box-shadow:0 30px 60px rgba(0,0,0,.55)}
.badge__val{font:400 40px/1 var(--display);background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}
.badge__lib{font-size:14px;line-height:26.1px;color:var(--gris)}
.etapes{counter-reset:e;margin-top:56px;display:grid;gap:38px}
.etape{display:grid;grid-template-columns:72px 1fr;gap:22px}
.etape::before{counter-increment:e;content:"0" counter(e);font:400 44px/1 var(--display);color:transparent;-webkit-text-stroke:1.3px var(--cyan)}
.etape h3{font:700 20px var(--texte);margin-bottom:6px}
.etape p{color:var(--gris);font-size:16px}

/* ---------- Zone ---------- */
.zone{position:relative;padding:150px var(--bord);overflow:hidden;background:radial-gradient(ellipse 60% 70% at 75% 50%,rgba(13,74,76,.45),transparent 70%)}
.zone__grille{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.zone__villes{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.zone__villes p{border:1px solid #2f3237;padding:10px 20px;border-radius:30px;font-size:15px}
.radar{position:relative;aspect-ratio:1;width:min(560px,100%);justify-self:end;border-radius:50%;
  background:radial-gradient(circle closest-side,transparent calc(36% - 1px),rgba(30,214,223,.5) calc(36% - 1px) 36%,transparent 36% calc(68% - 1px),rgba(30,214,223,.25) calc(68% - 1px) 68%,transparent 68% calc(100% - 1px),rgba(30,214,223,.25) calc(100% - 1px))}
.radar::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(30,214,223,.28),transparent 25%);animation:tour 6s linear infinite}
.radar::after{content:"";position:absolute;inset:44%;border-radius:50%;background:var(--degrade);box-shadow:0 0 60px 10px rgba(30,214,223,.5)}
.radar__label{position:absolute;left:50%;top:50%;transform:translate(-50%,46px);text-align:center;font:400 22px var(--display);white-space:nowrap}
@keyframes tour{to{transform:rotate(360deg)}}

/* ---------- Bandeau contact ---------- */
.contact{position:relative;padding:150px var(--bord) 120px;isolation:isolate}
figure.wp-block-image.contact__fond{position:absolute;inset:0;z-index:-1;overflow:hidden;margin:0}
.contact__fond img{width:100%;height:100%!important;object-fit:cover;object-position:50% 45%;opacity:.3}
.contact__fond::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--noir),transparent 35%,transparent 60%,var(--noir))}
.contact .titre-xl{max-width:900px}
.contact__liens{display:flex;flex-wrap:wrap;gap:24px 70px;margin-top:56px;align-items:center}
.lien__lib{font-size:14px;line-height:normal;font-weight:500;color:var(--gris);margin-bottom:4px}
.lien__val{font:600 clamp(22px,2.4vw,34px) var(--texte)}
.contact .wp-block-button.bouton{margin:0}

/* ---------- Pied ---------- */
.pied{padding:60px var(--bord) 50px;border-top:1px solid #26292d;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;font-size:15px;color:var(--gris)}
.pied__accroche{margin-top:16px;max-width:320px}
.pied h4{margin:0 0 14px;color:var(--blanc);font:600 16px var(--texte)}
.pied a:hover{color:var(--cyan)}
.pied__legal{grid-column:1/-1;font-size:12px;color:#5f646a;border-top:1px solid #1d1f22;padding-top:24px;line-height:1.6}

/* ================= Pages internes ================= */
.tete{position:relative;min-height:860px;padding:206px var(--bord) 120px;isolation:isolate}
.tete figure.wp-block-image.hero__voiture{top:250px;right:-12vw;width:min(1000px,68vw)}
.tete .hero__texte{margin-top:44px;max-width:520px}

/* ---------- Détail d'un service ---------- */
.detail{display:grid;grid-template-columns:1fr 1.05fr;gap:100px;align-items:center;padding:110px var(--bord);scroll-margin-top:40px}
.detail--inverse .detail__visuel{order:2}
.detail__visuel{position:relative;isolation:isolate}
.detail__visuel img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:24px 90px 24px 24px}
.detail__visuel::before{content:"";position:absolute;inset:-50px -50px auto auto;width:65%;height:65%;background:radial-gradient(closest-side,rgba(30,214,223,.32),transparent);filter:blur(30px);z-index:-1}
.detail--inverse .detail__visuel::before{inset:auto auto -50px -50px}
.detail__num{position:absolute;left:-34px;bottom:-46px;font:400 132px/1 var(--display);color:var(--noir);-webkit-text-stroke:1.5px var(--cyan)}
.detail--inverse .detail__num{left:auto;right:-34px}
.detail .titre-l{margin-bottom:28px}
.detail p.detail__intro{color:#d4d7db;margin-bottom:30px}
.detail__ideal{margin-top:34px;padding-top:24px;border-top:1px solid #26292d;color:var(--gris);font-size:16px}
.detail__ideal strong{color:var(--blanc);font-weight:600}

/* ---------- Encart FAP / EGR / AdBlue ---------- */
.competition{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;margin:40px var(--bord) 140px;padding:64px;background:var(--noir-2);border:1px solid #2a2d31;border-radius:24px 90px 24px 24px;scroll-margin-top:40px}
.competition__visuels{position:relative;padding-bottom:70px}
.competition__visuels img{display:block;object-fit:cover;border-radius:18px}
.competition__visuels figure:first-child{width:88%}
.competition__visuels figure:first-child img{width:100%;aspect-ratio:16/9}
.competition__visuels figure:last-child{position:absolute;right:0;bottom:0;width:40%}
.competition__visuels figure:last-child img{width:100%;aspect-ratio:3/4;object-position:50% 52%;border:6px solid var(--noir-2);border-radius:18px 50px 18px 18px;box-shadow:0 30px 60px rgba(0,0,0,.6)}
.competition .titre-l{font-size:clamp(24px,2.4vw,36px);margin-bottom:22px}
.competition p{color:var(--gris);font-size:16px}
.avertissement{margin-top:26px;padding:20px 24px;border-left:3px solid var(--cyan);background:#101113;font-size:14px;color:#b9bdc2;line-height:1.55}
.competition p.avertissement{font-size:14px;color:#b9bdc2}

/* ---------- Histoire ---------- */
.histoire{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;padding:140px var(--bord) 80px}
.histoire__grand{font:600 clamp(22px,2.3vw,32px)/1.4 var(--texte)}
.histoire__grand em{font-style:normal;background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent}
.histoire__texte{display:grid;gap:20px;color:var(--gris);align-content:start;padding-top:8px}

/* ---------- Valeurs ---------- */
.valeurs{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:40px var(--bord) 60px}
.valeur{padding-top:34px;border-top:1px solid #26292d}
.valeur__num{font:400 44px/1 var(--display);color:transparent;-webkit-text-stroke:1.3px var(--cyan);margin-bottom:26px}
.valeur h3{font:400 22px/1.1 var(--display);text-transform:uppercase;margin-bottom:14px}
.valeur p:not(.valeur__num){color:var(--gris);font-size:16px}

/* ---------- Contact ---------- */
.coord{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding:40px var(--bord) 140px}
.coord__liste{display:grid;gap:0;align-content:start}
.coord__item{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:22px;align-items:center;padding:30px 0;border-bottom:1px solid #26292d}
.coord__item:first-child{border-top:1px solid #26292d}
.coord__item::before{content:"";width:56px;height:56px;border-radius:50%;border:1px solid #3a3d42}
.coord__item::after{content:"";position:absolute;left:18px;top:50%;width:20px;height:20px;margin-top:-10px;background:#fff;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.coord--tel::after{-webkit-mask-image:var(--ico-tel);mask-image:var(--ico-tel)}
.coord--mail::after{-webkit-mask-image:var(--ico-mail);mask-image:var(--ico-mail)}
.coord--zone::after{-webkit-mask-image:var(--ico-lieu);mask-image:var(--ico-lieu)}
.coord--heure::after{-webkit-mask-image:var(--ico-heure);mask-image:var(--ico-heure)}
.coord__lib{color:var(--gris);font-size:14px;margin-bottom:4px}
.coord__val{font:600 clamp(18px,1.7vw,24px) var(--texte)}

/* Formulaire Contact Form 7 */
.wpcf7{margin:0}
.formulaire{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px;padding:48px;background:var(--noir-2);border:1px solid #2a2d31;border-radius:24px 90px 24px 24px}
.formulaire h2{grid-column:1/-1;font:400 26px/1.1 var(--display);text-transform:uppercase;margin-bottom:8px}
.formulaire .hidden-fields-container{display:none}
.champ{display:grid;gap:8px}
.champ--large{grid-column:1/-1}
.champ label{font-size:14px;font-weight:600}
.champ .wpcf7-form-control-wrap{display:block}
.champ input,.champ select,.champ textarea{display:block;width:100%;font:400 16px var(--texte);color:var(--blanc);background:var(--noir);border:1px solid #2f3237;border-radius:14px;padding:15px 18px;outline:none;transition:border-color .2s}
.champ select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--cyan) 50%),linear-gradient(135deg,var(--cyan) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.champ textarea{min-height:150px;height:150px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--cyan)}
.champ input::placeholder,.champ textarea::placeholder{color:#6c7178}
.formulaire .envoi{grid-column:1/-1;display:flex;align-items:center;gap:16px}
.formulaire input.bouton{display:inline-grid;place-items:center;min-width:365px;height:84px;padding:0 48px;margin:10px 0 0;background:var(--degrade);color:var(--blanc);font:700 18px var(--texte);text-transform:uppercase;letter-spacing:.01em;border-radius:24px 64px 70px 10px / 24px 60px 84px 10px;border:0;cursor:pointer;transition:filter .2s}
.formulaire input.bouton:hover{filter:brightness(1.12)}
.formulaire .wpcf7-spinner{display:none}
.formulaire__note{grid-column:1/-1;font-size:13px;color:#6c7178}
.formulaire .wpcf7-not-valid-tip{margin-top:6px;font-size:13px;color:#ff7a7a}
.wpcf7 form .wpcf7-response-output{grid-column:1/-1;margin:0;padding:14px 18px;border-radius:14px;border:1px solid var(--cyan);font-size:15px}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:#ff7a7a}

:where(a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
/* Mouvement réduit : animations ramenées à 1 ms plutôt que supprimées — le panneau mobile de\n   core/navigation n'atteint son opacité finale qu'à la fin de son animation. */\n@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition:none!important}}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .outils .rond{display:none}
  .wp-block-navigation.nav .wp-block-navigation__container{gap:28px}
  .hero{min-height:auto;padding-bottom:80px}
  figure.wp-block-image.hero__voiture,.tete figure.wp-block-image.hero__voiture{position:relative;top:auto;right:auto;width:130%;margin:30px -20% 0 -10%}
  .services__tete{flex-direction:column;align-items:start}
  .ligne{grid-template-columns:40px 1fr 48px;grid-template-areas:'n t f' '. p p';gap:14px 16px;padding:28px 0}
  .ligne__num{grid-area:n}.ligne h3{grid-area:t}.ligne__texte{grid-area:p}
  .ligne__fleche{grid-area:f;width:48px;height:48px}
  .stages,.domicile,.zone__grille{grid-template-columns:1fr}
  figure.wp-block-image.stages__photo{min-height:380px}
  .stages__photo::after{background:linear-gradient(180deg,transparent 55%,var(--noir))}
  .stages__contenu{padding:40px var(--bord) 100px}
  .badge{right:12px}
  .radar{justify-self:center}
  .pied{grid-template-columns:1fr}
  .tete{min-height:auto;padding-bottom:60px}
  .detail,.competition,.histoire,.coord{grid-template-columns:minmax(0,1fr);gap:56px}
  .detail--inverse .detail__visuel{order:0}
  .detail__num,.detail--inverse .detail__num{left:auto;right:12px;bottom:-40px;font-size:90px}
  .valeurs{grid-template-columns:1fr;gap:0}
  .valeur{padding:30px 0}
}
@media (max-width:600px){
  body{font-size:16px}
  .entete{padding:24px 20px}
  .tel{display:none}
  .hero{padding-top:140px}
  .hero__sur{font-size:18px}
  .wp-block-button.bouton{display:block;margin-left:0}
  .wp-block-button.bouton .wp-block-button__link{min-width:0;width:100%;height:72px}
  .jauge__val{font-size:34px;white-space:nowrap}
  .jauges{gap:24px 16px}
  .jauge__lib,.badge__lib{line-height:23.2px}
  .hero__texte br{display:none}
  .hero__texte{margin-top:32px}
  .ligne h3{font-size:20px}
  .onglet{padding:0 20px}
  .tete{padding-top:140px}
  .detail{padding:70px var(--bord)}
  .competition,.formulaire{padding:28px 22px}
  .formulaire{grid-template-columns:minmax(0,1fr)}
  .coord__val{font-size:17px}
  .formulaire input.bouton{min-width:0;width:100%;height:72px;padding:0 16px;font-size:16px}
  .wp-block-button.bouton .wp-block-button__link{padding:0 16px}
}
