/* Popup-ы Bricks: анимации Tiffany (tiffany-popup.js) и оформление popup «Промоции» */
.brx-popup { --tf-pop-ms: 400ms; }
.brx-popup.tf-pop-in .brx-popup-content,
.brx-popup.tf-pop-out .brx-popup-content { animation-duration: var(--tf-pop-ms); animation-timing-function: cubic-bezier(.16, 1, .3, 1); animation-fill-mode: both; }
.brx-popup.tf-pop-in .brx-popup-backdrop { animation: tf-pop-fade var(--tf-pop-ms) ease both; }
.brx-popup.tf-pop-out .brx-popup-backdrop { animation: tf-pop-fade var(--tf-pop-ms) ease reverse both; }
.brx-popup.tf-pop-out .brx-popup-content { animation-timing-function: cubic-bezier(.7, 0, .84, 0); animation-direction: reverse; }
.tf-pop-in-fade .brx-popup-content, .tf-pop-out-fade .brx-popup-content { animation-name: tf-pop-fade; }
.tf-pop-in-zoom .brx-popup-content, .tf-pop-out-zoom .brx-popup-content { animation-name: tf-pop-zoom; }
.tf-pop-in-slide-up .brx-popup-content, .tf-pop-out-slide-up .brx-popup-content { animation-name: tf-pop-up; }
.tf-pop-in-slide-down .brx-popup-content, .tf-pop-out-slide-down .brx-popup-content { animation-name: tf-pop-down; }
.tf-pop-in-slide-left .brx-popup-content, .tf-pop-out-slide-left .brx-popup-content { animation-name: tf-pop-left; }
.tf-pop-in-slide-right .brx-popup-content, .tf-pop-out-slide-right .brx-popup-content { animation-name: tf-pop-right; }
.tf-pop-in-flip .brx-popup-content, .tf-pop-out-flip .brx-popup-content { animation-name: tf-pop-flip; }
@keyframes tf-pop-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes tf-pop-zoom { from { opacity: 0; transform: scale(.82); } to { opacity: 1; transform: none; } }
@keyframes tf-pop-up { from { opacity: 0; transform: translateY(60px); } to { opacity: 1; transform: none; } }
@keyframes tf-pop-down { from { opacity: 0; transform: translateY(-60px); } to { opacity: 1; transform: none; } }
@keyframes tf-pop-left { from { opacity: 0; transform: translateX(80px); } to { opacity: 1; transform: none; } }
@keyframes tf-pop-right { from { opacity: 0; transform: translateX(-80px); } to { opacity: 1; transform: none; } }
@keyframes tf-pop-flip { from { opacity: 0; transform: perspective(900px) rotateY(-70deg); } to { opacity: 1; transform: none; } }

/* ---------- Popup «Промоции»: постеры 2:3 в слайдере ---------- */
.brx-popup .brx-popup-content:has(.tf-promo-popup) { padding: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; width: auto !important; max-width: none !important; overflow: visible !important; }
.tf-promo-popup { position: relative; width: min(92vw, calc((100dvh - 120px) * 2 / 3), 460px); }
.tf-promo-popup__slider { border-radius: 18px; overflow: hidden; box-shadow: 0 30px 80px rgb(0 0 0 / .45); background: #17140F; }
.tf-promo-popup__slide { width: 100%; }
.tf-promo-popup__img, .tf-promo-popup__img img { display: block; width: 100%; height: auto; aspect-ratio: 1067 / 1601; object-fit: cover; }
.tf-promo-popup__img { transition: transform .5s cubic-bezier(.16, 1, .3, 1); }
.tf-promo-popup__slide:hover .tf-promo-popup__img { transform: scale(1.015); }
.tf-promo-popup__slider .splide__arrow { width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgb(255 255 255 / .9); opacity: 1; box-shadow: 0 6px 18px rgb(0 0 0 / .25); transition: background-color .25s ease, transform .25s ease; }
.tf-promo-popup__slider .splide__arrow:hover { background: #E6C46F; }
.tf-promo-popup__slider .splide__arrow svg { fill: #17140F; width: 16px; height: 16px; }
.tf-promo-popup__slider .splide__pagination { bottom: 10px; }
.tf-promo-popup__slider .splide__pagination__page { background: rgb(255 255 255 / .6); width: 8px; height: 8px; transition: width .3s ease, background-color .3s ease; }
.tf-promo-popup__slider .splide__pagination__page.is-active { background: #E6C46F; width: 24px; border-radius: 4px; transform: none; }
.tf-promo-popup__close { position: absolute; top: -14px; right: -14px; z-index: 5; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: #17140F; color: #fff; cursor: pointer; box-shadow: 0 6px 18px rgb(0 0 0 / .35); transition: background-color .25s ease, color .25s ease, transform .25s ease; }
.tf-promo-popup__close:hover, .tf-promo-popup__close:focus-visible { background: #E6C46F; color: #17140F; transform: rotate(90deg); outline: none; }
.tf-promo-popup__close svg { display: block; }
.tf-promo-popup__hint { margin: 12px 0 0; text-align: center; color: rgb(255 255 255 / .85); font-size: 13px; }
@media (max-width: 520px) { .tf-promo-popup__close { top: 8px; right: 8px; } }
@media (prefers-reduced-motion: reduce) { .tf-promo-popup__img, .tf-promo-popup__close { transition: none; } }
