/* hide leftover buy-sheet close on all viewports */
.buy-sheet-close { display: none !important; }

/* Mobile overlay — loaded last. Keep animations on transform/opacity only. */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    overscroll-behavior-y: auto;
}

.footer__social-link[aria-label="Discord"] .footer__social-label {
    display: none;
}

.site-footer .footer__brand {
    font-size: inherit;
    letter-spacing: normal;
    margin-bottom: 0;
    color: inherit;
}

a,
button,
.mobile__menu-button,
.gotoBuyBlock,
.acc-buy__cta,
input[type="submit"] {
    -webkit-tap-highlight-color: rgba(167, 139, 250, 0.18);
    touch-action: manipulation;
}

@media (max-width: 1023px) {
    html {
        overflow-x: clip;
        max-width: 100%;
    }

    body {
        overflow-x: clip;
        overflow-y: auto;
        max-width: 100%;
        min-height: 100%;
        -webkit-overflow-scrolling: touch;
    }

    /* Full-viewport hero with overflow:hidden traps touch scroll on iOS */
    .home-page > section.overflow-hidden,
    .home-page section[style*="100dvh"] {
        overflow: visible !important;
    }

    input,
    select,
    textarea {
        font-size: 16px !important;
    }

    .site-header {
        padding-top: env(safe-area-inset-top, 0px);
        background: rgba(10, 10, 15, 0.94);
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .site-header.site-header--scrolled {
        background: rgba(10, 10, 15, 0.98) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    }

    .glass,
    .glass-strong,
    .search__block,
    .cmp-prompt__backdrop,
    .acc-survey__backdrop,
    #notifModal,
    .payment-modal,
    .cabinet-modal,
    .support-v2__modal-backdrop {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    #notifBell,
    .search__btn {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
    }

    .payment-modal__close,
    .cabinet-modal__close {
        min-width: 44px;
        min-height: 44px;
    }

    #notifModal {
        background: rgba(0, 0, 0, 0.82) !important;
        padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px)) !important;
    }

    #notifPanel {
        max-height: min(85dvh, 85vh) !important;
    }

    body #root {
        padding-top: calc(64px + env(safe-area-inset-top, 0px)) !important;
    }

    .site-header .mx-auto.max-w-7xl {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .site-header .flex.h-16.items-center.justify-between {
        gap: 8px;
        min-width: 0;
    }

    .site-header .flex.items-center.gap-1\.5 {
        flex-shrink: 0;
        gap: 4px !important;
    }

    .site-header a.shrink-0 {
        min-width: 0;
        max-width: 46%;
    }

    .site-header a.shrink-0 span.font-bold {
        font-size: 15px;
        white-space: nowrap;
    }

    .mobile__menu-button {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .mobile__menu-button svg {
        transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.18s ease;
    }

    .mobile__menu {
        display: none !important;
        pointer-events: none !important;
        visibility: hidden;
        opacity: 0;
    }

    .mobile__menu.active {
        display: block !important;
        position: fixed !important;
        top: calc(64px + env(safe-area-inset-top, 0px)) !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 90 !important;
        visibility: visible;
        pointer-events: auto !important;
        opacity: 1;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        background: #0b0b0d !important;
        padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
        transform: translate3d(0, 0, 0);
        transition:
            opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
            visibility 0s linear 0s;
    }

    .mobile__menu a,
    .mobile__menu button {
        min-height: 44px;
        transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
    }

    .mobile__menu a:active {
        transform: scale(0.985);
    }

    .mobile__menu .grid.grid-cols-2 a span {
        white-space: normal;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        line-height: 1.25;
    }

    html.nav-open,
    body.nav-open {
        overflow: hidden !important;
    }

    .home-page .text-5xl {
        font-size: clamp(2.05rem, 8.4vw, 3rem);
        line-height: 1.08;
    }

    .home-page section[style*="100dvh"] {
        min-height: 100svh;
    }

    .home-reveal {
        transition-duration: 0.42s !important;
        will-change: auto;
    }

    .home-reveal:not(.is-visible) {
        transform: translateY(16px) !important;
    }

    .animate-ping,
    .animate-bounce {
        animation: none !important;
    }

    .site-footer {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .site-footer .footer__inner {
        padding-top: 20px !important;
        padding-bottom: 16px !important;
    }

    .site-footer .footer__cta {
        margin-bottom: 16px !important;
        padding: 14px !important;
    }

    .site-footer .footer__cta h3 {
        font-size: 1.15rem;
        margin-bottom: 12px !important;
    }

    .site-footer .footer__cta a {
        width: 100%;
        min-height: 48px;
        justify-content: center;
    }

    .site-footer .footer__main {
        margin-bottom: 14px !important;
        gap: 14px !important;
    }

    .site-footer .footer__brand p {
        max-width: none;
        margin-bottom: 12px !important;
    }

    .site-footer .footer__social {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        width: 100%;
    }

    .site-footer .footer__social-link {
        min-height: 44px;
        width: 100%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 0 12px !important;
        border-radius: 12px !important;
        background: #141416;
        border: 1px solid #2a2a30;
        font-size: 12px;
        font-weight: 600;
        color: #e8e8ea !important;
    }

    .site-footer .footer__social-link[aria-label="Discord"] .footer__social-label {
        display: inline;
    }

    .site-footer .footer__cols {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr;
        align-items: start;
        gap: 12px 10px !important;
        width: 100%;
        background: #121214;
        border: 1px solid #25252b;
        border-radius: 14px;
        padding: 12px 12px 10px;
    }

    .site-footer .footer__col {
        background: none;
        border: 0;
        border-radius: 0;
        padding: 0;
        min-width: 0;
    }

    .site-footer .footer__col:last-child {
        grid-column: auto;
    }

    .site-footer h4 {
        margin-bottom: 6px !important;
        font-size: 10px !important;
        letter-spacing: 0.08em;
        color: #8a8a94 !important;
    }

    .site-footer .footer__col ul {
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .site-footer .footer__col ul > li + li {
        margin-top: 0 !important;
    }

    .site-footer .footer__col li a {
        display: flex !important;
        align-items: center;
        min-height: 28px;
        width: 100%;
        padding: 3px 0;
        margin: 0;
        border-radius: 0;
        font-size: 12px !important;
        line-height: 1.3;
        color: #d8d8de !important;
    }

    .site-footer .footer__col li a:active {
        color: #a78bfa !important;
        background: transparent;
    }

    .site-footer .footer__copy {
        padding-top: 16px !important;
        gap: 10px !important;
        text-align: center;
    }

    .cabinet-tabbar {
        background: #0d0d10;
        border-top: 1px solid #25252b;
        padding: 4px 2px calc(4px + env(safe-area-inset-bottom, 0px));
        transform: translateZ(0);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .cabinet-tabbar__link {
        flex: 1;
        min-height: 52px;
        min-width: 0;
        padding: 6px 2px;
    }

    .cabinet-tabbar__label {
        white-space: nowrap;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        font-weight: 600;
        letter-spacing: 0.01em;
    }

    body:has(.cabinet-tabbar) .site-footer {
        padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    }

    body:has(.cabinet-tabbar) main > div {
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
        padding-top: 12px !important;
    }

    body:has(.cabinet-tabbar) .site-header .mx-auto.max-w-7xl {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body:has(.cabinet-tabbar) .site-header .flex.h-16.items-center.justify-between {
        gap: 8px;
        min-width: 0;
    }

    body:has(.cabinet-tabbar) .site-header .flex.items-center.gap-1\.5 {
        flex-shrink: 0;
        gap: 4px !important;
    }

    body:has(.cabinet-tabbar) .header-userbar {
        display: none !important;
    }

    body:has(.cabinet-tabbar) .site-header a.shrink-0 span.font-bold {
        font-size: 15px;
    }

    .cabinet-welcome {
        padding: 16px !important;
    }

    .cabinet-welcome__row {
        align-items: center;
    }

    .cabinet-welcome__meta {
        text-align: left;
    }

    .cabinet-welcome__eyebrow {
        letter-spacing: 0.12em !important;
    }

    .cabinet-welcome__name {
        font-size: 1.15rem !important;
        line-height: 1.25 !important;
    }

    .cabinet-welcome__stats {
        word-break: break-word;
    }

    body:has(.cabinet-tabbar) #cabinet-wallet > .flex.items-center.justify-between {
        margin-bottom: 12px !important;
    }

    body:has(.cabinet-tabbar) .grid.grid-cols-3.gap-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body:has(.cabinet-tabbar) .cabinet-deposit-methods {
        grid-template-columns: 1fr !important;
    }

    .cabinet-balance {
        font-size: clamp(2rem, 11vw, 3.25rem) !important;
    }

    .cabinet-balance__cents {
        font-size: clamp(0.95rem, 4vw, 1.35rem) !important;
    }

    #cabinet-wallet .p-8 {
        padding: 22px 16px !important;
    }

    .cabinet-deposit-preset {
        min-height: 44px;
    }

    .auth-screen.min-h-screen {
        min-height: 0 !important;
        height: auto !important;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        padding: 20px 20px 32px !important;
    }

    .content__login-form .max-w-sm {
        max-width: 100% !important;
    }

    .auth-card {
        padding: 26px 20px 22px !important;
        border-radius: 20px !important;
        overflow: visible !important;
        position: relative;
        z-index: 2;
    }

    .content__login-form .text-center.mb-8 {
        margin-bottom: 22px !important;
    }

    .content__login-form .text-center.mb-8 .mb-4 {
        margin-bottom: 12px !important;
    }

    .content__login-form h1 {
        font-size: 1.2rem !important;
        line-height: 1.35;
        padding: 0 4px;
    }

    .content__login-form .space-y-4 {
        row-gap: 14px;
    }

    .content__login-form .auth-field-head {
        min-height: 20px;
    }

    .content__login-form .auth-forgot {
        display: inline-flex;
        align-items: center;
        font-size: 12px;
        line-height: 1;
        white-space: nowrap;
        margin: 0;
        min-height: 0;
    }

    body:has(.content__login-form) #mobileMenu:not(.active),
    body:has(.auth-wrap) #mobileMenu:not(.active) {
        display: none !important;
        pointer-events: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        clip-path: inset(100%) !important;
    }

    body:has(.content__login-form) .auth-captcha,
    body:has(.auth-wrap) .auth-captcha {
        width: 100%;
        margin: 6px 0 2px;
    }

    body:has(.content__login-form) .auth-captcha,
    body:has(.content__login-form) .auth-captcha-box,
    body:has(.auth-wrap) .auth-captcha,
    body:has(.auth-wrap) .auth-captcha-box {
        position: relative;
        z-index: 120 !important;
        pointer-events: auto !important;
        touch-action: auto !important;
        -webkit-user-select: auto;
        user-select: auto;
    }

    body:has(.content__login-form) .auth-captcha-box iframe,
    body:has(.auth-wrap) .auth-captcha-box iframe {
        position: relative;
        z-index: 121 !important;
    }

    .content__login-form,
    .auth-wrap,
    .content__login-form .auth-card,
    .auth-wrap .auth-card {
        transform: none !important;
        -webkit-transform: none !important;
        filter: none !important;
        -webkit-filter: none !important;
    }

    .content__login-form .auth-captcha-title,
    .auth-wrap .auth-captcha-title {
        margin: 0 0 8px;
        font-size: 12px;
        font-weight: 500;
        color: var(--text-4, #8a8a94);
    }

    .content__login-form .auth-captcha-box,
    .auth-wrap .auth-captcha-box {
        display: flex !important;
        justify-content: center;
        align-items: center;
        width: 100%;
        min-height: 88px;
        padding: 12px 10px;
        box-sizing: border-box;
        overflow: visible !important;
        pointer-events: auto !important;
        touch-action: auto !important;
        isolation: isolate;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        position: relative;
        z-index: 120 !important;
    }

    .content__login-form .auth-captcha-box .h-captcha,
    .auth-wrap .auth-captcha-box .h-captcha {
        width: 302px;
        max-width: 100%;
        min-height: 76px;
        margin: 0 auto;
        line-height: 0;
        pointer-events: auto !important;
        touch-action: auto !important;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }

    .content__login-form .auth-captcha-box iframe,
    .auth-wrap .auth-captcha-box iframe {
        display: block;
        width: 302px !important;
        max-width: 100% !important;
        height: 76px !important;
        margin: 0 auto;
        pointer-events: auto !important;
        touch-action: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }

    main.relative > .max-w-\[1100px\],
    .cabinet-page {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    main.relative .rounded-2xl.p-6,
    main.relative .rounded-2xl.p-5 {
        padding: 18px 16px !important;
    }

    main.relative .space-y-6.max-w-2xl {
        width: 100%;
    }

    .cabinet-modal {
        padding: max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px));
    }

    .cabinet-modal__dialog {
        max-height: min(88dvh, 88vh);
        padding: 20px 16px 16px;
        border-radius: 16px;
    }

    .cabinet-modal__header {
        margin-bottom: 16px;
        padding-right: 28px;
    }

    .cabinet-modal__title {
        font-size: 17px;
        line-height: 1.3;
    }

    .cabinet-modal__subtitle {
        font-size: 12px;
        line-height: 1.45;
    }

    .cabinet-modal__empty,
    .cabinet-modal__success {
        padding-left: 4px;
        padding-right: 4px;
    }

    .cabinet-modal__btn,
    .cabinet-modal__submit {
        width: 100%;
        min-height: 44px;
    }

    .ua-avatar-row {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        width: 100%;
    }

    .ua-avatar-row > .ua-avatar {
        align-self: center;
    }

    .ua-avatar-form {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .ua-avatar-form .ua-btn {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }

    .ua-file-name {
        max-width: none;
        text-align: center;
        line-height: 1.45;
        word-break: break-word;
        white-space: normal;
    }

    .ua-btn-row {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .ua-btn-row .ua-btn {
        width: 100%;
        justify-content: center;
        min-height: 44px;
    }

    .content__login-form .mt-6 {
        margin-top: 16px !important;
        font-size: 13px !important;
    }

    .content__login-form button[type="submit"] {
        min-height: 48px;
        margin-top: 4px;
    }

    body:has(.content__login-form) #root > .mt-50 {
        display: none;
    }

    #root > .mt-50 {
        margin-top: 12px;
        height: 0;
        overflow: hidden;
    }

    .reviews-pager {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-top: 8px;
    }

    .reviews-pager__pages {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 100%;
        order: 3;
    }

    .reviews-pager__nav,
    .reviews-pager__num {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
        padding: 0 12px;
        border-radius: 9999px;
        border: 1px solid var(--border-1, #1f1f25);
        background: var(--bg-1, #101012);
        color: var(--text-2, #c5c5cc) !important;
        text-decoration: none !important;
        font-size: 13px;
        font-weight: 600;
        line-height: 1;
    }

    .reviews-pager__num.is-active {
        background: linear-gradient(135deg, #a78bfa, #a78bfa);
        border-color: transparent;
        color: #fff !important;
    }

    .reviews-pager__nav.is-disabled {
        opacity: 0.35;
        pointer-events: none;
    }

    .reviews-pager__gap {
        min-width: 20px;
        text-align: center;
        color: var(--text-4, #5e5e6a);
        font-size: 14px;
    }

    .paginator__wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
        padding: 0 4px;
    }

    .paginator__wrapper .pagination {
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px;
    }

    .catalog__cats-btn {
        display: none !important;
    }

    .catalog__cats-wrap {
        gap: 0 !important;
        margin-bottom: 10px !important;
    }

    .catalog__cats {
        gap: 6px !important;
        padding: 0 !important;
    }

    .catalog__category,
    .catalog__sort,
    .cfg-filter_active,
    .wiki-section__toggle {
        min-height: 44px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        line-height: 1.2;
        padding-top: 0;
        padding-bottom: 0;
    }

    .catalog__category {
        padding-left: 14px !important;
        padding-right: 14px !important;
        white-space: nowrap;
        font-size: 13px !important;
    }

    .wiki-search__input {
        font-size: 16px !important;
        min-height: 48px;
    }

    .wiki-page {
        padding-left: 16px;
        padding-right: 16px;
        padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
    }

    .wiki-page__title {
        font-size: clamp(1.5rem, 7vw, 1.85rem);
    }

    body:has(.m-buybar) main {
        padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body:has(.m-buybar) .feat-pill,
    body:has(.m-buybar) button.feat-pill_wiki {
        white-space: normal;
        max-width: 100%;
        text-align: left;
    }

    body:has(.cabinet-tabbar) .cabinet-page .flex.items-center.justify-between.mb-5 {
        flex-wrap: wrap;
        gap: 10px 12px;
        align-items: flex-start;
    }

    body.ut-crisp-buybar .crisp-client {
        bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.ut-crisp-cabinet .crisp-client {
        bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body:has(.m-buybar) .site-footer {
        padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    }

    .acc-item,
    .acc-page {
        padding-bottom: 20px !important;
    }

    .catalog-item-hero {
        margin-top: -65px;
        padding-top: 65px;
        position: relative;
        overflow: hidden;
        background: #070708;
    }

    .catalog-item-hero_has-bg {
        display: flex;
        flex-direction: column;
    }

    .catalog-item-hero__bg {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        order: 0;
        flex: none;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9;
        max-height: 210px;
        min-height: 0 !important;
        padding-bottom: 0 !important;
        background-size: cover !important;
        background-position: right center !important;
        background-repeat: no-repeat !important;
    }

    .catalog-item-hero__bg::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(7, 7, 8, 0.08) 0%, rgba(7, 7, 8, 0.55) 72%, rgba(7, 7, 8, 1) 100%);
        pointer-events: none;
    }

    .catalog-item-hero__shade {
        display: none !important;
    }

    .catalog-item-hero_has-bg .catalog-item-hero__content {
        position: relative !important;
        z-index: 2;
        order: 1;
        min-height: 0 !important;
        padding-top: 1rem !important;
        padding-bottom: 1.25rem !important;
    }

    a.group.rounded-2xl.border.border-border-1 > .relative.overflow-hidden > img {
        position: absolute !important;
        inset: 0 !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: right center !important;
    }

    .catalog-item-hero + div .mt-20 {
        margin-top: 2rem !important;
    }

    .catalog-item-hero + div .mb-20 {
        margin-bottom: 2rem !important;
    }

    .catalog-item-hero h1 {
        font-size: clamp(1.7rem, 8vw, 2.25rem) !important;
    }

    .m-buybar {
        background: rgba(10, 10, 12, 0.97) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        transform: translate3d(0, 0, 0);
        transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease;
    }

    body.nav-open .m-buybar {
        transform: translate3d(0, 110%, 0);
        pointer-events: none;
        opacity: 0;
    }

    .m-buybar a,
    .m-buybar .gotoBuyBlock {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 9999px;
        transition: transform 0.18s ease, opacity 0.18s ease;
    }

    .m-buybar a:active,
    .m-buybar .gotoBuyBlock:active {
        transform: scale(0.98);
    }

    aside.buyBlock {
        position: static !important;
        top: auto !important;
        padding-top: 8px !important;
        padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)) !important;
    }

    aside.buyBlock > div {
        overflow: visible !important;
    }

    .buy-sheet-close {
        display: none;
    }

    body.buy-open {
        overflow: hidden !important;
    }
    body.buy-open .site-header {
        visibility: hidden;
        pointer-events: none;
    }

    body.buy-open .m-buybar {
        transform: translate3d(0, 110%, 0);
        pointer-events: none;
        opacity: 0;
    }

    html:has(body.buy-open) {
        overflow: hidden !important;
    }
    body.buy-open aside.buyBlock {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        inset: 0 !important;
        top: 0 !important;
        z-index: 140 !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: calc(16px + env(safe-area-inset-top, 0px)) 12px 0 !important;
        overflow: hidden !important;
        background: rgba(0, 0, 0, 0.72);
        box-sizing: border-box;
    }

    body.buy-open aside.buyBlock .hidden-xl {
        display: none !important;
    }

    body.buy-open aside.buyBlock > div {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
        border-radius: 22px;
    }
    body.buy-open aside.buyBlock .ut-pay {
        padding-bottom: 8px;
    }

    body.buy-open .buy-sheet-close {
        display: flex;
        align-items: center;
        justify-content: center;
        position: sticky;
        top: 0;
        z-index: 2;
        width: 36px;
        height: 36px;
        margin: 0 0 12px auto;
        padding: 0;
        border: 0;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.12);
        color: #e8e8ea;
        cursor: pointer;
        line-height: 0;
    }

    .paginator__wrapper .page-item .page-link,
    .paginator__wrapper .page-item > a,
    .paginator__wrapper .page-item > span {
        min-width: 44px;
        height: 44px;
    }

    .acc-buy__input {
        font-size: 16px !important;
        min-height: 48px;
    }

    .acc-buy__cta,
    .paymentTabSelector,
    .acc-tier {
        min-height: 48px;
    }
    .ut-pay__opt.paymentSelector,
    .ut-pay__opt--wide.paymentSelector,
    .ut-pay__opt--funpay {
        min-height: 72px;
    }
}

@media (max-width: 1023px) and (hover: none) {
    .group:hover,
    a.group:hover,
    .hover\:-translate-y-1:hover {
        transform: none !important;
        box-shadow: none;
    }

    .group:hover img:not([style*="translate(-50%"]) {
        transform: none !important;
    }

    .acc-card:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mobile__menu,
    .mobile__menu.active,
    .mobile__menu a,
    .m-buybar,
    .home-reveal,
    .home-reveal:not(.is-visible),
    .cabinet-tabbar__link {
        transition: none !important;
        transform: none !important;
        animation: none !important;
    }

    .mobile__menu {
        opacity: 0;
    }

    .mobile__menu.active {
        opacity: 1;
    }
}

@supports (height: 100dvh) {
    .min-h-screen {
        min-height: 100dvh;
    }
}

/* Keep the purchase panel directly after Features on phones. */
@media(max-width:767px){
.product-detail-layout>.min-w-0{display:contents}
.product-detail-layout>.min-w-0>*{order:4}
.product-detail-layout>.min-w-0>section:has(.native-gallery){order:1}
.product-detail-layout>.min-w-0>.feat-section{order:2}
.product-detail-layout>aside{order:3}
}
