


#site-header [data-bandeau] {
  position: relative; top: auto; margin: 0; width: 100%;
  display: flex; align-items: center; justify-content: center; gap: .6rem;
  padding: .45rem 3rem .45rem 1rem; min-height: 2.5rem;
  background: var(--c-voile, #1c1d3e); color: #fff; font-size: .875rem; font-weight: 500; text-align: center;
}
#site-header [data-bandeau] [data-fermer] {
  position: absolute; right: .25rem; top: 50%; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; color: #fff;
}
#site-header [data-bandeau][hidden] { display: none; }
.bes-bandeau-court { display: none; }
@media (max-width: 640px) {
  .bes-bandeau-long { display: none; }
  .bes-bandeau-court { display: inline; }
}
#site-header nav a { white-space: nowrap; }


.bh-bes-hero { min-height: calc(100svh - var(--header-h, 112px)); display: flex; background: var(--color-background); }
.bh-bes-hero-grille { position: relative; display: flex; flex-direction: column; justify-content: center; width: 100%; }
.bh-bes-hero-media { position: relative; margin: 0; padding: 1rem 1rem 0; }
.bh-bes-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; max-height: 30svh; object-fit: cover; border-radius: 1rem; }
.bh-bes-hero-texte { position: relative; z-index: 1; padding: 1.25rem 1.25rem 1.5rem; color: #1c1d3e; max-width: 40rem; }
.bh-bes-hero-texte h1 { color: #1c1d3e; }
.bh-bes-hero-chapo { color: var(--color-text-muted); }
.bh-bes-hero-kicker { background: color-mix(in oklab, var(--color-primary) 10%, transparent) !important; color: var(--color-primary) !important; }
.bh-bes-btn-second { border-color: var(--color-border); color: var(--color-text); }
.bh-bes-btn-second:hover { background: var(--color-surface); }
.bh-bes-hero-reperes li { color: var(--color-text-muted); }
.bh-bes-hero-reperes svg { color: var(--color-primary); }
@media (max-width: 1023.98px) {
  .bh-bes-hero-texte h1 { margin-top: .75rem; font-size: clamp(1.75rem, 7vw, 2.75rem); line-height: 1.15; }
  .bh-bes-hero-chapo { margin-top: .75rem; font-size: 1rem; }
  .bh-bes-hero-texte > div { margin-top: 1rem; }
  .bh-bes-hero-reperes { display: none; }
}
@media (min-width: 640px) and (max-width: 1023.98px) {
  .bh-bes-hero-media, .bh-bes-hero-texte { width: 100%; max-width: 44rem; margin-inline: auto; padding-inline: 2rem; }
  .bh-bes-hero-media img { max-height: 36svh; }
}
@media (min-width: 1024px) {
  .bh-bes-hero-grille { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
  .bh-bes-hero-grille { align-self: stretch; }
  .bh-bes-hero-media { position: relative; inset: auto; height: 100%; min-height: 24rem; }
  .bh-bes-hero-media img { position: absolute; top: 1.5rem; bottom: 1.5rem; left: 1.5rem; width: calc(100% - 1.5rem); height: calc(100% - 3rem); border-radius: 1rem; }
  .bh-bes-hero-media { padding: 0; }
  .bh-bes-hero-media img { max-height: none; aspect-ratio: auto; }
  .bh-bes-hero-media::after { display: none; }
  .bh-bes-hero-texte { color: var(--color-text); padding: 3rem 2rem 3rem 4rem; max-width: 38rem; }
  .bh-bes-hero-texte h1 { color: var(--color-text); }
  .bh-bes-hero-chapo { color: var(--color-text-muted); }
  .bh-bes-hero-kicker { background: color-mix(in oklab, var(--color-primary) 10%, transparent) !important; color: var(--color-primary) !important; }
  .bh-bes-btn-second { border-color: var(--color-border); color: var(--color-text); }
  .bh-bes-btn-second:hover { background: var(--color-surface); }
  .bh-bes-hero-reperes li { color: var(--color-text-muted); }
  .bh-bes-hero-reperes svg { color: var(--color-primary); }
}


.bh-bes-logos { overflow: hidden; }
.bh-bes-logos .kv-piste { display: flex; align-items: center; gap: 3.5rem; }
.bh-bes-logos img { height: 3rem; width: auto; max-width: 11rem; object-fit: contain; opacity: .85; filter: grayscale(.2); }


.bh-bes-champ select { width: 100%; min-width: 0; text-overflow: ellipsis; }
.bh-bes-champ { min-width: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .875rem; font-weight: 500; color: var(--color-text); }
.bh-bes-champ select {
  min-height: 2.75rem; padding: .55rem .75rem; border: 1px solid var(--color-border); border-radius: .5rem;
  background: var(--color-background); color: var(--color-text); font: inherit; font-weight: 400;
}
.bh-bes-champ select:focus { outline: 2px solid var(--color-primary); outline-offset: 1px; }


.bh-bes-interrupteur { display: inline-flex; gap: .25rem; padding: .25rem; border-radius: 9999px; background: var(--color-surface); border: 1px solid var(--color-border); }
.bh-bes-interrupteur button {
  display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; padding: .5rem 1.25rem; border-radius: 9999px;
  font-size: .875rem; font-weight: 500; color: var(--color-text-muted); transition: background-color .2s, color .2s;
}
.bh-bes-interrupteur button[aria-pressed="true"], .bh-bes-interrupteur button.kv-actif, .bh-bes-interrupteur button[aria-selected="true"] {
  background: var(--color-primary); color: #fff;
}
[data-bascule] [data-selon][hidden] { display: none; }


.bh-bes-coche svg { opacity: 0; transition: opacity .2s; }
.bh-bes-case:has(input:checked) { border-color: var(--color-primary); background: color-mix(in oklab, var(--color-primary) 6%, var(--color-background)); }
.bh-bes-case input:checked + .bh-bes-coche { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.bh-bes-case input:checked + .bh-bes-coche svg { opacity: 1; }
.bh-bes-case input:focus-visible + .bh-bes-coche { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.bh-bes-case:has(input:checked) .bh-bes-case-lien { display: none; }
[data-usine-bloc="checklist-chambre"] .bh-bes-case label { position: relative; display: flex; flex-direction: row; align-items: flex-start; gap: .75rem; font-weight: 400; }
[data-usine-bloc="checklist-chambre"] .bh-bes-case input[type="checkbox"] { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; opacity: 0; appearance: none; }
[data-usine-bloc="checklist-chambre"] .bh-bes-coche { width: 1.5rem; height: 1.5rem; margin-top: .1rem; border-radius: .375rem; border: 1px solid var(--color-border); background: var(--color-background); }
[data-usine-bloc="checklist-chambre"] .bh-bes-case-desc { font-weight: 400; color: var(--color-text-muted); }
[data-usine-bloc="checklist-chambre"] .bh-bes-case-lien { margin-left: 2.25rem; padding: .25rem .75rem; border-radius: 9999px; background: color-mix(in oklab, var(--color-primary) 10%, transparent); }
@media (max-width: 639px) {
  [data-usine-bloc="checklist-chambre"] .bh-bes-case label { flex-direction: row; }
  [data-usine-bloc="checklist-chambre"] .bh-bes-case-lien { margin-left: 2.25rem; min-height: 44px; }
  
  [data-usine-bloc="checklist-chambre"] .bh-bes-case label > span:last-child { flex: 1 1 auto; margin-left: -2.25rem; }
  [data-usine-bloc="checklist-chambre"] .bh-bes-case label > span:last-child > span:first-child { padding-left: 2.25rem; min-height: 1.6rem; }
  [data-usine-bloc="bascule-saisons"] .bh-bes-reglages { padding: .5rem; }
  [data-usine-bloc="bascule-saisons"] .bh-bes-reglages > li { padding: 1rem; }
}


.bh-bes-faq summary::-webkit-details-marker { display: none; }


[data-usine-page="interne"] .bes-texte p, [data-usine-page="interne"] .bes-texte li { max-width: 68ch; }


@media (max-width: 639px) {
  .bh-bes-etapes li[data-etape], .bh-bes-jalon, .bh-bes-case label, .bh-bes-erreurs article > p { flex-direction: column; }
  .bh-bes-case-lien { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .bh-bes-hero *, .bes-carte { transition: none !important; }
}


@media (min-width: 40rem) {
  [data-usine-bloc="sources"] .bh-bes-source { grid-template-columns: 3rem minmax(0, 1fr); }
}
[data-usine-bloc="sources"] .bh-bes-source h3 { letter-spacing: normal; word-spacing: normal; white-space: normal; }


[data-usine-bloc="bascule-saisons"] .bh-bes-reglages,
[data-usine-bloc="bascule-saisons"] .bh-bes-reglages.kv-en-avant { border: 1px solid var(--color-border); box-shadow: none; outline: none; transform: none; }
