/* 06 Глянцевый блик, пробегающий по фото или карточке. Двигается только transform полосы. */
[data-lm-gloss] { position: relative; overflow: hidden; isolation: isolate; }
.lm-gloss__shine { position: absolute; top: -50%; bottom: -50%; left: 0; width: var(--lm-gloss-w, 45%); pointer-events: none; z-index: 2;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,var(--lm-gloss-a, .45)) 50%, rgba(255,255,255,0) 100%);
  mix-blend-mode: var(--lm-gloss-blend, soft-light);
  transform: translate3d(-120%, 0, 0) rotate(var(--lm-gloss-angle, 18deg)); will-change: transform; }
[data-lm-gloss].is-sweep .lm-gloss__shine { animation: lm-gloss var(--lm-gloss-dur, 1.2s) cubic-bezier(0.77, 0, 0.175, 1) both; }
[data-lm-gloss="loop"].is-in .lm-gloss__shine { animation: lm-gloss var(--lm-gloss-dur, 1.4s) cubic-bezier(0.77, 0, 0.175, 1) var(--lm-gloss-pause, 3.5s) infinite; }
@keyframes lm-gloss { from { transform: translate3d(-120%, 0, 0) rotate(var(--lm-gloss-angle, 18deg)); } to { transform: translate3d(330%, 0, 0) rotate(var(--lm-gloss-angle, 18deg)); } }
/* статичный «лак» поверх — едва заметный верхний свет */
[data-lm-gloss][data-varnish]::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: linear-gradient(160deg, rgba(255,255,255,.22), rgba(255,255,255,0) 40%, rgba(0,0,0,.06)); }
@media (prefers-reduced-motion: reduce) { .lm-gloss__shine { display: none; } }

/* 12 Смена цвета фона секций при прокрутке (36, 52). Цвет красится на одном контейнере. */
[data-lm-bgshift] { background-color: var(--lm-bg, #f4efe6); color: var(--lm-fg, #1f1d1a); transition: background-color var(--lm-bg-dur, .6s) linear, color var(--lm-bg-dur, .6s) linear; }
[data-lm-bgshift][data-mode="cut"] { --lm-bg-dur: 0s; }
@media (prefers-reduced-motion: reduce) { [data-lm-bgshift] { transition: none; } }
/* без скрипта каждая секция красится сама */
[data-lm-bgshift]:not(.is-live) [data-bg] { background-color: var(--sec-bg); color: var(--sec-fg); }
