/* =====================================================================
   vues/oral.css — l'Oral (§8.14), préfixe .or-
   Une vue = un objet central : l'énoncé à dire, puis l'écart à lire.
   Tokens de tokens.css uniquement ; mobile 390 px.
   ===================================================================== */
.or-tete, .or-choix, .or-sections, .or-historique, .or-parler, .or-compare, .or-programme, .or-vide, .or-onglets {
  max-width: var(--gab-atelier, 900px); margin: var(--sp-3, 12px) auto 0; min-width: 0; overflow-wrap: anywhere;
}
.or-sections, .or-compare, .or-programme { display: flex; flex-direction: column; gap: var(--sp-3, 12px); }
.or-h { font-size: var(--t-h4, 17px); margin: 0 0 var(--sp-2, 8px); }
.or-releve { margin: 0 0 var(--sp-2, 8px); }
.or-note, .or-aide { font-size: var(--t-small, 13px); margin: var(--sp-2, 8px) 0 0; }
.or-mat { width: 100%; max-width: 100%; min-width: 0; text-overflow: ellipsis; }
.or-onglets { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--hairline); padding-bottom: 6px; }
.or-onglet { min-height: 44px; }
.or-onglet.is-on { background: var(--accent-tint); border-color: var(--accent-line); font-weight: 600; }
.or-section summary, .or-historique summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.or-type { margin-top: var(--sp-3, 12px); }
.or-type-h { font-size: var(--t-ui, 15px); margin: 0 0 var(--sp-2, 8px); }
.or-enonces, .or-hist-l, .or-rep-l, .or-nomme-l { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.or-enonce { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.or-enonce-t { flex: 1 1 200px; min-width: 0; }
.or-enonce-o { font-size: var(--t-small, 13px); }
.or-hist-l li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.or-type-l { margin: 0; font-size: var(--t-small, 13px); }
.or-enonce-g { font-family: var(--serif, Spectral, serif); font-size: var(--t-h3, 21px); line-height: 1.35; margin: var(--sp-2, 8px) 0; }
.or-consigne { margin: 0 0 var(--sp-2, 8px); }
.or-chrono { font-variant-numeric: tabular-nums; font-size: var(--t-h2, 28px); font-weight: 600; margin: var(--sp-3, 12px) 0; }
.or-elements { margin: 0; padding: 10px 14px 10px 30px; display: flex; flex-direction: column; gap: 12px; }
.or-el-t { line-height: 1.5; }
.or-el-n { font-size: 10.5px; }
.or-coches { gap: 10px; font-size: var(--t-small, 13px); margin-top: 4px; flex-wrap: wrap; }
.or-coche { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; }
.or-el[data-etat="oublie"] { border-left: 3px solid var(--danger); padding-left: 6px; }
.or-el[data-etat="approximatif"] { border-left: 3px solid var(--gold-text); padding-left: 6px; }
.or-el[data-etat="restitue"] { border-left: 3px solid var(--c-c); padding-left: 6px; }
.or-col-h { font-weight: 600; margin-bottom: var(--sp-2, 8px); }
.or-gestes { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--sp-2, 8px); min-width: 0; }
.or-gestes legend { font-weight: 600; padding: 0; margin-bottom: 4px; }
.or-geste-l { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.or-geste-t { flex: 1 1 220px; min-width: 0; }
.or-geste-s { font-size: var(--t-caption, 12px); }
.or-geste { min-width: 130px; }
.or-nommes { display: flex; flex-direction: column; gap: var(--sp-3, 12px); }
.or-nommes-h { font-weight: 600; margin: 0; }
.or-nomme { display: flex; flex-direction: column; gap: 6px; }
.or-nomme-l li { display: flex; align-items: center; gap: 6px; }
.or-resultat { margin: 0; font-weight: 600; font-size: var(--t-ui, 15px); }
.or-suite { margin: 6px 0 0; color: var(--c-c); font-weight: 600; }
.or-rep { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; border-bottom: 1px dashed var(--hairline); padding-bottom: 6px; }
