/* Terrae · Italia · phase 3 (Claude, 30/09/2026). Surcharge de la galerie ivoire, chargée après maisons-etalonnage.css.
   Apport : matière de vigne (détail recadré de vignes/toscana-20260927.jpg, évocation de synthèse déjà servie sur la page)
   et phrase du propriétaire (.lx-apport). Raffinement : lumière latérale très lente (::before) et ombre de feuillage
   localisée (::after, dessin procédural généré par outils/generer_feuillage.py), confinées à l'image (.iv-picture,
   overflow hidden) : jamais sur les paragraphes. Composition alpha normale (les modes de fusion sont neutralisés dans
   ce conteneur transformé et isolé). Aucun fichier partagé modifié ; ids/classes conservés ; aucun !important.
   LOT INTENSITÉ (Claude, 30/09/2026 ; arbitrages Codex 16:36, 16:45, 16:49) : le sujet paraît AVEC le titre — à partir de
   901 px, description et exergue regroupées dans la colonne secondaire (plus de préambule à deux étages) ; à 700 px et moins,
   marges cumulées resserrées sans toucher aux tailles de texte. UN seul geste : l'ombre de feuillage mène (balancement de
   ≈ 7 % de la largeur, 26 s → 12 s) ; la lumière latérale chaude la suit, même phase et même durée (64 s → 12 s), et
   traverse réellement l'image ; le reflet du moteur prend la même cadence (54 s → 12 s). Aucun zoom automatique. */
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery {
  --lx-feuillage: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 440'%3E%3Cfilter id='u' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeGaussianBlur stdDeviation='16'/%3E%3C/filter%3E%3Cfilter id='f' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeGaussianBlur stdDeviation='3.2'/%3E%3C/filter%3E%3Cg fill='%231b2a14' filter='url(%23u)'%3E%3Cellipse cx='90' cy='70' rx='190' ry='90' transform='rotate(-18 90 70)' opacity='0.42'/%3E%3Cellipse cx='250' cy='150' rx='150' ry='62' transform='rotate(14 250 150)' opacity='0.30'/%3E%3Cellipse cx='60' cy='230' rx='120' ry='58' transform='rotate(30 60 230)' opacity='0.26'/%3E%3C/g%3E%3Cg fill='%2316220f' filter='url(%23f)'%3E%3Cellipse cx='25' cy='-11' rx='35' ry='14' transform='rotate(70 25 -11)' opacity='0.82'/%3E%3Cellipse cx='18' cy='34' rx='52' ry='21' transform='rotate(62 18 34)' opacity='0.76'/%3E%3Cellipse cx='28' cy='47' rx='31' ry='13' transform='rotate(-25 28 47)' opacity='0.71'/%3E%3Cellipse cx='125' cy='57' rx='49' ry='24' transform='rotate(-6 125 57)' opacity='0.60'/%3E%3Cellipse cx='163' cy='52' rx='38' ry='14' transform='rotate(52 163 52)' opacity='0.67'/%3E%3Cellipse cx='136' cy='53' rx='37' ry='16' transform='rotate(-17 136 53)' opacity='0.58'/%3E%3Cellipse cx='171' cy='72' rx='39' ry='16' transform='rotate(-4 171 72)' opacity='0.52'/%3E%3Cellipse cx='233' cy='78' rx='29' ry='14' transform='rotate(-26 233 78)' opacity='0.54'/%3E%3Cellipse cx='232' cy='122' rx='40' ry='15' transform='rotate(37 232 122)' opacity='0.59'/%3E%3Cellipse cx='263' cy='124' rx='40' ry='14' transform='rotate(-29 263 124)' opacity='0.45'/%3E%3Cellipse cx='293' cy='133' rx='22' ry='10' transform='rotate(66 293 133)' opacity='0.41'/%3E%3Cellipse cx='295' cy='107' rx='25' ry='12' transform='rotate(40 295 107)' opacity='0.42'/%3E%3Cellipse cx='355' cy='167' rx='26' ry='12' transform='rotate(58 355 167)' opacity='0.45'/%3E%3Cellipse cx='390' cy='147' rx='36' ry='14' transform='rotate(-30 390 147)' opacity='0.34'/%3E%3Cellipse cx='436' cy='172' rx='22' ry='9' transform='rotate(25 436 172)' opacity='0.34'/%3E%3Cellipse cx='45' cy='47' rx='50' ry='24' transform='rotate(50 45 47)' opacity='0.81'/%3E%3Cellipse cx='7' cy='42' rx='49' ry='19' transform='rotate(96 7 42)' opacity='0.81'/%3E%3Cellipse cx='69' cy='59' rx='26' ry='13' transform='rotate(30 69 59)' opacity='0.63'/%3E%3Cellipse cx='48' cy='74' rx='45' ry='19' transform='rotate(51 48 74)' opacity='0.60'/%3E%3Cellipse cx='97' cy='134' rx='43' ry='16' transform='rotate(82 97 134)' opacity='0.65'/%3E%3Cellipse cx='144' cy='144' rx='44' ry='16' transform='rotate(43 144 144)' opacity='0.60'/%3E%3Cellipse cx='146' cy='157' rx='35' ry='15' transform='rotate(98 146 157)' opacity='0.62'/%3E%3Cellipse cx='177' cy='148' rx='22' ry='9' transform='rotate(32 177 148)' opacity='0.52'/%3E%3Cellipse cx='224' cy='194' rx='23' ry='11' transform='rotate(39 224 194)' opacity='0.53'/%3E%3Cellipse cx='206' cy='246' rx='35' ry='16' transform='rotate(35 206 246)' opacity='0.42'/%3E%3Cellipse cx='266' cy='257' rx='32' ry='15' transform='rotate(56 266 257)' opacity='0.37'/%3E%3Cellipse cx='223' cy='258' rx='22' ry='10' transform='rotate(48 223 258)' opacity='0.39'/%3E%3Cellipse cx='294' cy='324' rx='23' ry='8' transform='rotate(63 294 324)' opacity='0.33'/%3E%3Cellipse cx='2' cy='-7' rx='37' ry='18' transform='rotate(-36 2 -7)' opacity='0.71'/%3E%3Cellipse cx='101' cy='-5' rx='38' ry='16' transform='rotate(35 101 -5)' opacity='0.81'/%3E%3Cellipse cx='95' cy='-12' rx='45' ry='15' transform='rotate(20 95 -12)' opacity='0.70'/%3E%3Cellipse cx='108' cy='25' rx='41' ry='20' transform='rotate(20 108 25)' opacity='0.65'/%3E%3Cellipse cx='160' cy='26' rx='37' ry='17' transform='rotate(15 160 26)' opacity='0.59'/%3E%3Cellipse cx='245' cy='10' rx='24' ry='12' transform='rotate(14 245 10)' opacity='0.59'/%3E%3Cellipse cx='252' cy='8' rx='37' ry='13' transform='rotate(36 252 8)' opacity='0.52'/%3E%3Cellipse cx='263' cy='45' rx='25' ry='9' transform='rotate(40 263 45)' opacity='0.45'/%3E%3Cellipse cx='335' cy='72' rx='26' ry='10' transform='rotate(-21 335 72)' opacity='0.35'/%3E%3Cellipse cx='388' cy='42' rx='35' ry='15' transform='rotate(41 388 42)' opacity='0.34'/%3E%3Cellipse cx='-10' cy='71' rx='32' ry='15' transform='rotate(111 -10 71)' opacity='0.78'/%3E%3Cellipse cx='44' cy='96' rx='33' ry='16' transform='rotate(99 44 96)' opacity='0.57'/%3E%3Cellipse cx='51' cy='111' rx='43' ry='19' transform='rotate(91 51 111)' opacity='0.64'/%3E%3Cellipse cx='63' cy='162' rx='38' ry='17' transform='rotate(34 63 162)' opacity='0.52'/%3E%3Cellipse cx='81' cy='222' rx='39' ry='14' transform='rotate(23 81 222)' opacity='0.41'/%3E%3Cellipse cx='98' cy='204' rx='31' ry='16' transform='rotate(104 98 204)' opacity='0.36'/%3E%3Cellipse cx='110' cy='280' rx='27' ry='9' transform='rotate(83 110 280)' opacity='0.36'/%3E%3C/g%3E%3C/svg%3E");
}

/* Kicker : libellés propres à la page (structure .iv-running inchangée) ; le second libellé, plus long que « 03 / 06 », reste aligné à droite. */
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-running span:last-child { text-align: right; }

/* Apport de contenu : la phrase du propriétaire, en exergue sous le titre, pleine largeur de l'en-tête. */
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading .lx-apport {
  grid-column: 1 / -1;
  justify-self: start;
  max-width: 38ch;
  margin: 0;
  padding: 22px 0 0;
  font: 300 clamp(22px, 2.05vw, 31px) / 1.3 var(--tc-serif, Georgia, serif);
  letter-spacing: -.012em;
  color: var(--iv-ink);
  text-wrap: pretty;
}
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading .lx-apport::before {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: 0 0 18px;
  background: var(--iv-accent);
}

/* Matière de vigne : détail de terre (rangs, piquets, sol) recadré dans l'image déjà servie en bas de page ; le moteur de
   cadrage existant (--es-scale, --iv-pan) reste actif, seuls le facteur et l'origine du zoom changent. */
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-stage > .iv-picture { background: #55532f; }
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-stage > .iv-picture img {
  object-position: 26% 90%;
  transform-origin: 26% 90%;
  transform: scale(calc(var(--es-scale, 1.06) * 1.6)) translateX(var(--iv-pan, 0px));
}

/* Lumière latérale très lente : un jour chaud venu de la gauche, en voile alpha (pas de mode de fusion), au repos à 0 %. */
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::before {
  content: "";
  position: absolute;
  inset: -12% -100%;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(100deg, transparent 30%, #ffd08a17 38%, #ffdc9c47 44.5%, #ffe6b366 50%, #ffdc9c47 55.5%, #ffd08a17 62%, transparent 70%),
    linear-gradient(100deg, transparent 52%, #16241214 62%, #1624122e 100%);
  transform: translate3d(-12%, 0, 0);
  animation: lx-lumiere 12s ease-in-out infinite alternate;
  animation-play-state: paused;
}
/* Ombre de feuillage localisée : dessin procédural (SVG en données, aucun fichier), angle haut gauche, très lent balancement. */
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: var(--lx-feuillage) -9% -12% / 78% auto no-repeat;
  opacity: .9;
  transform-origin: 12% 8%;
  transform: translate3d(0, 0, 0) rotate(0deg);
  animation: lx-feuillage 12s ease-in-out infinite alternate;
  animation-play-state: paused;
}
/* Un geste : l'ombre avance, reflue un instant, puis s'étire ; la lumière suit les mêmes étapes (mêmes pourcentages, même durée). */
@keyframes lx-feuillage {
  0% { transform: translate3d(-4.5%, -1.2%, 0) rotate(-1.4deg); }
  38% { transform: translate3d(-.5%, .6%, 0) rotate(.7deg); }
  66% { transform: translate3d(-2%, -.3%, 0) rotate(-.2deg); }
  100% { transform: translate3d(2.5%, 1.6%, 0) rotate(1.9deg) scale(1.03); }
}
@keyframes lx-lumiere {
  0% { transform: translate3d(-14%, 0, 0); }
  38% { transform: translate3d(-2%, 0, 0); }
  66% { transform: translate3d(-6%, 0, 0); }
  100% { transform: translate3d(18%, 0, 0); }
}

/* Reflet existant (.iv-wash, moteur galeries-ivoire) : adouci ; même cadence que le geste d'ombre (54 s → 12 s), jamais autonome. */
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-wash { opacity: .28; }
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery[data-active="true"][data-moving="true"] .iv-wash { animation-duration: 12s; animation-timing-function: ease-in-out; }

/* Marche : uniquement sous les gardes existantes — galeries-ivoire.mjs (data-active/data-moving : pause locale « Suspendre »,
   visibilité, dialogues, préférences) et raccord-mouvement.mjs (body[data-tc-cine-paused]). Sans JS : état statique.
   (body[data-es-motion] n'est pas utilisé : edition-sensorielle le met à « off » dès qu'un <dialog aria-modal> existe
   dans le DOM, même fermé — cas du panneau de confidentialité.) */
body.page-italia.tc-direction-20260928:not([data-tc-cine-paused="true"]):not(#lx) .iv-gallery[data-active="true"][data-moving="true"] .iv-picture::before,
body.page-italia.tc-direction-20260928:not([data-tc-cine-paused="true"]):not(#lx) .iv-gallery[data-active="true"][data-moving="true"] .iv-picture::after {
  animation-play-state: running;
}

/* Provenance courte sous le cartel existant. */
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-caption .lx-source {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--mc-green-copy, #334d42);
}

@media (max-width: 900px) {
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading .lx-apport { max-width: 30ch; }
}
@media (max-width: 700px) {
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading .lx-apport { padding-top: 6px; font-size: 21px; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-running span:last-child { text-align: left; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-stage > .iv-picture img { object-position: 24% 90%; transform-origin: 24% 90%; transform: scale(calc(var(--es-scale, 1.06) * 1.35)) translateX(var(--iv-pan, 0px)); }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::after { background-size: 110% auto; background-position: -14% -8%; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-caption .lx-source { font-size: 9px; letter-spacing: .06em; }
}

/* Préférences : état statique (position de repos), aucune animation ; contraste forcé et impression : couches retirées. */
@media (prefers-reduced-motion: reduce), (prefers-contrast: more) {
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::before,
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::after { animation: none; }
}
@media (forced-colors: active), print {
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::before,
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::after { display: none; }
}
/* ---- LOT INTENSITÉ : le sujet avec le titre ------------------------------------------------------------------------------
   ≥ 901 px : titre à gauche ; description puis exergue empilées à droite (même ordre de lecture, mêmes textes) ;
   l'exergue garde sa voix (romain 300, filet orange) à l'échelle de la colonne. ≤ 700 px : seules les marges cumulées
   (haut de salle, pied du folio, en-tête, interlignes de grille) se resserrent ; aucune taille de texte ne baisse. */
@media (min-width: 901px) {
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery > .iv-heading { grid-template-rows: auto minmax(0, 1fr); row-gap: 14px; align-items: start; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading h2 { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading > p:not(.lx-apport) { grid-column: 2; grid-row: 1; justify-self: start; align-self: start; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading .lx-apport { grid-column: 2; grid-row: 2; justify-self: stretch; max-width: none; padding-top: 4px; font-size: clamp(20px, 1.7vw, 26px); }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading .lx-apport::before { margin-bottom: 14px; }
}
@media (max-width: 700px) {
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery { padding-top: 24px; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery > .iv-running { padding-bottom: 14px; row-gap: 4px; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery > .iv-heading { gap: 14px; padding: 18px 0 22px; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading .lx-apport { padding-top: 0; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-heading .lx-apport::before { margin-bottom: 12px; }
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-stage > .iv-volume { width: 22%; height: 112px; margin: 0 -6% -30px 0; }
}

/* ---- Gardes réaffirmées en fin de feuille (aucun raccourci « animation » ne peut les rouvrir) ---- */
body.page-italia.tc-direction-20260928[data-tc-cine-paused="true"]:not(#lx) .iv-gallery .iv-picture::before,
body.page-italia.tc-direction-20260928[data-tc-cine-paused="true"]:not(#lx) .iv-gallery .iv-picture::after,
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery:not([data-moving="true"]) .iv-picture::before,
body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery:not([data-moving="true"]) .iv-picture::after { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce), (prefers-contrast: more), (forced-colors: active), print {
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::before,
  body.page-italia.tc-direction-20260928:not(#lx) .iv-gallery .iv-picture::after { animation: none; }
}
