/* «Красочный визуал» слайда: блик по заголовку, искры и плавный зум кнопки.
   Включается тумблером в ACF, класс ставит home-release-20260924.php. */

/* Заголовок залит градиентом по тексту. В покое виден только белый край градиента,
   блик прячется за границей и проезжает по буквам при анимации. */
.home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive .offer-slider__title {
    background: linear-gradient(105deg, #fff 0 40%, #fff6e2 45%, #f1d6a0 50%, #fff6e2 55%, #fff 60% 100%);
    background-size: 300% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    /* text-shadow лёг бы поверх прозрачных букв и замутил заливку. */
    text-shadow: none;
    filter: drop-shadow(0 2px 14px rgba(0,0,0,.14));
}
.home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive .offer-slider__title * {
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive.is-festive-shine .offer-slider__title {
    animation: omf-festive-shine 1.7s cubic-bezier(.45,.05,.3,1) both;
}
@keyframes omf-festive-shine {
    from { background-position: 100% 0; }
    to { background-position: 0 0; }
}

/* Кнопка: неторопливое увеличение и возврат, на пике по капсуле проходит блик. */
.home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive .offer-slider__btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive .offer-slider__btn::after {
    content: '';
    position: absolute;
    inset: -2px auto -2px 0;
    width: 45%;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(241,214,160,.55) 45%, rgba(255,255,255,.85) 50%, rgba(241,214,160,.55) 55%, transparent);
    transform: translateX(-120%) skewX(-18deg);
    opacity: 0;
}
.home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive.is-festive-zoom .offer-slider__btn {
    animation: omf-festive-zoom 2.4s ease-in-out both;
}
.home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive.is-festive-zoom .offer-slider__btn::after {
    animation: omf-festive-glint 1.1s ease-in-out .5s both;
}
/* Пик зума приходится на 1,1 с, блик стартует на 0,5 с и проезжает как раз к нему. */
@keyframes omf-festive-zoom {
    0%, 100% { transform: scale(1); }
    45% { transform: scale(1.07); }
}
@keyframes omf-festive-glint {
    0% { transform: translateX(-120%) skewX(-18deg); opacity: 0; }
    15% { opacity: 1; }
    85% { opacity: 1; }
    100% { transform: translateX(260%) skewX(-18deg); opacity: 0; }
}

/* Слой искр поверх слайда. Обрезается скруглением самого слайда. */
.omf-festive-layer {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    overflow: hidden;
    border-radius: inherit;
}
.omf-festive-spark {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    will-change: transform, opacity;
    backface-visibility: visible;
}

/* Искра: четырёхлучевая звезда. Свечение даёт фильтр обёртки -
   у самой звезды clip-path срезал бы тень. */
.omf-festive-spark {
    width: var(--spark-size, 18px);
    height: var(--spark-size, 18px);
    filter: drop-shadow(0 0 5px rgba(255,236,196,.95)) drop-shadow(0 0 12px rgba(241,214,160,.6));
}
.omf-festive-spark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, #fff 0 22%, #fbeccb 45%, #f1d6a0 80%);
    clip-path: polygon(50% 0, 58% 42%, 100% 50%, 58% 58%, 50% 100%, 42% 58%, 0 50%, 42% 42%);
}

@media (prefers-reduced-motion: reduce) {
    .home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive .offer-slider__title,
    .home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive .offer-slider__btn,
    .home-release-20260924-page .home-release-20260924-slider .offer-slider__item--festive .offer-slider__btn::after { animation: none !important; }
    .omf-festive-layer { display: none; }
}
