/* usine:socle : le SOCLE FIXE de l'usine 1000 (Cedia 26/09). Posé en CODE après chaque build
   (astro_site.pose_socle, dernière feuille du <head> de chaque page), vérifié par verif_en_ligne
   (points socle:*, verif_socle.py). Aucun appel à un LLM. Chaque règle a son seuil chiffré. */

/* S1 logo du header : 44 px de haut en bureau (40 à 48), 34 px en mobile (32 à 36). */
header [data-usine="logo"] img, header img[data-usine="logo"] {
  height: 44px !important; width: auto !important; max-width: min(60vw, 340px); object-fit: contain;
}

/* S2 pages internes (contact, à propos, auteurs...) : conteneur à la largeur du site, jamais une
   colonne de 700 px encadrée. Le conteneur porte data-usine-page="interne". */
[data-usine-page="interne"] { min-width: min(100%, 60rem); margin-inline: auto; }
/* S3 ... mais un texte courant de page interne reste une colonne lisible (≤ 75 caractères). */
[data-usine-page="interne"] p { max-width: min(60ch, 34em); }  /* ≈ 75 caractères, quelle que soit la chasse (mesuré 26/09 : 60ch = 83 car. en Inter) */
[data-usine-page="interne"] .text-center p, [data-usine-page="interne"] p.text-center { margin-inline: auto; }

/* S4 images d'un bloc de home hors hero : 480 px de haut au plus (une frise ou un parcours
   n'étale jamais une photo pleine largeur par étape). */
[data-bh-home] [data-bloc]:not([data-bloc="hero"]) img,
[data-usine-bloc]:not([data-usine-bloc="hero"]) img { max-height: 480px; object-fit: cover; }

/* S5 texte courant d'article : 16 px au moins, interligne 1,5 au moins. */
body { font-size: max(16px, 1em); }
.ka-corps p, .ka-corps li { font-size: max(16px, 1em); line-height: 1.65; }

/* S6 aucun média plus large que son conteneur (débordement horizontal). */
img, video, iframe { max-width: 100%; }
pre { overflow-x: auto; }

/* S7 quiz : une affirmation à la fois quand le kit_vivant est chargé (sans JS, tout reste lisible). */
[data-quiz] [data-question][hidden] { display: none !important; }

@media (max-width: 767px) {
  header [data-usine="logo"] img, header img[data-usine="logo"] { height: 34px !important; }
  /* S8 cibles tactiles : 44 px au moins en mobile. */
  header a, header button, .kv-bouton, [data-quiz] button {
    min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center;
  }
}
