/* Socle commun aux trois propositions : polices, remise à zéro, visionneuse. */
@font-face { font-family: 'Inter Tight'; src: url('fonts/inter-tight-variable-latin.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Cormorant'; src: url('fonts/cormorant-garamond-latin-wght-normal.woff2') format('woff2'); font-weight: 300 700; font-display: swap; }
@font-face { font-family: 'Cormorant'; src: url('fonts/cormorant-garamond-latin-wght-italic.woff2') format('woff2'); font-weight: 300 700; font-style: italic; font-display: swap; }
@font-face { font-family: 'Plex Mono'; src: url('fonts/ibm-plex-mono-latin-300-normal.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Plex Mono'; src: url('fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.bloque { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }

/* Mention sur les images générées par IA */
.badge-ia { position: absolute; left: 10px; bottom: 10px; z-index: 3; background: rgba(0,0,0,.6); color: #fff; font: 400 9px/1 'Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; padding: 5px 7px; pointer-events: none; }

/* Texte complet replié */
details.complet summary { cursor: pointer; list-style: none; }
details.complet summary::-webkit-details-marker { display: none; }

/* Visionneuse plein écran */
.mj-vis { position: fixed; inset: 0; z-index: 200; background: rgba(6,6,6,.97); display: none; align-items: center; justify-content: center; }
.mj-vis.ouverte { display: flex; }
.mj-vis figure { position: relative; }
.mj-vis img { max-width: 94vw; max-height: 84vh; object-fit: contain; }
.mj-vis button { position: absolute; z-index: 2; width: 52px; height: 52px; display: grid; place-items: center; color: #eee; font: 300 22px/1 'Inter Tight', sans-serif; }
.mj-vis .f { top: 10px; right: 10px; font-size: 28px; }
.mj-vis .g { left: 4px; top: 50%; transform: translateY(-50%); }
.mj-vis .d { right: 4px; top: 50%; transform: translateY(-50%); }
.mj-vis .n { position: absolute; bottom: 18px; left: 0; right: 0; text-align: center; font: 400 11px 'Plex Mono', monospace; letter-spacing: .2em; color: #888; }

/* Lien discret vers le sélecteur de propositions */
.mj-retour-choix { position: fixed; left: 10px; bottom: 10px; z-index: 150; font: 400 9px/1 'Plex Mono', monospace; letter-spacing: .12em; text-transform: uppercase; padding: 6px 8px; background: rgba(128,128,128,.25); color: inherit; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border-radius: 2px; opacity: .7; transition: opacity .4s; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
.badge-ia { display: none !important; } /* Pio : pas de mention « Visuel IA » */
