/* Le Jour Off : outil « ponts de l'année » (composants/outil-ponts.html). Couleurs et polices de theme.css. */
.op [hidden] { display: none !important; }
.op-reglages { display: grid; gap: 14px; margin: 0 0 16px; padding: 16px; background: var(--ciel); border-radius: 4px; }
.op-zones { margin: 0; padding: 0; border: 0; min-width: 0; }
.op-zones legend, .op-max label { display: block; margin-bottom: 6px; font-weight: 700; }
.op-zones label { display: flex; align-items: flex-start; gap: 8px; padding: 6px 0; cursor: pointer; }
.op-zones input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--rouge-texte); }
.op-max { margin: 0; }
.op-max select { width: 100%; max-width: 320px; min-height: 44px; padding: 8px 10px; font: inherit; color: var(--feutre);
  background: var(--papier); border: 2px solid var(--feutre); border-radius: 8px; }
.op-bilan { margin: 0 0 12px; font-weight: 700; }
.op-bilan:empty { display: none; }
.op-zone + .op-zone { margin-top: 28px; }
.op-zone h3 { margin: 0 0 6px; font-size: 20px; line-height: 1.3; }
.op-resume { margin: 0 0 14px; }
.op-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.op-ferie { padding: 12px 14px; background: var(--email); border-left: 6px solid var(--bleu); border-radius: 2px; }
.op-ferie.op-viaduc { border-left-color: var(--rouge-texte); }
.op-ferie.op-week-end-prolonge { border-left-color: var(--vert-aimant); }
.op-ferie.op-tombe-un-week-end { border-left-color: #9aa3ad; }
.op-tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 0 0 6px; }
.op-nom { font-weight: 800; font-size: 18px; }
.op-date { color: var(--feutre); }
.op-type { font: 400 18px/1.1 var(--main); padding: 1px 8px; background: var(--postit); }
.op-options { margin: 0; padding: 0 0 0 18px; }
.op-options li { margin: 4px 0; max-width: none; overflow-wrap: anywhere; }
.op-top { list-style: "★ "; }
.op-top::marker { color: var(--rouge-texte); }
.op-badge { display: inline-block; padding: 0 6px; font-size: 14px; font-weight: 700; color: #fff; background: var(--rouge-texte); border-radius: 3px; }
.op-we, .op-rien { margin: 0; color: var(--doux); }
.op-source { margin: 18px 0 0; font-size: 14px; color: var(--doux); }
.op-source a { color: var(--doux); }
