/* ============================================================
   411 PIÈCES QUÉBEC — feuille de style v11 (refonte visuelle)
   Palette atelier : encre, acier, ambre — continuité Faucher
   ============================================================ */
:root{
  --e:#141D27;        /* encre */
  --e2:#1E2A38;       /* encre claire (panneaux) */
  --ac:#2E4A62;       /* acier */
  --am:#E8A013;       /* ambre */
  --amf:#9C6A05;      /* ambre foncé (texte sur pâle) */
  --f:#F2F3F0;        /* fond apprêt */
  --c:#FFFFFF;        /* carte */
  --l:#E1E4DE;        /* ligne */
  --t2:#5A6470;       /* texte secondaire */
  --ok:#2F7D4F;       /* vert dispo */
  --bleu:#185FA5;     /* bleu usagé */
  --r:12px;
  --ombre:0 1px 2px rgba(20,29,39,.06),0 4px 14px rgba(20,29,39,.07);
  --ombre-h:0 2px 4px rgba(20,29,39,.08),0 12px 28px rgba(20,29,39,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Barlow','Segoe UI',system-ui,sans-serif;
  background:var(--f);color:var(--e);line-height:1.55;font-size:16px;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Bandeau plaque d'atelier ---------- */
.bande{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(180deg,var(--e2),var(--e));
  color:#fff;padding:16px 22px;
  font-family:'Barlow Condensed','Barlow',sans-serif;
  font-weight:700;font-size:22px;letter-spacing:1.5px;
  display:flex;align-items:center;gap:12px;
  border-bottom:3px solid var(--am);
}
.bande::after{ /* liseré hachuré signature */
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;
  background:repeating-linear-gradient(-55deg,var(--am) 0 14px,var(--e) 14px 22px);
}
.bande a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}
.bande a::before{ /* pastille 411 */
  content:"411";display:inline-flex;align-items:center;justify-content:center;
  background:var(--am);color:var(--e);font-size:15px;letter-spacing:.5px;
  padding:4px 8px;border-radius:6px;line-height:1;
}
.bande a:hover span{color:#fff}
.bande span{color:var(--am);transition:color .2s}
.bande .tag{
  margin-left:auto;font-style:normal;font-family:'Barlow',sans-serif;
  font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:#B9C2CC;border:1px solid #3A4756;border-radius:20px;padding:4px 12px;
}

/* ---------- Structure ---------- */
.wrap{max-width:980px;margin:0 auto;padding:28px 18px 70px}
.carte{
  background:var(--c);border:1px solid var(--l);border-radius:var(--r);
  padding:24px;margin-bottom:18px;box-shadow:var(--ombre);
  transition:box-shadow .25s,transform .25s,border-color .25s;
}
.carte:has(> h2 a):hover{
  box-shadow:var(--ombre-h);transform:translateY(-2px);border-color:var(--am);
}

/* ---------- Typographie ---------- */
h1{
  font-family:'Barlow Condensed','Barlow',sans-serif;
  font-weight:700;font-size:34px;line-height:1.12;letter-spacing:.4px;
  text-transform:uppercase;margin-bottom:8px;
}
h2{
  font-family:'Barlow Condensed','Barlow',sans-serif;
  font-weight:600;font-size:22px;letter-spacing:.4px;
  margin:20px 0 10px;padding-left:12px;position:relative;
}
h2::before{
  content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;
  border-radius:2px;background:var(--am);
}
h2 a{color:var(--e);text-decoration:none}
h2 a:hover{color:var(--ac)}
.t2{color:var(--t2);font-size:14.5px}
a{color:var(--ac);text-decoration-color:rgba(46,74,98,.35);text-underline-offset:2px}
a:hover{color:var(--e);text-decoration-color:var(--am)}
:focus-visible{outline:2px solid var(--am);outline-offset:2px;border-radius:4px}

/* ---------- Fiche technique (tableaux) ---------- */
table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums}
th{
  font-family:'Barlow Condensed',sans-serif;font-size:13.5px;font-weight:600;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--t2);
  background:#F7F8F5;border-bottom:2px solid var(--e);
}
td,th{padding:10px 10px;border-bottom:1px solid var(--l);text-align:left}
tr:hover td{background:#FBF7EC}
td:first-child{color:var(--t2)}
.prix{font-weight:700;color:var(--e);white-space:nowrap}

/* ---------- Badges ---------- */
.badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
  padding:3px 10px;border-radius:20px;
  background:#FDF3DC;color:var(--amf);border:1px solid #EFD9A6;
}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.badge.oem{background:#E9F4E7;color:var(--ok);border-color:#C4E0C7}
.badge.usage{background:#E6F1FB;color:var(--bleu);border-color:#BCD8F0}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 20px;border-radius:9px;border:none;cursor:pointer;
  background:var(--am);color:var(--e);text-decoration:none;
  font-family:'Barlow Condensed','Barlow',sans-serif;
  font-weight:700;font-size:16px;letter-spacing:1px;text-transform:uppercase;
  box-shadow:0 2px 0 var(--amf);
  transition:transform .15s,box-shadow .15s,background .15s;
}
.btn:hover{background:#F2AC1E;transform:translateY(-1px);box-shadow:0 3px 0 var(--amf);color:var(--e)}
.btn:active{transform:translateY(1px);box-shadow:0 0 0 var(--amf)}
.btn.v{background:#fff;color:var(--amf);border:1.5px solid var(--am);box-shadow:none}
.btn.v:hover{background:#FDF3DC}

/* ---------- Formulaires ---------- */
select,input[type=text],input[type=email],textarea{
  font-family:inherit;font-size:15px;padding:11px 12px;
  border:1.5px solid var(--l);border-radius:9px;min-width:180px;
  background:#fff;color:var(--e);transition:border-color .15s,box-shadow .15s;
}
select:focus,input:focus,textarea:focus{
  border-color:var(--am);box-shadow:0 0 0 3px rgba(232,160,19,.18);outline:none;
}

/* ---------- Fil d'Ariane ---------- */
.fil{
  font-size:12.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;
  color:var(--t2);margin-bottom:14px;
}
.fil a{color:var(--t2);text-decoration:none}
.fil a:hover{color:var(--amf)}

/* ---------- Héros (accueil) ---------- */
.hero{
  background:
    radial-gradient(900px 420px at 85% -10%,rgba(46,74,98,.55),transparent 60%),
    linear-gradient(160deg,var(--e2) 0%,var(--e) 70%);
  color:#fff;border-radius:var(--r);padding:44px 34px 38px;margin-bottom:22px;
  position:relative;overflow:hidden;box-shadow:var(--ombre-h);
}
.hero::before{
  content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:repeating-linear-gradient(-55deg,var(--am) 0 16px,transparent 16px 30px);
  opacity:.9;
}
.hero .sur{
  font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:var(--am);margin-bottom:10px;
}
.hero h1{font-size:44px;color:#fff;margin-bottom:12px;max-width:640px}
.hero h1 em{font-style:normal;color:var(--am)}
.hero p{color:#C7CFD8;max-width:560px;font-size:17px;margin-bottom:22px}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.stats{
  display:flex;gap:0;margin-top:30px;border-top:1px solid #33404F;padding-top:18px;flex-wrap:wrap;
}
.stats div{flex:1;min-width:150px;padding:2px 18px 0 0}
.stats b{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:30px;color:var(--am);letter-spacing:.5px;
}
.stats small{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#8D99A6}

/* ---------- Grilles de l'accueil ---------- */
.gsec{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--amf);
  margin:26px 0 12px;display:flex;align-items:center;gap:12px;
}
.gsec::after{content:"";flex:1;height:1px;background:var(--l)}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.grille .carte{margin-bottom:0;display:flex;flex-direction:column;gap:4px}
.grille .carte h2{margin:0 0 2px}
.grille .carte .nb{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:26px;color:var(--e);
}
.grille .carte .nb small{font-size:13px;color:var(--t2);font-weight:500;letter-spacing:.5px}

/* ---------- Divers ---------- */
.note-pied{margin-top:26px;text-align:center}
@media (max-width:640px){
  h1{font-size:27px}
  .hero{padding:30px 20px}
  .hero h1{font-size:32px}
  .carte{padding:18px}
  .bande{font-size:18px;padding:13px 16px}
  .bande .tag{display:none}
  .carte{overflow-x:auto}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}
