/* Final Figma assets, production empty states and interaction states. */
.zen-hero {
    background: #000;
}

.zen-hero-video {
    opacity: 0;
    transition: opacity 180ms ease-out;
}

.zen-hero-video.is-ready {
    opacity: 1;
}

.zen-hero-countdown::before {
    background: url("../images/figma/timer-bolt.png") center / 100% 100% no-repeat !important;
    clip-path: none !important;
    filter: none !important;
}

.currency-diamond,
.zen-crystal {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: visible;
    color: inherit !important;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif !important;
    font-weight: 400 !important;
    line-height: 1;
    text-indent: 0;
    vertical-align: -0.12em;
    background: none !important;
    filter: none !important;
    text-shadow: none !important;
}

.zen-empty-state {
    width: 100%;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    border: 1px dashed rgba(48, 68, 76, 0.72);
    border-radius: 7px;
    background: rgba(5, 17, 22, 0.42);
    color: rgba(195, 218, 217, 0.62);
    font-family: var(--zen-font-menu);
    font-size: 14px;
    line-height: 1.35;
    text-align: center;
}

.zen-case-row > .zen-empty-state {
    grid-column: 1 / -1;
    height: 275px;
}

.zen-giveaway-list > .zen-empty-state {
    grid-column: 1 / -1;
    height: 299px;
}

.zen-product-grid > .zen-empty-state {
    grid-column: 1 / -1;
    height: 384px;
}

.zen-partner-grid > .zen-empty-state {
    grid-column: 1 / -1;
    height: 418px;
}

.zen-product-card,
.zen-partner-card,
.zen-giveaway-row,
.zen-wide-button,
.zen-panel-action {
    transition:
        transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
        border-color 420ms ease,
        background-color 420ms ease,
        box-shadow 420ms ease,
        color 260ms ease,
        filter 420ms ease;
}

.zen-product-art img,
.zen-giveaway-thumb img,
.zen-partner-card img {
    transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1), filter 420ms ease;
    transform-origin: 50% 70%;
}

.zen-case-image {
    inset: 0;
    z-index: 0;
    overflow: hidden;
    border-radius: inherit;
}

.zen-case-image img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    transform: none;
    filter: none;
}

.zen-case-card {
    transition: border-color 600ms ease-out, box-shadow 600ms ease-out;
}

.zen-case-card.has-image {
    background: #040d10;
}

.zen-case-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
    background: transparent;
    box-shadow: inset 0 4px 17.8px #090816, inset 0 0 20px #184556;
    transition: background 600ms ease-out, box-shadow 600ms ease-out;
}

.zen-case-card::after {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 4;
    padding: 1px;
    pointer-events: none;
    border-radius: inherit;
    opacity: 0;
    background: linear-gradient(
        135deg,
        rgba(169, 160, 197, 0.2) 0%,
        rgba(110, 94, 146, 0.2) 45.717%,
        rgba(58, 46, 79, 0.2) 100%
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    transition: opacity 600ms ease-out;
}

.zen-case-link {
    position: relative;
    z-index: auto;
}

.zen-case-title,
.zen-case-subtitle {
    z-index: 3;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none;
}

.zen-case-price,
.zen-card-badge {
    z-index: 3;
}

.zen-case-card:hover {
    transform: none;
    border-color: transparent;
    box-shadow: none;
}

.zen-case-card:hover::after {
    opacity: 1;
}

.zen-case-card:hover .zen-case-image img {
    transform: none;
    filter: none;
}

.zen-case-card:hover::before,
.zen-case-card.is-featured:hover::before,
.zen-case-card.is-gold-border:hover::before {
    background: linear-gradient(
        0deg,
        rgba(75, 30, 191, 0) 0%,
        rgba(75, 30, 191, 0.114) 65.877%,
        rgba(35, 14, 89, 0.4) 99.519%
    );
    box-shadow:
        inset 6px 7px 20px rgba(0, 0, 0, 0.3),
        inset 0 0 40.3px #47788c,
        inset 0 4px 4px rgba(0, 0, 0, 0.25);
}

.zen-case-card.is-featured:hover,
.zen-case-card.is-gold-border:hover {
    transform: none;
    border-color: transparent;
    box-shadow: none;
}

.zen-product-card:hover {
    transform: translateY(-4px) scale(1.018);
    border-color: rgba(195, 218, 217, 0.84);
    filter: brightness(1.08) saturate(1.08);
    box-shadow: 0 0 24px rgba(49, 152, 190, 0.22), inset 0 0 26px rgba(24, 69, 86, 0.18);
}

.zen-product-card:hover .zen-product-art img {
    transform: translateY(-5px) scale(1.085);
    filter: drop-shadow(0 12px 13px rgba(0, 0, 0, 0.42));
}

.zen-giveaway-row:hover {
    transform: translateX(4px);
    filter: brightness(1.1) saturate(1.06);
    box-shadow: 0 0 22px rgba(47, 143, 178, 0.16);
}

.zen-giveaway-row:hover .zen-giveaway-thumb img {
    transform: scale(1.08) rotate(-1deg);
}

.zen-wide-button {
    background: #091c23;
    box-shadow: inset 0 0 0 rgba(24, 69, 86, 0);
}

.zen-wide-button:hover,
.zen-wide-button:focus-visible {
    transform: translateY(-1px);
    color: #fff;
    border-color: #466a78;
    background: linear-gradient(100deg, #0b2530 0%, #173e4d 100%);
    box-shadow: inset 0 0 26px rgba(70, 106, 120, 0.48), 0 0 24px rgba(49, 143, 178, 0.2);
}

.zen-panel-action:hover,
.zen-panel-action:focus-visible {
    color: #fff;
    transform: translateX(3px);
    text-shadow: 0 0 12px rgba(195, 218, 217, 0.55);
}

.zen-partners-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.zen-partners-heading .zen-section-title {
    margin-bottom: 0;
}

.zen-partner-controls {
    display: flex;
    align-items: center;
    gap: 14px;
}

.zen-partner-dot {
    width: 14px;
    height: 14px;
    padding: 0;
    border: 1px solid #30444c;
    border-radius: 3px;
    background: #091c23;
    cursor: pointer;
    transition: border-color 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
}

.zen-partner-dot:hover,
.zen-partner-dot.is-active {
    border-color: #c3dad9;
    background: #184556;
    box-shadow: 0 0 12px rgba(70, 106, 120, 0.55);
}

.zen-partner-card[hidden] {
    display: none !important;
}

.zen-partner-card:hover {
    transform: translateY(-4px);
    border-color: #466a78;
    box-shadow: 0 0 26px rgba(49, 143, 178, 0.2);
}

.zen-partner-card:hover img {
    transform: scale(1.025);
}

.zen-login-mobile {
    display: none;
}

.zen-page:not([class*="zen-page-admin"]) .auth-section .btn-twitch {
    font-size: 16px !important;
}

.zen-page:not([class*="zen-page-admin"]) .auth-section .btn-twitch::after {
    content: none !important;
}

body.zen-page:not([class*="zen-page-admin"]) {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

body.zen-page:not([class*="zen-page-admin"]) > .main {
    width: 100%;
    height: auto !important;
    min-height: calc(100vh - 110px) !important;
    flex: 1 0 auto !important;
    overflow: visible !important;
}

body.zen-page:not([class*="zen-page-admin"]) .zen-page-shell,
body.zen-page:not([class*="zen-page-admin"]) .profile-section {
    height: auto !important;
    overflow: visible !important;
}

body.zen-page:not([class*="zen-page-admin"]) > .footer {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    width: 100%;
    clear: both !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding-top: 32px !important;
    background: #000 !important;
}

@media (max-width: 700px) {
    .zen-case-image {
        inset: 0 !important;
        opacity: 1 !important;
    }

    body.zen-page:not([class*="zen-page-admin"]) > .main {
        min-height: 100vh !important;
    }

    body.zen-page:not([class*="zen-page-admin"]) > .footer {
        padding: 32px 0 42px !important;
    }

    .zen-login-desktop {
        display: none;
    }

    .zen-login-mobile {
        display: inline;
    }

    .zen-case-row > .zen-empty-state,
    .zen-giveaway-list > .zen-empty-state,
    .zen-product-grid > .zen-empty-state,
    .zen-partner-grid > .zen-empty-state {
        width: 100%;
        height: 220px;
        min-height: 220px;
    }

    .zen-partners-heading {
        align-items: flex-start;
    }

    .zen-partner-grid .zen-partner-card[data-partner-card]:not([hidden]) {
        display: flex !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zen-hero-video,
    .zen-case-card,
    .zen-product-card,
    .zen-partner-card,
    .zen-giveaway-row,
    .zen-wide-button,
    .zen-panel-action,
    .zen-case-image img,
    .zen-product-art img,
    .zen-giveaway-thumb img,
    .zen-partner-card img {
        transition-duration: 1ms !important;
    }

    .zen-case-card:hover,
    .zen-product-card:hover,
    .zen-partner-card:hover,
    .zen-giveaway-row:hover,
    .zen-wide-button:hover,
    .zen-panel-action:hover,
    .zen-case-card:hover .zen-case-image img,
    .zen-product-card:hover .zen-product-art img,
    .zen-giveaway-row:hover .zen-giveaway-thumb img,
    .zen-partner-card:hover img {
        transform: none !important;
    }
}

/* Authenticated desktop header from the Figma Menu variant. */
@media (min-width: 761px) {
    .zen-page:not([class*="zen-page-admin"]) .zen-hero {
        padding-top: 180px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .zen-hero-copy {
        margin: -10px 0 32px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header.is-authenticated {
        padding-top: 46px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated {
        grid-template-columns: 240px minmax(0, 1fr) 305px !important;
        column-gap: 20px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated::before {
        inset: 0 325px 0 0 !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .logo {
        padding: 0 34px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .logo-text {
        font-size: 19px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .site-nav {
        justify-content: space-between !important;
        gap: 0 !important;
        padding-right: 20px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .auth-section {
        grid-column: 3;
        position: relative;
        width: 305px !important;
        min-width: 305px !important;
        max-width: 305px !important;
        height: 68px !important;
        display: grid !important;
        grid-template-columns: 134px 103px 68px !important;
        grid-template-rows: 34px 34px !important;
        align-items: center;
        gap: 0 !important;
        justify-content: start !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible;
        border: 1px solid var(--zen-border);
        border-radius: 11px;
        background: rgba(4, 13, 16, 0.72);
        box-shadow: inset 0 0 0 1px rgba(195, 218, 217, 0.03);
        backdrop-filter: blur(10px);
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .level-display {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: center;
        justify-self: center;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 36px !important;
        min-height: 36px !important;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        border: 1px solid #466a78;
        border-radius: 7px;
        background: linear-gradient(180deg, rgba(24, 69, 86, 0.82), rgba(9, 28, 35, 0.9));
        box-shadow: inset 0 0 14px rgba(70, 106, 120, 0.28), 0 0 14px rgba(70, 106, 120, 0.14);
        transform: none;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .level-display-main {
        color: #fff;
        font-size: 17px;
        font-weight: 400;
        line-height: 1;
        white-space: nowrap;
        text-shadow: 0 0 8px rgba(195, 218, 217, 0.24);
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .level-display-status,
    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .level-display-bar {
        display: none;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-display,
    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .currency-display {
        grid-column: 2;
        width: 103px !important;
        min-width: 103px !important;
        max-width: 103px !important;
        height: 34px !important;
        min-height: 34px !important;
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-end;
        gap: 14px;
        margin: 0 !important;
        padding: 0 10px 0 20px !important;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        transform: none;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-display {
        grid-row: 1;
        align-self: end;
        padding-top: 6px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .currency-display {
        grid-row: 2;
        align-self: start;
        align-items: flex-start;
        padding: 4px 10px 0 20px !important;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-display:hover,
    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .currency-display:hover {
        transform: none;
        border: 0;
        box-shadow: none;
        background: transparent;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-amount,
    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .currency-amount,
    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated #header-balance {
        color: #c3dad9;
        font-family: var(--zen-font-display);
        font-size: 20px;
        font-weight: 400;
        line-height: 1;
        text-shadow: none;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-icon {
        position: relative;
        width: 15px;
        height: 10px;
        flex: 0 0 15px;
        overflow: visible;
        border-radius: 2px;
        background: #bd466b;
        color: transparent;
        font-size: 0;
        filter: drop-shadow(0 0 5px rgba(189, 70, 107, 0.42));
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-icon::before,
    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-icon::after {
        content: "";
        position: absolute;
        top: 3px;
        width: 3px;
        height: 4px;
        border-radius: 50%;
        background: rgba(9, 28, 35, 0.9);
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-icon::before {
        left: -1px;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .ticket-icon::after {
        right: -1px;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .currency-icon {
        width: 15px !important;
        height: 15px !important;
        flex: 0 0 15px;
        font-size: 15px;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .user-menu,
    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .user-avatar-link,
    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .user-menu-trigger {
        grid-column: 3;
        grid-row: 1 / 3;
        width: 68px;
        height: 68px;
        min-width: 68px;
        min-height: 68px;
        margin: -1px -1px -1px 0;
        padding: 0;
        border: 1px solid #30444c;
        border-radius: 11px;
        background: #091c23;
        box-shadow: none;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .user-avatar {
        width: 66px;
        height: 66px;
        display: block;
        border: 0;
        border-radius: 10px;
        object-fit: cover;
        box-shadow: none;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .user-avatar:hover {
        transform: none;
        box-shadow: none;
    }

    .zen-page:not([class*="zen-page-admin"]) .header-container.is-authenticated .user-dropdown {
        right: 0;
        top: calc(100% + 10px);
    }
}
