/* Vexillum - explications integrees au simulateur (3.67.0), reprises du
   module. Neutre : les couleurs du gabarit passent au travers. */
.vex-aide-i { font-size: .95rem; }
.vex-aide-courant { padding: .8rem .9rem; border-radius: .6rem; background: rgba(127, 127, 127, .10);
	border-left: 4px solid #3987e5; margin-bottom: .8rem; }
.vex-aide-ou { margin: 0 0 .3rem; font-size: .78rem; opacity: .65; text-transform: uppercase; letter-spacing: .04em; }
.vex-aide-titre { margin: 0 0 .4rem; font-size: 1.05rem; }
.vex-aide-texte { margin: 0 0 .6rem; line-height: 1.5; }
.vex-aide-lecture { display: flex; flex-wrap: wrap; gap: .4rem; }
.vex-aide-i button { padding: .35rem .8rem; border-radius: .4rem; border: 0; cursor: pointer; font: inherit;
	font-size: .88rem; font-weight: 600; background: rgba(127, 127, 127, .22); color: inherit; }
.vex-aide-i button:hover { background: rgba(127, 127, 127, .34); }
.vex-aide-i button.vex-aide-lire::before { content: "\25B6"; margin-right: .4em; font-size: .8em; }
.vex-aide-courant button.vex-aide-lire { background: #3987e5; color: #fff; }
.vex-aide-reglages { display: grid; gap: .45rem; margin: 0 0 .8rem; font-size: .88rem; }
.vex-aide-reglages label { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.vex-aide-reglages select { max-width: 100%; flex: 1 1 10rem; }
.vex-aide-reglages input[type="range"] { flex: 1 1 6rem; }
.vex-aide-note { opacity: .75; font-size: .88rem; }
.vex-aide-tout > summary { cursor: pointer; font-weight: 600; margin-bottom: .4rem; }
.vex-aide-tout h4 { margin: .9rem 0 .3rem; font-size: .92rem; opacity: .8; }
.vex-aide-entree { border-bottom: 1px solid rgba(127, 127, 127, .2); padding: .3rem 0; }
.vex-aide-entree > summary { cursor: pointer; }
.vex-aide-entree p { margin: .35rem 0; line-height: 1.45; }
.vex-aide-entree.vex-aide-actuelle > summary { font-weight: 700; color: #3987e5; }
.vex-aide-reglages label:has(input[type="checkbox"]) { flex-wrap: nowrap; align-items: flex-start; }
.vex-aide-reglages input[type="checkbox"] { flex: none; margin-top: .2em; }

/* ---------- La page du simulateur en pleine page (3.67.0) ---------- */
/* 3.75.6 : la page s'affiche DANS le gabarit du site (son en-tete, son
   menu). Le gabarit « vexillum » range le contenu dans une colonne de
   1180 px (.vex-in.vex-fixe) : en pleine page, le simulateur la
   reprend en entier, jusqu'a ses 1800 px. Sans :has() (navigateur
   ancien), la page reste simplement dans la colonne normale. */
.vex-in.vex-fixe:has(.cib-plein) { max-width: none; }
.vex-principal > .cib-plein { padding-left: 0; padding-right: 0; }
/* L'en-tete du gabarit est collant (64 px de haut) : le panneau
   Explications, collant lui aussi, s'arrete juste dessous au lieu de
   passer derriere. */
body:has(.vex-entete.vex-collante) .cib-plein-aide { top: calc(64px + .8rem); max-height: calc(100vh - 64px - 1.6rem); }
.cib-plein { display: flex; flex-direction: column; gap: .8rem; padding: .8rem clamp(.8rem, 2vw, 1.6rem) 1.2rem; max-width: 1800px; margin: 0 auto; }
.cib-plein-barre { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.2rem; }
.cib-plein-barre h1 { margin: 0; font-size: clamp(1.25rem, 2.2vw, 1.7rem); flex: 1 1 auto; }
.cib-plein-retour { font-weight: 600; text-decoration: none; white-space: nowrap; }
.cib-plein-retour:hover, .cib-plein-retour:focus-visible { text-decoration: underline; }
.cib-plein-corps { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem); gap: 1.2rem; align-items: start; }
.cib-plein-corps > .cib-simu { min-width: 0; }
.cib-plein-aide { position: sticky; top: .8rem; max-height: calc(100vh - 1.6rem); overflow-y: auto; padding-right: .2rem; }
.cib-plein-aide > h2 { margin: 0 0 .6rem; font-size: 1.05rem; }
@media (max-width: 1000px) {
	.cib-plein-corps { grid-template-columns: 1fr; }
	.cib-plein-aide { position: static; max-height: none; overflow: visible; }
}
