/* Composants V2 : tokens du thème, sans changement des largeurs globales. */
.flambart-public-event-banner { margin: 1.5rem auto; padding: 1.5rem; border: 2px solid var(--flambart-blue, #254F82); border-radius: .5rem; max-width: 76rem; background: var(--flambart-cream, #F7F2E8); color: var(--flambart-blue-dark, #102A43); }
.flambart-public-event-banner h2 { margin: .4rem 0; }
.flambart-public-event-banner p { max-width: 48rem; }
.flambart-public-event-banner nav ul { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding: 0; list-style: none; }
.flambart-public-event-banner a { display: inline-block; padding: .5rem 0; text-underline-offset: .2em; }
.flambart-public-event-banner a:focus-visible { outline: 3px solid var(--flambart-red, #7A2014); outline-offset: 4px; }
.flambart-public-event-edition { font-weight: 700; }
.flambart-bureau-card img { max-width: 100%; height: auto; }
.flambart-companion { max-width: 68rem; margin: auto; padding: 1rem; }
.flambart-companion p { max-width: 48rem; }
.flambart-companion nav ul { display: flex; flex-wrap: wrap; list-style: none; padding: 0; gap: .5rem 1.5rem; }
.flambart-companion nav a, .flambart-companion-live a { display: inline-block; padding: .5rem 0; }
.flambart-companion-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin: 1.5rem 0; }
.flambart-companion-filters label { display: flex; flex-direction: column; gap: .4rem; }
.flambart-companion-filters select, .flambart-companion-filters button { min-height: 2.75rem; max-width: 100%; }
.flambart-companion-programme { list-style: none; padding: 0; }
.flambart-companion-item { border-bottom: 1px solid var(--flambart-rope, #D8C7A3); padding: 1rem 0; scroll-margin-top: 6rem; }
.flambart-companion-item summary { display: flex; flex-wrap: wrap; gap: .5rem 1rem; cursor: pointer; padding: .5rem; }
.flambart-companion-item summary::before { content: "+"; font-weight: 700; }
.flambart-companion-item details[open] summary::before { content: "−"; }
.flambart-companion-time { font-weight: 700; color: var(--flambart-blue, #254F82); }
.flambart-companion-detail { padding: .5rem; }
.flambart-companion-status { border-left: .25rem solid var(--flambart-red, #7A2014); padding-left: 1rem; }
.flambart-companion :is(a, summary, select, button):focus-visible { outline: 3px solid var(--flambart-red, #7A2014); outline-offset: 3px; }
@media (max-width: 40rem) { .flambart-companion-filters > label { width: 100%; } .flambart-companion-item summary strong { flex-basis: 100%; } }
