/* Pages « Notre démarche environnementale » et « Déclaration d'écoconception » (lignes 4 et 7 du devis).
   À fusionner dans site.css ; uniquement les tokens de site.css. */

/* ---------- Information manquante : « [À confirmer…] » saisi dans le back-office, visible jusqu'à la réponse ---------- */
/* Même règle que conditions.css, legales.css et venir.css : une seule à garder à la fusion. */
/* ---------- En-tête de page ---------- */
.page-tete { padding-bottom: var(--lg); }
.page-tete__conteneur { max-width: 960px; margin-inline: 0; }
.page-tete .surtitre { margin-bottom: var(--xs); font-size: 12px; font-weight: 500; line-height: 16px; letter-spacing: 0.02em; color: var(--on-surface-variant); }
.page-tete__chapeau { margin-top: var(--sm); }
.page-tete__chapeau p + p, .demarche-page__texte p + p, .demarche-page__intro p + p { margin-top: var(--sm); }

/* ---------- Notre démarche ---------- */
.demarche-page__intro { max-width: 760px; margin-top: var(--xs); font-size: 16px; line-height: 24px; }
.demarche-page__texte { font-size: 16px; line-height: 24px; }
.demarche-page__texte + .demarche-page__texte { margin-top: var(--sm); }
.demarche-page__engagements { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--md); margin-top: var(--lg); }
.demarche-page__engagement .titre-carte { margin-bottom: var(--xs); }
.demarche-page__labels { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--md); margin-top: var(--md); }
.demarche-page__labels .titre-carte { margin-bottom: var(--xs); }
.demarche-page__statut { display: inline-block; margin-bottom: var(--sm); padding: 2px 10px; background: var(--secondary-container); color: var(--on-secondary-container); border-radius: var(--r-full); font-size: 12px; font-weight: 600; line-height: 20px; }
.demarche-page__logo { float: right; width: 64px; height: auto; margin-left: var(--sm); }
.demarche-page__moments { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--lg); margin-top: var(--lg); }
.demarche-page__gestes { display: grid; gap: var(--sm); margin-top: var(--sm); }
.demarche-page__gestes li { display: flex; gap: var(--sm); font-size: 16px; line-height: 24px; }
.demarche-page__gestes .icone { margin-top: 2px; color: var(--secondary); }
.demarche-page__financeurs { margin-top: var(--md); }
.demarche-page__renvoi { margin-top: var(--lg); font-size: 16px; line-height: 24px; }
.demarche-page__renvoi a { font-weight: 600; }

/* ---------- Déclaration d'écoconception ---------- */
.declaration__fiche { display: grid; gap: var(--sm); margin: var(--md) 0 0; font-size: 16px; line-height: 24px; }
.declaration__fiche div { display: grid; grid-template-columns: 220px 1fr; gap: var(--md); padding-bottom: var(--sm); border-bottom: 1px solid var(--surface-variant); }
.declaration__fiche dt { font-weight: 600; }
.declaration__fiche dd { margin: 0; }
.declaration__colonnes { display: grid; grid-template-columns: 1fr 1fr; gap: var(--xl); align-items: start; }
.declaration__colonnes--serrees { gap: var(--lg); margin-top: var(--lg); }
.declaration__colonnes .titre-carte { margin-bottom: var(--sm); }
.declaration__puces { margin: var(--sm) 0; padding-left: 20px; list-style: disc; }
.declaration__puces li + li { margin-top: var(--xs); }
.declaration__budget { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sm); margin-top: var(--md); }
.declaration__budget .carte { display: grid; gap: var(--xs); }
.declaration__budget strong { font-size: 28px; font-weight: 700; line-height: 36px; letter-spacing: -0.01em; }
.declaration__budget span { color: var(--on-surface-variant); }

/* Tableaux : défilement horizontal dans leur cadre seulement, jamais de la page */
.declaration__tableau { margin-top: var(--md); overflow-x: auto; background: var(--surface); border: 1px solid var(--surface-variant); border-radius: var(--r-lg); }
.declaration__tableau table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 20px; }
.declaration__tableau th, .declaration__tableau td { padding: 12px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--surface-variant); }
.declaration__tableau tbody tr:last-child > * { border-bottom: 0; }
.declaration__tableau thead th { font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: var(--on-surface-variant); white-space: nowrap; background: var(--surface-dim); }
.declaration__tableau tbody th { font-weight: 600; }
.declaration__tableau td { font-variant-numeric: tabular-nums; }
.declaration__adresse { display: block; font-weight: 400; color: var(--on-surface-variant); }
.declaration__perimetre, .declaration__priorite { display: block; margin-top: var(--xs); font-size: 12px; font-weight: 500; line-height: 16px; color: var(--on-surface-variant); }
.declaration__depasse { color: var(--error); font-weight: 700; }
.declaration__note { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 4px; border-radius: var(--r-sm); font-weight: 700; color: #fff; }
/* Couleurs de l'échelle EcoIndex (texte blanc, contraste ≥ 4,5:1) */
.declaration__note--a { background: #2e7d32; }
.declaration__note--b { background: #3d7a1f; }
.declaration__note--c { background: #6b6a00; }
.declaration__note--d { background: #8a5a00; }
.declaration__note--e { background: #a84300; }
.declaration__note--f, .declaration__note--g { background: #b3261e; }
.declaration__criteres td:first-child { font-weight: 600; white-space: nowrap; }
.declaration__criteres th[scope="row"] { min-width: 240px; font-weight: 500; }
.declaration__criteres td:last-child { min-width: 260px; color: var(--on-surface-variant); }
.declaration__statut { display: inline-block; padding: 2px 10px; border-radius: var(--r-full); font-size: 12px; font-weight: 600; white-space: nowrap; }
.declaration__statut--valide { background: var(--secondary-container); color: var(--on-secondary-container); }
.declaration__statut--non_valide { background: var(--primary-container); color: var(--on-primary-container); }
.declaration__statut--non_applicable { background: var(--surface-container-low); color: var(--on-surface); }
.declaration__statut--en_cours { background: #fdf0e1; color: #7a3e04; }

/* ---------- Tablette et téléphone ---------- */
@media (max-width: 1128px) {
    .demarche-page__moments { grid-template-columns: 1fr 1fr; }
    .declaration__colonnes { grid-template-columns: 1fr; gap: var(--lg); }
}
@media (max-width: 860px) {
    .demarche-page__engagements, .demarche-page__labels, .demarche-page__moments { grid-template-columns: 1fr; }
    .declaration__fiche div { grid-template-columns: 1fr; gap: 0; }
    .declaration__budget strong { font-size: 24px; line-height: 32px; }
}
