
/* ===== Home recomposée (thème d’origine, bleu océan) : préfixe bh-m7q2 ===== */
.bh-m7q2-home { color: #0d2340; }
.bh-m7q2-bloc { padding-block: clamp(3.5rem, 7vw, 5rem); scroll-margin-top: calc(var(--header-h, 108px) + 12px); }
.bh-m7q2-int { width: 100%; max-width: 1120px; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); }
.bh-m7q2-etroit { max-width: 880px; }
.bh-m7q2-tete { text-align: center; max-width: 46rem; margin: 0 auto 2.5rem; display: grid; justify-items: center; gap: .9rem; }
.bh-m7q2-tete h2, .bh-m7q2-tete .subtitle { margin: 0; }
.bh-m7q2-lien { display: inline-flex; align-items: center; gap: .35rem; margin-top: .75rem; color: #1a5fae; font-weight: 600; text-decoration: underline; min-height: 44px; }
.bh-m7q2-lien:hover { color: #144b8a; }

/* Hero media_gauche, pleine hauteur sous header + bandeau */
.section-hero.bh-m7q2-hero { min-height: calc(100svh - var(--header-h, 108px)); display: flex; align-items: center; padding-block: 1.25rem; }
.bh-m7q2-hero-grille { display: grid; gap: clamp(1.25rem, 3vw, 3.5rem); align-items: center; }
.bh-m7q2-hero-media { overflow: hidden; border-radius: 1rem; }
.bh-m7q2-hero-media img { aspect-ratio: 16 / 10; max-height: 24svh; }
.bh-m7q2-hero-texte h1 { margin-bottom: 1rem; }
.bh-m7q2-hero-texte .subtitle { margin-bottom: 1.5rem; }
.bh-m7q2-hero-tags { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
.bh-m7q2-hero-tags .tag-rub { min-height: 44px; }
@media (min-width: 768px) {
  .bh-m7q2-hero-grille { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
  .section-hero.bh-m7q2-hero { padding-block: 2rem; }
  .bh-m7q2-hero-media img { aspect-ratio: 4 / 5; max-height: calc(100svh - var(--header-h, 108px) - 4rem); }
}
@media (max-width: 767px) { .bh-m7q2-hero-texte h1 { font-size: 1.75rem; margin-bottom: .75rem; } .bh-m7q2-hero-texte .subtitle { font-size: 1rem; margin-bottom: 1.25rem; } .bh-m7q2-hero-texte .pastille { margin-bottom: 0; } .bh-m7q2-hero-texte .btn-lg { min-height: 48px; height: auto; font-size: 1rem; } }
@media (max-width: 639px) { .bh-m7q2-hero-tags { display: none; } }

/* Étapes photo */
.bh-m7q2-etapes-grille { display: grid; gap: 2rem; align-items: start; }
.bh-m7q2-etapes-grille img { max-height: 420px; }
.bh-m7q2-etapes-grille ol { list-style: none; margin: 0; padding: 0; }
.bh-m7q2-etape { padding: 1.25rem 1.5rem; border-radius: .75rem; background: #f5f8fc; border: 1px solid transparent; }
.bh-m7q2-etape.kv-actif, .bh-m7q2-etape:hover { border-color: #cfe1f3; background: #e8f1fa; }
@media (min-width: 900px) { .bh-m7q2-etapes-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .bh-m7q2-etapes-grille img { position: sticky; top: calc(var(--header-h, 108px) + 1rem); } }

/* Calculateur */
.bh-m7q2-calc-carte { display: grid; gap: 2rem; max-width: 880px; margin-inline: auto; }
.bh-m7q2-calc-resultat { display: grid; gap: .25rem; align-content: center; padding: 1.5rem; border-radius: .75rem; background: #e8f1fa; }
.bh-m7q2-grand-chiffre { font-size: clamp(2.75rem, 6vw, 4rem); font-weight: 700; color: #1a5fae; line-height: 1; }
@media (min-width: 768px) { .bh-m7q2-calc-carte { grid-template-columns: 1fr 1fr; } }

/* Interrupteurs (bascule et onglets) */
.bh-m7q2-interrupteur { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.bh-m7q2-interrupteur .tab { min-height: 44px; display: inline-flex; align-items: center; gap: .4rem; background: #fff; border: 1px solid #cfe1f3; color: #0d2340; font-weight: 600; }
.bh-m7q2-interrupteur .kv-actif, .bh-m7q2-interrupteur [aria-selected="true"] { background: #1a5fae; border-color: #1a5fae; color: #fff !important; }
.bh-m7q2-option { border: 2px solid transparent; transition: border-color .2s ease, background .2s ease; }
.bh-m7q2-option.kv-en-avant { border-color: #1a5fae; background: #e8f1fa; }
.bh-m7q2-dl { display: grid; grid-template-columns: auto 1fr; gap: .6rem 1rem; margin: 0; }
.bh-m7q2-dl dt { display: inline-flex; align-items: center; gap: .35rem; font-weight: 600; color: #144b8a; }
.bh-m7q2-dl dd { margin: 0; color: #0d2340; }

/* Quiz + Lottie */
.bh-m7q2-quiz-grille { display: grid; gap: 2rem; align-items: center; max-width: 960px; margin-inline: auto; }
.bh-m7q2-lottie { width: 100%; max-width: 220px; aspect-ratio: 1; margin-inline: auto; }
@media (min-width: 768px) { .bh-m7q2-quiz-grille { grid-template-columns: 220px minmax(0, 1fr); } }

/* Dossier, conserver, chiffres */
.bh-m7q2-dossier ul, .bh-m7q2-conserver ul, .bh-m7q2-reperes ul, .bh-m7q2-equipe ul, .bh-m7q2-methode ol, .bh-m7q2-journal ul { list-style: none; margin: 0; padding: 0; }
.bh-m7q2-dossier img, .bh-m7q2-conserver img { max-height: 420px; }
.bh-m7q2-puce { display: grid; grid-template-columns: 28px 1fr; gap: 1rem; align-items: start; }
.bh-m7q2-chiffre { display: grid; justify-items: center; gap: .5rem; text-align: center; background: #fff; border-radius: .75rem; padding: 1.75rem 1rem; }
.bh-m7q2-chiffre span { font-size: clamp(1.9rem, 4vw, 2.5rem); font-weight: 700; color: #1a5fae; line-height: 1.1; }
.bh-m7q2-chiffre p { margin: 0; font-size: 1rem; color: #52637b; }

/* FAQ en accordéon du thème */
.bh-m7q2-faq-item summary { list-style: none; cursor: pointer; min-height: 44px; }
.bh-m7q2-faq-item summary::-webkit-details-marker { display: none; }
.bh-m7q2-faq-item summary::after { display: none; }
.bh-m7q2-faq-item .bh-m7q2-chevron { transition: transform .2s ease; color: #1a5fae; }
.bh-m7q2-faq-item[open] .bh-m7q2-chevron { transform: rotate(90deg); }

/* CTA */
.bh-m7q2-cta { background-color: #1a5fae; }
.bh-m7q2-cta h2 { color: #fff; }
@media (prefers-reduced-motion: reduce) { .bh-m7q2-option, .bh-m7q2-faq-item .bh-m7q2-chevron { transition: none; } }

/* Lottie : rendu animé + repli statique (icône Lucide) */
.bh-m7q2-lottie { display: grid; }
.bh-m7q2-lottie > * { grid-area: 1 / 1; }
.bh-m7q2-lottie-rendu svg { width: 100% !important; height: 100% !important; }
.bh-m7q2-lottie-repli { display: grid; place-items: center; color: #1a5fae; background: #e8f1fa; border-radius: 999px; }
.bh-m7q2-lottie-repli[hidden], .bh-m7q2-lottie-rendu[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .bh-m7q2-lottie-rendu { display: none; } .bh-m7q2-lottie-repli { display: grid !important; } }

/* Les cartes des widgets restent claires dans les deux modes : leurs boutons gardent l’encre du site. */
.bh-m7q2-home [data-quiz], .bh-m7q2-home [data-bascule], .bh-m7q2-home [data-onglets], .bh-m7q2-home [data-calcul] {
  --c-texte: #0d2340; --c-primaire: #1a5fae; --c-sur-primaire: #ffffff; color: #0d2340;
}

/* Étapes : la photo suit la liste (collante) et prend la hauteur permise. */
/* Étapes en 2 x 2 à droite : la liste reste sous 480 px et la photo s’étire à sa hauteur (rendu figé équilibré). */
@media (min-width: 900px) {
  [data-usine-bloc="etapes"] .bh-m7q2-etapes-grille { grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: 1.5rem; align-items: stretch; }
  [data-usine-bloc="etapes"] .bh-m7q2-etape { padding: .875rem .75rem; }
  [data-usine-bloc="etapes"] .bh-m7q2-etape h3 { margin-top: .375rem; margin-bottom: .25rem; }
  [data-usine-bloc="etapes"] .bh-m7q2-etapes-grille > ol { grid-template-columns: repeat(2, minmax(0, 1fr)); align-self: center; gap: .75rem; }
  [data-usine-bloc="etapes"] .bh-m7q2-etapes-grille img { position: static; align-self: stretch; height: 100%; min-height: 320px; max-height: 480px; aspect-ratio: auto; object-fit: cover; border-radius: .75rem; }
}

/* Calculateur : interrupteur « farci » en ligne avec son libellé, couleur d’accent. */
.bh-m7q2-home [data-calcul] label.bh-m7q2-bascule-farci { display: flex; flex-direction: row; align-items: center; gap: .75rem; cursor: pointer; }
.bh-m7q2-bascule-farci .toggle { --tglbg: #fff; color: #1a5fae; border-color: #1a5fae; flex: none; }
.bh-m7q2-bascule-farci .toggle:checked { background-color: #1a5fae; color: #fff; border-color: #1a5fae; }

/* Quiz : pleine largeur du conteneur, la Lottie dans une colonne lisible (poisson blanc sur disque d’accent). */
/* da.css borne .bh-m7q2-quiz à 46rem : la section reprend toute la largeur, son conteneur centre le contenu. */
section[data-usine-bloc="quiz"].bh-m7q2-quiz { width: 100%; max-width: none; margin-inline: 0; display: block; }
[data-usine-bloc="quiz"] .bh-m7q2-quiz-grille { max-width: none; }
[data-usine-bloc="quiz"] .bh-m7q2-lottie { max-width: 320px; }
[data-usine-bloc="quiz"] .bh-m7q2-lottie-rendu { background: #e8f1fa; border: 1px solid #cfe1f3; border-radius: 999px; overflow: hidden; }
[data-usine-bloc="quiz"] .bh-m7q2-lottie-rendu svg { transform: scale(1.5); }
@media (min-width: 768px) { [data-usine-bloc="quiz"] .bh-m7q2-quiz-grille { grid-template-columns: minmax(240px, 2fr) minmax(0, 3fr); } }

/* Dossier : photo haute et collante, les deux colonnes s’équilibrent. */
.bh-m7q2-dossier-photo { aspect-ratio: 4 / 3; height: auto; max-height: 420px; }
@media (min-width: 768px) { .bh-m7q2-dossier-col { position: sticky; top: calc(var(--header-h, 108px) + 1rem); align-self: start; } }

/* Journal : liste éditoriale, vignette compacte à gauche. */
@media (min-width: 640px) { [data-usine-bloc="journal"] .carte-article { grid-template-columns: 240px minmax(0, 1fr); } }

/* Mobile : colonnes de texte assez larges (300 px au moins pour un texte long). */
@media (max-width: 639px) {
  [data-usine-bloc="rubriques"] .bh-m7q2-int, [data-usine-bloc="a-la-une"] .bh-m7q2-int, [data-usine-bloc="etapes"] .bh-m7q2-int,
  [data-usine-bloc="dossier"] .bh-m7q2-int, [data-usine-bloc="journal"] .bh-m7q2-int,
  [data-usine-bloc="saisons"] .bh-m7q2-int, [data-usine-bloc="conserver"] .bh-m7q2-int, [data-usine-bloc="methode"] .bh-m7q2-int { padding-inline: .75rem; }
  [data-usine-bloc="rubriques"] .bh-m7q2-int, [data-usine-bloc="a-la-une"] .bh-m7q2-int,
  [data-usine-bloc="dossier"] .bh-m7q2-int, [data-usine-bloc="journal"] .bh-m7q2-int { padding-inline: 0; }
  [data-usine-bloc="rubriques"] .carte-article, [data-usine-bloc="a-la-une"] .carte-article,
  [data-usine-bloc="dossier"] .carte-article, [data-usine-bloc="journal"] .carte-article { padding: 1rem .75rem; }
  [data-usine-bloc="etapes"] .bh-m7q2-etape { padding: 1rem .625rem; }
  section[data-usine-bloc="calculateur"] { padding-inline: 0; }
  [data-usine-bloc="calculateur"] .bh-m7q2-calc-carte { padding-inline: .75rem; }
  [data-usine-bloc="calculateur"] .bh-m7q2-int, [data-usine-bloc="faq"] .bh-m7q2-int { padding-inline: .75rem; }
  [data-usine-bloc="faq"] .collapse-content { padding-inline: .75rem; }
  [data-usine-bloc="saisons"] [data-panneau] { padding: 1rem .75rem; }
  [data-usine-bloc="methode"] ol > li { padding: 1rem .75rem; }
  [data-usine-bloc="conserver"] .bh-m7q2-puce { grid-template-columns: 1fr; gap: .5rem; }
}
