/* Home_Banner Popup: CMS artwork supplies its own frame. No Home container changes. */
.desktop-welcome-popup .modal-dialog { --welcome-artwork-ratio: 0.654088; width: min(520px, calc(100vw - 48px), calc((100vh - 96px) * var(--welcome-artwork-ratio))); max-width: none; margin: 24px auto; padding: 0; }
@supports (height: 100dvh) {
    .desktop-welcome-popup .modal-dialog { width: min(520px, calc(100vw - 48px), calc((100dvh - 96px) * var(--welcome-artwork-ratio))); }
}
.desktop-welcome-popup .modal-content { position: relative; background: transparent; color: #fff; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.desktop-welcome-popup__close { position: absolute; top: 3%; right: 4.6%; z-index: 2; width: 32px; height: 32px; padding: 6px; display: grid; place-items: center; border: 1px solid #fff; border-radius: 50%; background: rgba(52,51,47,.45); color: #fff; }
.desktop-welcome-popup__close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.desktop-welcome-popup__swiper { width: 100%; }
.desktop-welcome-popup .swiper-slide { position: relative; }
.desktop-welcome-popup__image { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 0; }
.desktop-welcome-popup__action { position: absolute; left: 9.2%; right: 9.2%; bottom: 6%; display: flex; align-items: center; justify-content: center; min-height: 44px; aspect-ratio: 424 / 64; margin: 0; padding: 8px 12px; border-radius: 12px; background: linear-gradient(110deg,#bd945b,#ffe0a2); color: #191714; text-align: center; text-decoration: none; font-size: clamp(12px, 1.15vw, 18px); line-height: 1.25; font-weight: 600; overflow-wrap: anywhere; }
.desktop-welcome-popup__navigation { position: absolute; top: 100%; left: 0; width: 100%; display: flex; justify-content: center; margin-top: 24px; }
.desktop-welcome-popup__pagination { display: flex; align-items: center; justify-content: center; gap: 8px; width: auto !important; }
.desktop-welcome-popup__pagination .swiper-pagination-bullet { flex: 0 0 8px; width: 8px; height: 8px; margin: 0 !important; border-radius: 50%; background: #bdb8aa; opacity: .55; transition: opacity 200ms ease; }
.desktop-welcome-popup__pagination .swiper-pagination-bullet-active { width: 8px; border-radius: 50%; background: #f4d99a; opacity: 1; }
.desktop-welcome-popup button:focus-visible, .desktop-welcome-popup a:focus-visible { outline: 2px solid #f4d99a; outline-offset: 3px; }
.desktop-welcome-popup:not(.is-enhanced) .swiper-wrapper { display: block; }
.desktop-welcome-popup:not(.is-enhanced) .swiper-slide + .swiper-slide { margin-top: 24px; }
.desktop-welcome-popup:not(.is-enhanced) .desktop-welcome-popup__navigation { display: none; }
.desktop-welcome-popup.fade .modal-dialog { transform: translateY(24px); transition: transform 220ms ease-out; }
.desktop-welcome-popup.show .modal-dialog { transform: none; }
@media (prefers-reduced-motion: reduce) {
    .desktop-welcome-popup.fade, .desktop-welcome-popup.fade .modal-dialog, .desktop-welcome-popup__pagination .swiper-pagination-bullet { transition: none; }
    .desktop-welcome-popup.fade .modal-dialog { transform: none; }
}
