/* theme.css — direction artistique FABRIQUÉE. NE PAS ÉDITER À LA MAIN.
 * Site : irve-grandest.fr — DA V7 « Utilitaire dense », famille « action verte »,
 * tirage 32974421b74a. Généré le 2026-10-27 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: #f8f9fa;
  --encre: #22262c;
  --gris: #535b69;
  --trait: #cdd2da;
  --trait-epaisseur: 1px;
  --accent: #146744;
  --accent-encre: #ffffff;
  --lien: #146744;
  --alerte: #eef0f4;
  --famille-titres: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --famille-corps: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --interligne: 1.43;
  --rayon: 3px;
  --rayon-pilule: 3px;
  --ombre: none;
  --espace-s: 0.25rem;
  --espace-m: 0.875rem;
  --espace-l: 1.75rem;
  --gouttiere: 0.5rem;
  --accent-fonce: #0d452d;
  --signal-alerte: #a92817;
}

/* 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;transition:color 120ms,background-color 120ms,border-color 120ms}
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}

/* 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;transition:color 120ms,background-color 120ms,border-color 120ms}
.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(--alerte);border:var(--trait-epaisseur) solid var(--trait);border-left:3px solid var(--accent);border-radius:var(--rayon);color:var(--encre)}
.limites{border-left-color:var(--signal-alerte)}
.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)}
table{border:var(--trait-epaisseur) solid var(--trait);font-size:.875rem}
th,td{border:var(--trait-epaisseur) solid var(--trait);padding:.3rem .45rem}
th{background:var(--alerte);color:var(--encre);position:sticky;top:0}
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;transition:color 120ms,background-color 120ms,border-color 120ms}
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}

/* 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:"✓ "}

/* visuel 2 — l'encart d'action prend l'encadré de la direction */
.encart-action{background:var(--alerte);border:var(--trait-epaisseur) solid var(--trait);border-left:3px solid var(--accent);border-radius:var(--rayon);color:var(--encre)}

/* D116 — identité : logo devant le nom (common/identite/identite.py) */
.marque{display:inline-flex;align-items:center;gap:.5rem}.marque-logo{flex:none;width:2.5rem;height:2.5rem}@media (max-width:40rem){.marque-logo{width:2rem;height:2rem}}
