/* theme.css — direction artistique FABRIQUÉE. NE PAS ÉDITER À LA MAIN.
 * Site : volets-hautesavoie.fr — DA V9 « Plan d'atelier », famille « bleu plan »,
 * tirage 5b58ad1d90e7. Généré le 2026-10-18 par
 * common/infra/fabriquer_theme.py, depuis common/da/directions.json.
 * La STRUCTURE reste celle du Worker ; ce thème pose ses tokens et le
 * style des treize composants du contrat. */

:root{
  --fond: #f8f9fb;
  --encre: #19222c;
  --gris: #4a5460;
  --trait: #a8b7ca;
  --trait-epaisseur: 1px;
  --accent: #1e5190;
  --accent-encre: #ffffff;
  --lien: #1e5190;
  --alerte: #f8f9fb;
  --famille-titres: 'Arial Narrow', 'Helvetica Neue Condensed', 'Roboto Condensed', 'Liberation Sans Narrow', Impact, sans-serif;
  --famille-corps: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --interligne: 1.53;
  --rayon: 2px;
  --rayon-pilule: 2px;
  --ombre: none;
  --espace-s: 0.375rem;
  --espace-m: 1rem;
  --espace-l: 2rem;
  --gouttiere: 0.875rem;
  --accent-fonce: #173e6e;
  --famille-chiffres: ui-monospace, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
}

/* page et texte */
body{background:var(--fond);color:var(--encre);font-family:var(--famille-corps);line-height:var(--interligne)}
h1,h2,h3{font-family:var(--famille-titres);font-weight:700;color:var(--encre);line-height:1.2}
a{color:var(--lien);text-decoration-thickness:var(--trait-epaisseur);text-underline-offset:.18em}
a:hover{color:var(--accent-fonce)}
.chapo,.intro{color:var(--gris)}
.surtitre{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}
.marque{color:var(--encre);font-family:var(--famille-titres);font-weight:700}

/* titres de section numérotés — brief de la DA */
main{counter-reset:section}
main section:not(.devis):not(.cta) > h2::before{counter-increment:section;content:counter(section) ". ";color:var(--accent);font-variant-numeric:tabular-nums}

/* ombres interdites par la DA : le survol garde l'anneau, sans ombre portée */
.devis .bouton:hover,.bandeau nav a.nav-devis:hover,#cc-root .cc-bouton:hover{box-shadow:0 0 0 2px var(--encre)}

/* bouton */
.bouton{display:inline-block;padding:.7rem 1.25rem;line-height:1.3;background:var(--accent);color:var(--accent-encre);border:var(--trait-epaisseur) solid var(--accent);border-radius:var(--rayon);font-family:var(--famille-corps);font-weight:700;text-decoration:none}
.bouton:hover,.bandeau nav a.nav-devis:hover{background:var(--accent-fonce);border-color:var(--accent-fonce);color:var(--accent-encre)}
.bouton:focus-visible,.bandeau nav a.nav-devis:focus-visible{outline:2px solid var(--encre);outline-offset:3px}

/* encadre_limites, encadre_titre */
.limites{background:var(--fond);border:var(--trait-epaisseur) dashed var(--gris);border-radius:var(--rayon);color:var(--encre);padding:var(--espace-m)}
.limites strong{display:block;font-family:var(--famille-titres);font-weight:700;margin-bottom:var(--espace-s)}

/* tableau_conteneur, tableau, tableau_entete, tableau_cellule, tableau_legende */
.tableau-defilant{overflow-x:auto;margin:var(--espace-m) 0;border-radius:var(--rayon)}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th{text-align:left;font-weight:700}
td{color:var(--encre)}
th,td{border-bottom:var(--trait-epaisseur) dashed var(--trait)}
th{background:transparent;color:var(--encre);font-family:var(--famille-titres)}
td+td{text-align:right;font-variant-numeric:tabular-nums}
table caption{caption-side:top;text-align:left;color:var(--gris);font-size:.875rem;padding:0 0 var(--espace-s)}

/* faq_question, faq_reponse */
.faq dt{font-family:var(--famille-titres);font-weight:700;color:var(--encre);margin-top:var(--espace-m);padding-top:var(--espace-s);border-top:var(--trait-epaisseur) solid var(--trait)}
.faq dd{color:var(--encre);margin:var(--espace-s) 0 0}

/* formulaire_champ */
input, select, textarea{font:inherit;color:var(--encre);background:var(--fond);border:var(--trait-epaisseur) solid var(--gris);border-radius:var(--rayon);padding:var(--espace-s) .6rem}
input:hover, select:hover, textarea:hover{border-color:var(--encre)}
input:focus-visible, select:focus-visible, textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* fil_ariane */
.ariane{font-size:.8125rem}
.ariane a{color:var(--gris);text-decoration:underline}
.ariane a:hover{color:var(--encre)}

/* pied — les marges sont celles du réseau, jamais écrasées ici */
.pied{color:var(--gris);border-top:var(--trait-epaisseur) solid var(--trait)}
.pied a:hover{color:var(--encre);text-decoration:underline}

/* valeurs chiffrées en chasse fixe — brief de la DA */
.chiffre .valeur,.fourchette,td+td{font-family:var(--famille-chiffres)}

/* D1 — bandeau mobile : marque et devis d'abord, les liens secondaires dessous, sans retour bancal */
@media (max-width:40rem){.bandeau{align-items:center;gap:.5rem 1rem}.bandeau nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem;order:3;width:100%}.bandeau nav a{margin-right:0}.bandeau nav a.nav-devis{order:-1}}
/* D2 — les badges ne sont pas des boutons : une ligne de texte discret, sans cadre */
.hero .badges{border-top:0;gap:.25rem 1.25rem;padding:0;margin:.75rem 0 0}
.hero .badges li{border:0;padding:0;border-radius:0;font-size:.8125rem}
.hero .badges li::before{content:"✓ "}
