/* Laugil France SAV — noir & or, feuille de style unique optimisée performance */
:root{
  --gold:#c9a227;--gold-d:#8f7322;--gold-l:#d4af37;--gold-bg:#faf6e6;
  --noir:#0d0d0d;--noir2:#1a1a1a;
  --ink:#0f172a;--ink2:#334155;--muted:#64748b;--line:#e2e8f0;--soft:#f8fafc;
  --ok:#15803d;--ok-bg:#f0fdf4;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.6;font-size:1rem;background:#fff}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--gold-d)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* Bandeau offre */
.offer-bar{background:linear-gradient(90deg,var(--gold-d),var(--gold),var(--gold-d));color:#171204;text-align:center;padding:.5rem 1rem;font-weight:600;font-size:.95rem}
.offer-bar a{color:#171204}

/* Header */
header{position:sticky;top:0;z-index:50;background:var(--noir);border-bottom:2px solid var(--gold-d)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 20px;max-width:1080px;margin:0 auto}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;flex-shrink:0}
.brand img{display:block}
.brand .sav{color:var(--gold-l);font-weight:800;font-size:1.05rem;letter-spacing:1px;border-left:1px solid #3a331d;padding-left:.5rem;white-space:nowrap}
nav ul{display:flex;gap:1.2rem;list-style:none;align-items:center}
nav a{text-decoration:none;color:#e8e2cf;font-weight:500;font-size:.95rem;white-space:nowrap}
nav a:hover{color:var(--gold-l)}
.btn{display:inline-block;background:var(--gold);color:#171204!important;padding:.65rem 1.2rem;border-radius:8px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--gold-l)}
.btn.ghost{background:transparent;color:var(--gold-d)!important;border:2px solid var(--gold)}
.btn.big{padding:.9rem 1.6rem;font-size:1.05rem}
.tel{font-weight:800;color:var(--gold-l);text-decoration:none;white-space:nowrap}
#menu-t{display:none}
.burger{display:none;font-size:1.6rem;cursor:pointer;user-select:none;color:var(--gold-l)}

/* Hero */
.hero{background:linear-gradient(160deg,#000 0%,#14100a 55%,#2b2210 100%);color:#fff;padding:3.5rem 0;border-bottom:3px solid var(--gold)}
.hero h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.2;max-width:720px}
.hero p.lead{margin:1rem 0 1.5rem;font-size:1.15rem;color:#ddd3b0;max-width:640px}
.hero .cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hero .cta .btn.ghost{color:var(--gold-l)!important;border-color:var(--gold)}
.badges{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;font-size:.95rem;color:#cbbd8e}
.badges b{color:#fff}

/* Sections */
section{padding:2.8rem 0}
section.alt{background:var(--soft)}
h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:.6rem;letter-spacing:-.4px}
.sub{color:var(--muted);max-width:680px;margin-bottom:1.6rem}
.grid{display:grid;gap:1.2rem}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:12px;padding:1.4rem}
.card h3{margin-bottom:.4rem;font-size:1.1rem}
.card p{color:var(--ink2);font-size:.95rem}
.card .ico{font-size:1.6rem;margin-bottom:.6rem}
.price{font-size:1.5rem;font-weight:800;color:var(--gold-d)}
.price small{font-size:.85rem;color:var(--muted);font-weight:500}
.strike{text-decoration:line-through;color:var(--muted);font-weight:500;font-size:1rem}

/* Offre encart */
.offer-box{background:var(--gold-bg);border:2px solid var(--gold);border-radius:12px;padding:1.4rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:space-between}
.offer-box b{color:var(--gold-d)}

/* FAQ */
details{border:1px solid var(--line);border-radius:10px;margin-bottom:.7rem;background:#fff}
summary{padding:1rem 1.2rem;font-weight:600;cursor:pointer;list-style:none;position:relative}
summary::after{content:"+";position:absolute;right:1.2rem;color:var(--gold);font-weight:800}
details[open] summary::after{content:"–"}
details .a{padding:0 1.2rem 1rem;color:var(--ink2)}

/* Tableaux */
table{width:100%;border-collapse:collapse;margin:1rem 0}
th{background:var(--noir);color:var(--gold-l);text-align:left;padding:.7rem .9rem;font-size:.9rem}
td{border-bottom:1px solid var(--line);padding:.7rem .9rem;font-size:.95rem;color:var(--ink2)}
tr:nth-child(even) td{background:var(--soft)}

/* Form */
form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{font-weight:600;font-size:.9rem;display:block;margin:.8rem 0 .25rem}
input,select,textarea{width:100%;padding:.7rem .8rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.hp{position:absolute;left:-5000px}

/* Steps */
.steps{counter-reset:s;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.2rem;position:relative}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-14px;left:1rem;background:var(--gold);color:#171204;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.9rem}
.step h3{margin:.5rem 0 .3rem;font-size:1rem}

/* CTA band */
.cta-band{background:linear-gradient(160deg,#000,#1c160a);color:#fff;text-align:center;padding:2.6rem 20px;border-radius:16px;margin:0 20px;border:1px solid var(--gold-d)}
.cta-band h2{color:#fff}
.cta-band p{color:#ddd3b0;margin-bottom:1.2rem}

/* Breadcrumb */
.bc{font-size:.85rem;color:var(--muted);padding:1rem 0 0}
.bc a{color:var(--muted)}

/* Footer */
footer{background:var(--noir);color:#cbbd8e;margin-top:3rem;padding:2.5rem 0 1.5rem;font-size:.92rem;border-top:3px solid var(--gold)}
footer h3{color:var(--gold-l);margin-bottom:.6rem;font-size:1rem;font-weight:700}
footer a{color:#e8dfc2;text-decoration:none}
footer a:hover{text-decoration:underline;color:var(--gold-l)}
footer ul{list-style:none}
footer li{margin-bottom:.4rem}
.fgrid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.fbot{border-top:1px solid rgba(212,175,55,.25);margin-top:2rem;padding-top:1.2rem;font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}

/* Mobile */
@media(max-width:820px){
  nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--noir);flex-direction:column;padding:1rem 20px;border-bottom:2px solid var(--gold-d);gap:.8rem}
  #menu-t:checked ~ ul{display:flex}
  .burger{display:block}
  form .row{grid-template-columns:1fr}
  .nav .btn{display:none}
  header .tel{display:none}
  .brand .sav{font-size:.95rem;padding-left:.4rem}
}
/* Bouton appel fixe mobile */
.call-fab{display:none}
@media(max-width:820px){
  .call-fab{display:block;position:fixed;bottom:16px;left:16px;right:16px;z-index:60;text-align:center;background:var(--gold);color:#171204;font-weight:800;padding:.9rem;border-radius:12px;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.35)}
  body{padding-bottom:70px}
}
/* Footer compact mobile */
@media(max-width:560px){
  footer{margin-top:2rem;padding:2rem 0 1.2rem}
  .fgrid{grid-template-columns:1fr 1fr;gap:1.3rem 1.4rem}
  .fgrid > :first-child{grid-column:1 / -1;margin-bottom:.3rem}
  footer li{margin-bottom:.3rem}
  footer h3{margin-bottom:.4rem}
}

/* Avis clients */
.stars{color:var(--gold);letter-spacing:2px;font-size:1.05rem}
.who{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.avis-txt{font-style:italic;color:var(--ink2);font-size:.95rem;margin-top:.4rem}

/* Hero home — maquette D (formulaire + zone photo technicien) */
.hero.hero-d{position:relative;overflow:hidden;background:#0d0b06}
.hero.hero-d .photo{position:absolute;inset:0;background:
  linear-gradient(100deg,rgba(8,7,3,.97) 38%,rgba(8,7,3,.55) 62%,rgba(8,7,3,.15) 100%),
  radial-gradient(ellipse at 78% 45%,#4a3c15 0%,#241d0c 45%,#0d0b06 80%);
  background-size:cover;background-position:right center}
/* Quand la photo IA est prête : décommenter et déposer le fichier
.hero.hero-d .photo{background:
  linear-gradient(100deg,rgba(8,7,3,.95) 34%,rgba(8,7,3,.45) 60%,rgba(8,7,3,0) 100%),
  url('/assets/hero-technicien.webp') right center/cover no-repeat}
*/
.hero.hero-d .tech{position:absolute;right:6%;bottom:0;height:92%;opacity:.85;pointer-events:none}
.hero.hero-d .split{display:flex;gap:2.5rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;position:relative;z-index:1}
.devis-card{background:#fff;border-radius:14px;border-top:4px solid var(--gold);padding:1.4rem;width:340px;color:#0f172a;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.devis-card h2{font-size:1.15rem;margin-bottom:.2rem}
.devis-card .st{font-size:.85rem;color:#64748b;margin-bottom:.6rem}
.devis-card label{margin:.5rem 0 .2rem}
@media(max-width:900px){.devis-card{width:100%}.hero.hero-d .tech{display:none}}

/* Formulaire compact */
.devis-card .row2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.devis-card label{font-size:.76rem;margin:.45rem 0 .15rem;color:#475569}
.devis-card label .opt{font-weight:400;color:#94a3b8}
.devis-card input,.devis-card select,.devis-card textarea{padding:.55rem .7rem;font-size:.92rem;border-radius:8px}
.check{display:flex;gap:.5rem;align-items:flex-start;font-size:.76rem;color:#334155;margin:.4rem 0 0;font-weight:400;line-height:1.4}
.check input{width:auto;margin-top:.2rem;accent-color:#c9a227}
details.legal{border:none;background:transparent;margin:.35rem 0 0}
details.legal summary{padding:.2rem 0;font-size:.7rem;color:#94a3b8;font-weight:500}
details.legal summary::after{content:""}
details.legal p{font-size:.68rem;color:#94a3b8;padding:.2rem 0 0;margin:0;line-height:1.45}
.btn-submit{width:100%;margin-top:.7rem}
.trust{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;font-size:.7rem;color:#94a3b8;margin-top:.6rem;border-top:1px solid #eef2f7;padding-top:.55rem}
@media(max-width:560px){.devis-card .row2{grid-template-columns:1fr}}

/* Responsive : tableaux scrollables + confort mobile */
@media(max-width:760px){
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .offer-bar{font-size:.8rem;padding:.45rem .8rem}
  section{padding:2rem 0}
  .hero{padding:2.4rem 0}
  .cta-band{margin:0 12px;padding:2rem 16px}
}

/* Quiz diagnostic */
.quiz-box{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:14px;padding:1.6rem;box-shadow:0 10px 30px rgba(0,0,0,.07)}
.quiz-bar{height:6px;background:#eee9d8;border-radius:3px;margin-bottom:1.2rem;overflow:hidden}
.quiz-fill{height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold));border-radius:3px;transition:width .3s}
.quiz-step{display:none}
.quiz-step.active{display:block}
.quiz-step h3{margin-bottom:.9rem;font-size:1.15rem}
.quiz-opts{display:grid;gap:.6rem}
.quiz-opts button{text-align:left;padding:.85rem 1rem;border:2px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-weight:600;color:#0f172a;cursor:pointer}
.quiz-opts button:hover{border-color:var(--gold);background:var(--gold-bg)}

/* Validation formulaire — états invalides */
.invalid, input.invalid, select.invalid, textarea.invalid{border:2px solid #dc2626!important;background:#fef2f2!important}
.check.invalid span{color:#b91c1c;font-weight:600}
.check.invalid input{outline:2px solid #dc2626}
.form-error{display:none;background:#fef2f2;border:2px solid #dc2626;color:#b91c1c;border-radius:10px;padding:.7rem .9rem;font-size:.85rem;font-weight:600;margin:.6rem 0}
.form-error.show{display:block}

/* Accessibilité : liens de contenu soulignés (ne pas se fier à la couleur seule) */
main section p a, .card p a, details .a a, .sub a{text-decoration:underline}
.hero .cta a, .btn, .nav a, nav a, .offer-bar a{text-decoration:none}
/* Contraste renforcé des textes gris très clairs */
.trust{color:#5b6472}
details.legal summary{color:#6b7280}
details.legal p{color:#6b7280}
.devis-card label{color:#3f4a5a}

/* Widget quiz flottant (bas-droite) */
#quiz-fab{position:fixed;bottom:24px;right:24px;z-index:70;background:var(--gold);color:#171204;border:0;border-radius:30px;padding:.85rem 1.3rem;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3);display:flex;align-items:center;gap:.4rem;font-family:inherit}
#quiz-fab:hover{background:var(--gold-l);transform:translateY(-2px);transition:.15s}
#quiz-overlay{position:fixed;inset:0;z-index:80;background:rgba(8,7,3,.7);display:none;align-items:center;justify-content:center;padding:16px}
#quiz-overlay.on{display:flex}
.quiz-modal{background:#fff;border-radius:16px;border-top:5px solid var(--gold);width:100%;max-width:440px;max-height:92vh;overflow-y:auto;padding:1.4rem;position:relative;box-shadow:0 30px 70px rgba(0,0,0,.5)}
.quiz-close{position:absolute;top:.6rem;right:.8rem;background:none;border:0;font-size:1.8rem;line-height:1;color:#94a3b8;cursor:pointer}
.quiz-close:hover{color:#0f172a}
.quiz-head{margin-bottom:.9rem}
.quiz-head strong{display:block;font-size:1.15rem;color:#171204}
.quiz-head span{font-size:.82rem;color:var(--muted)}
.quiz-modal .quiz-box{max-width:none;margin:0;border:0;box-shadow:none;padding:0}
@media(max-width:820px){
  #quiz-fab{bottom:84px;right:12px;padding:.7rem 1rem;font-size:.85rem}
}

/* Bandeau camion */
.vanband{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vanwrap{display:grid;grid-template-columns:1fr minmax(0,340px);gap:2rem;align-items:center;padding-top:1.5rem;padding-bottom:1.5rem}
.vantxt h2{margin:0 0 .5rem;font-size:1.35rem}
.vantxt p{color:var(--ink2);margin:0 0 1.1rem;max-width:44ch}
.vanimg{width:100%;height:auto;border-radius:12px;box-shadow:0 8px 22px rgba(15,23,42,.13)}
@media(max-width:760px){
  .vanwrap{grid-template-columns:1fr;gap:1rem;text-align:center;padding-top:1.3rem;padding-bottom:1.3rem}
  .vantxt p{max-width:none;margin-left:auto;margin-right:auto}
  .vanimg{order:-1;max-width:300px;margin:0 auto}
}


/* Avis Google */
.grev-sec{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grev-inner{text-align:center}
.grev-title{margin:0 0 .6rem}
.grev-head{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem;font-size:.95rem}
.grev-g{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid var(--line);color:#4285F4;font-weight:800;font-family:Arial,Helvetica,sans-serif}
.grev-stars{color:var(--gold);letter-spacing:1px}
.grev-count{color:var(--muted)}
.grev-link{color:var(--gold-d);font-weight:700;text-decoration:none}
.grev-link:hover{text-decoration:underline}
.grev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;transition:opacity .18s ease}
.grev-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.15rem;text-align:left;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 4px 14px rgba(15,23,42,.05)}
.grev-cstars{color:var(--gold);letter-spacing:2px;font-size:1.05rem}
.grev-txt{margin:0;color:var(--ink2);line-height:1.5;font-size:.95rem}
.grev-who{font-weight:700;color:var(--ink);font-size:.9rem;display:flex;flex-direction:column;gap:.1rem;margin-top:auto}
.grev-date{font-weight:400;color:var(--muted);font-size:.8rem}
@media(max-width:999px){.grev-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:719px){.grev-grid{grid-template-columns:1fr}}
