
:root {
    --color-black: #050508;
    --color-ink: #0b0b0f;
    --color-panel: rgba(20, 20, 25, 0.7);
    --color-panel-soft: rgba(26, 26, 32, 0.5);
    --color-card: rgba(18, 18, 22, 0.65);
    --color-card-raised: rgba(28, 28, 35, 0.8);
    --color-border: rgba(255, 255, 255, 0.08);
    --color-border-strong: rgba(255, 255, 255, 0.15);
    --color-text: #f8fafc;
    --color-text-soft: #e2e8f0;
    --color-muted: #94a3b8;
    --color-green: #14532d;
    --color-green-bright: #1db954;
    --color-green-soft: rgba(29, 185, 84, 0.12);
    --color-gold: #854d0e;
    --color-gold-bright: #f0c040;
    --color-gold-soft: rgba(240, 192, 64, 0.12);
    --color-danger: #ef4444;
    --color-success: #1db954;
    --color-overlay: rgba(5, 5, 8, 0.85);

    --font-ku: "Inter", system-ui, -apple-system, sans-serif;
    --font-body: var(--font-ku);

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-14: 3.5rem;
    --space-16: 4rem;

    --radius-xs: 6px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-pill: 999px;

    --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 12px 32px rgba(0, 0, 0, 0.45);
    --shadow-lg: 0 24px 64px rgba(0, 0, 0, 0.6);
    --glow-green: 0 0 15px rgba(29, 185, 84, 0.25);
    --glow-gold: 0 0 15px rgba(240, 192, 64, 0.25);

    --container: 1200px;
    --admin-sidebar: 17.5rem;
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.vip-manual-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
}

.vip-manual-card {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 1.25rem;
}

.vip-manual-card h2,
.vip-manual-card h3 {
    margin-top: 0;
}

.vip-manual-form {
    display: grid;
    gap: 1rem;
}

.vip-manual-form label {
    display: grid;
    gap: .4rem;
    font-weight: 700;
}

.vip-manual-form input,
.vip-manual-form select,
.vip-manual-form textarea {
    width: 100%;
    min-height: 2.8rem;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.25);
    color: #fff;
    padding: .7rem .85rem;
    box-sizing: border-box;
}

.vip-manual-form textarea {
    min-height: 7rem;
    resize: vertical;
}

.vip-price-box {
    display: grid;
    gap: .25rem;
    padding: .95rem 1rem;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(29,185,84,.18), rgba(255,255,255,.04));
    border: 1px solid rgba(29,185,84,.3);
}

.vip-price-box strong {
    font-size: 1.45rem;
}

.vip-instructions-box {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    padding: 1rem;
    background: rgba(255,255,255,.03);
}

.vip-instruction {
    margin: 0;
    white-space: pre-wrap;
    font-family: inherit;
    color: rgba(255,255,255,.82);
}

.vip-receipt-preview {
    display: grid;
    gap: .6rem;
    padding: 1rem;
    border: 1px dashed rgba(255,255,255,.18);
    border-radius: 14px;
}

.vip-receipt-preview img {
    max-width: 100%;
    max-height: 320px;
    object-fit: contain;
    border-radius: 12px;
}

.vip-manual-steps {
    margin: 0;
    padding-inline-start: 1.25rem;
    display: grid;
    gap: .7rem;
}

.vip-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: .4rem .9rem;
    font-size: .86rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.vip-status-pending { background: rgba(245, 158, 11, .16); color: #facc15; }
.vip-status-approved { background: rgba(16, 185, 129, .16); color: #6ee7b7; }
.vip-status-rejected { background: rgba(239, 68, 68, .16); color: #fca5a5; }
.vip-status-expired,
.vip-status-none { background: rgba(148, 163, 184, .15); color: #cbd5e1; }

.vip-status-meta {
    display: grid;
    gap: .75rem;
}

.vip-status-meta div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.vip-status-meta dt {
    color: rgba(255,255,255,.75);
}

.vip-status-meta dd {
    margin: 0;
    font-weight: 700;
}

.vip-countdown,
.vip-review-note {
    margin-top: 1rem;
    padding: .9rem 1rem;
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

@media (max-width: 720px) {
    .vip-manual-grid {
        grid-template-columns: 1fr;
    }

    .vip-status-meta div {
        flex-direction: column;
        align-items: flex-start;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    color-scheme: dark;
    background: var(--color-black);
    scrollbar-color: var(--color-green) var(--color-ink);
}

body {
    margin: 0;
    min-block-size: 100vh;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--color-text);
    background:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E"),
        radial-gradient(circle at 50% -10%, rgba(45, 122, 79, 0.26), transparent 34rem),
        linear-gradient(180deg, var(--color-black) 0%, #0d1118 46%, var(--color-black) 100%);
    background-attachment: fixed, scroll, scroll;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.lang-ku {
    --font-body: var(--font-ku);
}

html[dir="rtl"] body {
    text-align: right;
}

html[dir="ltr"] body {
    text-align: left;
}

img,
svg,
video,
iframe {
    display: block;
    max-inline-size: 100%;
}

iframe {
    border: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
    direction: inherit;
    text-align: inherit;
}

button {
    cursor: pointer;
}

input,
textarea,
select {
    color: var(--color-text);
}

::selection {
    color: #07130d;
    background: var(--color-gold-bright);
}

::-webkit-scrollbar {
    inline-size: 10px;
    block-size: 10px;
}

::-webkit-scrollbar-track {
    background: var(--color-ink);
}

::-webkit-scrollbar-thumb {
    border: 2px solid var(--color-ink);
    border-radius: var(--radius-pill);
    background: linear-gradient(180deg, var(--color-green), var(--color-gold));
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--color-green-bright), var(--color-gold-bright));
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-block-start: 0;
}

h1,
h2,
h3 {
    line-height: 1.22;
    letter-spacing: 0;
}

p {
    color: var(--color-text-soft);
}

.container,
.content-section,
.premium-section,
.page-head,
.watch-layout,
.premium-hero,
.feature-strip,
.product-grid,
.product-detail,
.profile-page,
.grid {
    display: grid;
    gap: var(--space-4);
}

.grid-2, .grid-3, .grid-4, .product-grid, .feature-strip { display: grid; gap: var(--space-4); grid-template-columns: 1fr; } .content-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-4); } .content-grid > * { width: 10.5rem; }

.browse-shell {
    inline-size: min(var(--container), calc(100% - var(--space-12)));
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    padding-block: var(--space-4) var(--space-12);
}

.filter-drawer-toggle {
    justify-self: start;
}

.filter-sidebar {
    display: none;
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
    box-shadow: var(--shadow-sm);
}

.filter-sidebar.is-open {
    display: block;
}

.filter-sidebar form,
.filter-block {
    display: grid;
    gap: var(--space-4);
}

.filter-block {
    gap: var(--space-2);
}

.filter-block h2 {
    margin: 0;
    color: var(--color-gold-bright);
    font-size: 1rem;
}

.filter-block select {
    min-block-size: 2.75rem;
    inline-size: 100%;
    padding-block: var(--space-2);
    padding-inline: var(--space-3);
    padding-inline-end: 2.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text);
    background: rgba(0, 0, 0, 0.22);
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 0.9rem;
    cursor: pointer;
    transition: border-color 0.2s;
}

.filter-block select:focus {
    border-color: var(--color-gold-bright);
    outline: none;
}

.filter-block select.has-value {
    border-color: var(--color-gold-bright);
    color: var(--color-gold-bright);
}

.filter-checks {
    display: grid;
    gap: var(--space-2);
    max-block-size: 14rem;
    overflow: auto;
}

.filter-checks label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-block-size: 2.75rem;
    color: var(--color-text-soft);
    font-weight: 800;
    cursor: pointer;
}

.filter-checks input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    inline-size: 1.2rem;
    block-size: 1.2rem;
    border: 2px solid var(--color-border);
    border-radius: 4px;
    background: transparent;
    flex-shrink: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, background 0.2s;
}

.filter-checks input[type="checkbox"]:checked {
    border-color: var(--color-gold-bright);
    background: var(--color-gold-bright);
}

.filter-checks input[type="checkbox"]:checked::after {
    content: '✓';
    color: #000;
    font-weight: 900;
    font-size: 0.8rem;
    line-height: 1;
}

.filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.browse-results {
    min-inline-size: 0;
}

.result-count {
    margin-block-end: var(--space-4);
    color: var(--color-muted);
    font-weight: 900;
}

.browse-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); justify-content: center; }

.empty-illustration {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    min-block-size: 24rem;
    padding: var(--space-10);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.04), transparent);
    backdrop-filter: blur(8px);
    text-align: center;
}

.empty-illustration[hidden] {
    display: none;
}

.empty-illustration > .illustration-icon {
    position: relative;
    inline-size: 8rem;
    block-size: 8rem;
    margin-block-end: var(--space-2);
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-green), var(--color-gold));
    box-shadow: var(--glow-gold);
    display: grid;
    place-items: center;
    animation: float 4s ease-in-out infinite;
}

.empty-illustration > .illustration-icon::before {
    content: "🔍";
    font-size: 3.5rem;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
}

.empty-illustration.is-watching > .illustration-icon::before {
    content: "📺";
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.empty-illustration strong {
    font-size: 1.4rem;
    color: var(--color-gold-bright);
}

.empty-illustration p {
    max-inline-size: 24rem;
    color: var(--color-muted);
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-block-start: var(--space-8);
}

.pagination a,
.pagination span {
    min-block-size: 2.5rem;
    display: inline-flex;
    align-items: center;
    padding-block: var(--space-2);
    padding-inline: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.05);
}

.instant-search-wrap {
    position: relative;
    flex: 1;
    min-inline-size: 0;
}

.instant-results {
    position: absolute;
    inset-block-start: calc(100% + var(--space-2));
    inset-inline: 0;
    z-index: 200;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(13, 17, 26, 0.98);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(16px);
    max-block-size: 28rem;
    overflow-y: auto;
}

/* Header variant: anchored to the form, not the inner wrap */
.header-instant-results {
    inset-block-start: 100%;
    inset-inline: 0;
    margin-block-start: var(--space-1);
}

.instant-results[hidden] {
    display: none;
}

.instant-results a {
    display: grid;
    grid-template-columns: 3.4rem minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-block-end: 1px solid rgba(255,255,255,0.06);
    transition: background var(--transition-fast);
}

.instant-results a:last-child {
    border-block-end: none;
}

.instant-results a:hover {
    background: rgba(255, 255, 255, 0.07);
}

.instant-results img {
    inline-size: 3.4rem;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border-radius: var(--radius-sm);
}

.instant-results span {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--color-text);
}

.instant-results small {
    font-size: 0.75rem;
    color: var(--color-gold-bright);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.search-memory {
    display: grid;
    gap: var(--space-4);
    margin-block-start: var(--space-5);
}

mark {
    color: #08130d;
    background: var(--color-gold-bright);
    border-radius: var(--radius-xs);
    padding-inline: 0.1rem;
}

.site-header {
    position: sticky;
    inset-block-start: 0;
    z-index: 60;
    border-block-end: 1px solid var(--color-border);
    background: rgba(10, 10, 10, 0.84);
    backdrop-filter: blur(18px);
}

.header-inner {
    max-width: 1400px;
    margin-inline: auto;
    padding-block: var(--space-1);
    padding-inline: var(--space-4);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    width: 100%;
    box-sizing: border-box;
}

.site-header.is-scrolled {
    box-shadow: var(--shadow-md);
}

.brand,
.auth-brand,
.admin-brand {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--color-text);
    font-weight: 900;
    white-space: nowrap;
}

.brand {
    justify-self: start;
}

.brand img,
.auth-brand img,
.admin-brand img {
    inline-size: 2rem;
    block-size: 2rem;
}

.main-nav {
    display: none;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: center;
}

.main-nav.is-open {
    display: flex !important;
}

.mobile-only-nav {
    display: flex;
    width: 100%;
}

.main-nav a,
.site-footer a,
.admin-nav a {
    color: var(--color-muted);
    font-size: 1.05rem; /* Increased as requested */
    font-weight: 800;
    transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
}

.main-nav a {
    min-block-size: 2.35rem;
    display: inline-flex;
    align-items: center;
    padding-block: var(--space-1);
    padding-inline: var(--space-3);
    border-radius: var(--radius-pill);
}

.main-nav a:hover,
.site-footer a:hover,
.admin-nav a:hover {
    color: var(--color-text);
}

.nav-account-link {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    color: var(--color-muted) !important;
}

.nav-account-link:hover {
    background: rgba(255, 255, 255, 0.06);
    color: var(--color-text) !important;
}

.nav-account-link.is-premium {
    border-color: var(--color-gold-bright, #c9a84c);
    color: var(--color-gold-bright, #c9a84c) !important;
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.08), rgba(201, 168, 76, 0.02));
}

.nav-account-link.is-premium:hover {
    background: var(--color-gold-bright, #c9a84c);
    color: #000 !important;
}

/* Mega Menu */
.has-mega {
    position: relative;
}

.mega-menu {
    position: absolute;
    inset-block-start: calc(100% - 2px);
    inset-inline-start: 0;
    z-index: 100;
    display: none;
    inline-size: min(36rem, calc(100vw - 2rem));
    min-inline-size: 0;
    max-inline-size: calc(100vw - 1rem);
    max-block-size: calc(100vh - 7rem);
    overflow: auto;
    padding: var(--space-5);
    background: rgba(15, 18, 23, 0.95);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
    backdrop-filter: blur(24px);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(12rem, 0.9fr);
    gap: var(--space-5);
}

@media (min-width: 900px) {
    .has-mega::after {
        content: "";
        position: absolute;
        inset-inline: 0;
        inset-block-start: 100%;
        block-size: 0.75rem;
    }

    .has-mega:hover .mega-menu,
    .has-mega.is-open .mega-menu {
        display: grid;
    }
}

@media (max-width: 899px) {
    .has-mega {
        inline-size: 100%;
    }

    .mega-trigger {
        inline-size: 100%;
        justify-content: space-between;
    }

    .has-mega.is-open .mega-menu {
        display: grid;
    }

    .mega-menu {
        position: static;
        min-inline-size: 100%;
        inline-size: 100%;
        margin-block-start: var(--space-2);
        max-inline-size: 100%;
        max-block-size: none;
        overflow: visible;
        padding: var(--space-4);
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .mega-links {
        grid-template-columns: 1fr;
    }
}

.mega-col {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.mega-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem 0.85rem;
}

.mega-title {
    display: block;
    margin-block-end: var(--space-3);
    color: var(--color-gold-bright);
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.mega-col a {
    padding: 0 !important;
    min-block-size: auto !important;
    color: var(--color-muted) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

.mega-col a:hover {
    color: var(--color-text) !important;
}

.mega-promo {
    padding: var(--space-5);
    border-radius: var(--radius-md);
    background: rgba(45, 122, 79, 0.12);
    border: 1px solid rgba(45, 122, 79, 0.2);
}

.mega-promo p {
    font-size: 0.88rem;
    color: var(--color-text-soft);
    margin-block: var(--space-2) var(--space-4);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.promo-btn {
    display: inline-block;
    padding: var(--space-2) var(--space-4);
    background: var(--color-green);
    color: #000 !important;
    border-radius: var(--radius-sm);
    font-size: 0.82rem;
    font-weight: 900;
    text-align: center;
}

.menu-toggle {
    justify-self: start;
}

.icon-button {
    inline-size: 2rem;
    block-size: 2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
}

.icon-button span {
    display: block;
    inline-size: 1rem;
    block-size: 2px;
    margin-block: 0.18rem;
    margin-inline: auto;
    background: var(--color-text);
}

.header-search,
.search-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.8rem;
    inline-size: 100%;
    max-inline-size: 100%;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.052);
    transition: inline-size var(--transition-base), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.header-search {
    position: relative;
}

.expandable-search .instant-search-wrap,
.expandable-search input {
    inline-size: 0;
    min-inline-size: 0;
    opacity: 0;
    transition: inline-size var(--transition-base), opacity var(--transition-fast), padding var(--transition-base);
}

.expandable-search.is-open .instant-search-wrap,
.expandable-search:focus-within .instant-search-wrap,
.expandable-search.is-open input,
.expandable-search:focus-within input {
    inline-size: 100%;
    opacity: 1;
}

@media (min-width: 900px) {
    .expandable-search .instant-search-wrap,
    .expandable-search input {
        inline-size: 100%;
        opacity: 1;
        padding-inline-start: 1rem;
    }
}

.header-search:focus-within,
.search-bar:focus-within {
    border-color: rgba(29, 185, 84, 0.62);
    box-shadow: var(--glow-green);
}

.header-search input,
.search-bar input,
.large-search input,
.form-panel input,
.form-panel select,
.admin-form input,
.admin-form select,
.admin-form textarea {
    inline-size: 100%;
    border: 0;
    outline: 0;
    color: var(--color-text);
    background: transparent;
    appearance: none;
    -webkit-appearance: none;
}

.header-search input,
.search-bar input {
    min-block-size: 2.75rem;
    padding-block: var(--space-2);
    padding-inline: var(--space-4);
}

.header-search button,
.search-bar button {
    border: 0;
    border-inline-start: 1px solid var(--color-border);
    color: var(--color-text);
    background: var(--color-green-soft);
    text-align: center;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.nav-account-icon {
    display: inline;
}

.nav-account-label {
    display: none;
}

.cart-icon-link {
    display: inline-flex;
    align-items: center;
    font-size: 1rem;
    position: relative;
}

.cart-count-badge {
    position: absolute;
    inset-block-start: -4px;
    inset-inline-end: -6px;
    font-size: 0.55rem;
    min-inline-size: 0.85rem;
    block-size: 0.85rem;
    border-radius: 50%;
    background: var(--color-gold-bright, #c9a84c);
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.language-link,
.ghost-link,
.solid-link,
.primary-button,
.secondary-button,
.admin-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-block-size: 2.75rem;
    padding-block: var(--space-2);
    padding-inline: var(--space-4);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    font-weight: 900;
    line-height: 1.3;
    white-space: nowrap;
    text-align: center;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}

.language-link,
.ghost-link {
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.052);
}

.solid-link,
.primary-button,
.admin-action {
    color: #06140d;
    border-color: transparent;
    background: linear-gradient(135deg, var(--color-green-bright), var(--color-green));
}

.secondary-button {
    color: var(--color-text);
    border-color: rgba(201, 168, 76, 0.4);
    background: var(--color-gold-soft);
}

.language-link:hover,
.ghost-link:hover,
.solid-link:hover,
.primary-button:hover,
.secondary-button:hover,
.admin-action:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.hero,
.details-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        var(--hero-image) center / cover no-repeat,
        linear-gradient(180deg, var(--color-panel), var(--color-black));
}

.hero::before,
.details-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at center, rgba(45, 122, 79, 0.08), transparent 28rem),
        linear-gradient(180deg, rgba(10, 10, 10, 0.4) 0%, rgba(10, 10, 10, 0.85) 50%, rgba(10, 10, 10, 1) 100%);
}

.hero {
    min-block-size: 34rem;
    display: grid;
    align-items: end;
    padding-block: 8rem var(--space-12);
    padding-inline: max(var(--space-6), calc((100% - var(--container)) / 2));
}

.hero-content,
.details-copy,
.premium-hero > div {
    inline-size: min(60rem, 100%);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    min-block-size: 1.9rem;
    padding-block: 0.18rem;
    padding-inline: var(--space-3);
    border: 1px solid rgba(201, 168, 76, 0.46);
    border-radius: var(--radius-pill);
    color: var(--color-gold-bright);
    background: var(--color-gold-soft);
    font-size: 0.82rem;
    font-weight: 900;
}

.hero h1,
.details-copy h1,
.premium-hero h1,
.page-head h1 {
    margin-block: var(--space-4) var(--space-3);
    font-size: clamp(2.25rem, 8vw, 3.75rem);
    text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}

.details-copy p,
.premium-hero p,
.page-head p {
    max-inline-size: 60rem;
    color: var(--color-text-soft);
    font-size: 1.06rem;
}

.hero p {
    max-inline-size: 60rem;
    color: var(--color-text-soft);
    font-size: 1.15rem; /* Slightly larger for readability */
    text-shadow: 0 2px 8px rgba(0,0,0,0.8); /* Better contrast against background */
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Truncate to 2 lines as requested */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hero-actions,
.form-actions,
.source-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
}

.hero-actions {
    margin-block-start: var(--space-5);
}

.home-hero {
    min-block-size: 36rem;
}

@media (max-width: 768px) {
    .home-hero {
        min-block-size: 22rem;
    }
    .hero h1 {
        font-size: clamp(1.8rem, 6vw, 2.5rem);
        margin-block: var(--space-2) var(--space-2);
    }
    .hero p {
        font-size: 0.95rem;
    }
    .hero-actions {
        margin-block-start: var(--space-3);
    }
}

.hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--color-text-soft);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    margin-block-end: var(--space-3);
}

.meta-item {
    display: inline-block;
}

.meta-dot {
    color: var(--color-green-bright);
    opacity: 0.8;
    font-size: 1.1rem;
}

.meta-badge.accent {
    background: var(--color-green-bright);
    color: var(--color-black);
    padding: 0.15rem 0.5rem;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
    text-shadow: none;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-inline-end: var(--space-1);
}

.static-badge {
    position: static !important;
    inset: auto !important;
}

.content-section,
.page-head,
.premium-hero,
.feature-strip,
.product-grid,
.product-detail,
.profile-page {
    padding-block: var(--space-8);
}

.section-heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--space-4);
    margin-block-end: var(--space-4);
}

.section-heading h2,
.genre-panel h2,
.watch-side h2,
.source-panel h2 {
    margin: 0;
    font-size: 1.9rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    position: relative;
    padding-block-end: var(--space-2);
}

.section-heading h2::after,
.genre-panel h2::after,
.watch-side h2::after,
.source-panel h2::after {
    content: '';
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    width: 56px;
    height: 8px;
    background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 40 10" xmlns="http://www.w3.org/2000/svg"><path d="M0,5 Q10,0 20,5 T40,5" fill="none" stroke="%231db954" stroke-width="2.5" stroke-linecap="round"/></svg>') repeat-x;
    background-size: 20px 100%;
    opacity: 0.85;
    filter: drop-shadow(0 0 2px rgba(29, 185, 84, 0.4));
}

.section-heading a {
    display: inline-flex;
    align-items: center;
    min-block-size: 2.75rem;
    color: var(--color-green-bright);
    font-weight: 900;
    font-size: 0.9rem;
    margin-inline-start: var(--space-2);
}

.see-all-toggle,
.see-all-link {
    background: none;
    border: none;
    color: var(--color-green-bright);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    padding: 0;
    white-space: nowrap;
    text-decoration: none;
}

.see-all-toggle:hover,
.see-all-link:hover {
    text-decoration: underline;
}

.section-icon {
    font-size: 1.3rem;
    display: inline-block;
    margin-inline-end: 0.25rem;
}
.section-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--color-gold-bright);
    background: rgba(201,168,76,0.12);
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    vertical-align: middle;
    margin-inline-start: 0.5rem;
    min-width: 1.6rem;
}
.section-filters {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
    margin-block-end: var(--space-4);
}
.filter-tab {
    background: none;
    border: none;
    padding: 0.4rem 1rem;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--color-muted);
    cursor: pointer;
    border-radius: 999px;
    transition: color 0.2s, background 0.2s;
}
.filter-tab:hover {
    color: var(--color-text);
    background: rgba(255,255,255,0.05);
}
.filter-tab.is-active {
    color: var(--color-gold-bright);
    background: rgba(201,168,76,0.12);
}

/* Row Highlights */
.featured-row .section-heading h2 {
    color: var(--color-gold-bright);
}

.personalized-row {
    background: linear-gradient(90deg, rgba(45, 122, 79, 0.05), transparent);
    border-radius: var(--radius-lg);
    margin-inline: calc(var(--space-4) * -1);
    padding-inline: var(--space-4);
}

.content-row, .carousel-row { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-4); overflow: hidden; padding-block-end: var(--space-3); } .content-row > *, .carousel-row > * { width: calc((100% - (var(--space-4) * 2)) / 3); }

@media (min-width: 640px) {
    .carousel-row > * { width: calc((100% - (var(--space-4) * 4)) / 5); }
}

@media (min-width: 900px) {
    .carousel-row > * { width: calc((100% - (var(--space-4) * 6)) / 7); }
}

@media (min-width: 1200px) {
    .carousel-row > * { width: calc((100% - (var(--space-4) * 7)) / 8); }
}

/* Home rows: cap visible cards per breakpoint (hide extras — avoids empty flash on first paint) */
.carousel-row .content-card:nth-child(n+4) {
    display: none;
}

@media (min-width: 640px) {
    .carousel-row .content-card:nth-child(n+4) {
        display: block;
    }

    .carousel-row .content-card:nth-child(n+6) {
        display: none;
    }
}

@media (min-width: 900px) {
    .carousel-row .content-card:nth-child(n+6) {
        display: block;
    }

    .carousel-row .content-card:nth-child(n+8) {
        display: none;
    }
}

@media (min-width: 1200px) {
    .carousel-row .content-card:nth-child(n+8) {
        display: block;
    }

    .carousel-row .content-card:nth-child(n+9) {
        display: none;
    }
}

.carousel-row.show-all {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10.25rem, 1fr));
    gap: var(--space-4);
    overflow: visible;
}

.carousel-row.show-all .content-card {
    display: block;
}

.carousel-section {
    padding-block: var(--space-8);
}

/* ─── Skeleton Screens ──────────────────────────────────────────── */
@keyframes skeleton-shimmer {
    0%   { background-position: 200% center; }
    100% { background-position: -200% center; }
}

.skeleton-card {
    min-inline-size: 0;
    scroll-snap-align: start;
    pointer-events: none;
}

.skeleton-poster {
    aspect-ratio: 2 / 3;
    border-radius: var(--radius-md);
    background: linear-gradient(
        90deg,
        var(--color-card) 0%,
        var(--color-card-raised) 40%,
        var(--color-card) 80%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.6s ease-in-out infinite;
}

.skeleton-title {
    margin-block-start: var(--space-3);
    block-size: 0.85rem;
    inline-size: 75%;
    border-radius: var(--radius-pill);
    background: linear-gradient(
        90deg,
        var(--color-card) 0%,
        var(--color-card-raised) 40%,
        var(--color-card) 80%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.6s ease-in-out infinite 0.1s;
}

.skeleton-meta {
    margin-block-start: var(--space-2);
    block-size: 0.7rem;
    inline-size: 50%;
    border-radius: var(--radius-pill);
    background: linear-gradient(
        90deg,
        var(--color-card) 0%,
        var(--color-card-raised) 40%,
        var(--color-card) 80%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.6s ease-in-out infinite 0.2s;
}

.carousel-title {
    margin-block-end: var(--space-4);
    font-size: 1.35rem;
}

.content-card {
    min-inline-size: 0;
    scroll-snap-align: start;
}

.poster-link {
    position: relative;
    display: block;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, var(--color-card-raised), var(--color-card));
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

.poster-link img {
    width: 100%; height: 100%;
    object-fit: cover;
    aspect-ratio: 2 / 3;
}

.poster-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.78));
    opacity: 0.85;
}

.card-play-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.poster-link:hover .card-play-overlay {
    opacity: 1;
}

.card-play-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(29, 185, 84, 0.9);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.card-badge,
.type-badge,
.rating-badge {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-block-size: 2.1rem;
    padding-block: 0.25rem;
    padding-inline: var(--space-3);
    border-radius: var(--radius-pill);
    font-size: 0.85rem;
    font-weight: 900;
    line-height: 1;
}

.card-badge,
.type-badge {
    inset-block-start: var(--space-2);
    inset-inline-start: var(--space-2);
    color: var(--color-text);
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.poster-link > [class*="-badge"]:nth-of-type(n+3) {
    display: none !important;
}

.card-badge-vip {
    inset-inline-start: auto;
    inset-inline-end: var(--space-2);
    background: linear-gradient(135deg, var(--color-gold-bright), var(--color-gold));
    font-weight: 800;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
}

.rating-badge {
    inset-block-start: var(--space-2);
    inset-inline-end: var(--space-2);
    color: var(--color-text);
    background: rgba(0, 0, 0, 0.62);
    border: 1px solid var(--color-border);
}

.rating-badge.is-premium {
    color: #161104;
    background: linear-gradient(135deg, var(--color-gold-bright), var(--color-gold));
    border: none;
}

.rating-badge.is-free {
    color: #06140d;
    background: var(--color-green-bright);
    border: none;
}

@media (hover: hover) and (pointer: fine) {
}

.poster-hover-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--space-3);
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity var(--transition-fast);
}

.hover-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-block-size: 2.2rem;
    padding-inline: var(--space-4);
    border-radius: var(--radius-pill);
    font-size: 0.9rem;
    font-weight: 700;
    transition: transform var(--transition-fast), background var(--transition-fast);
}

.primary-hover-btn {
    background: var(--color-green-bright);
    color: #06140d;
}

.primary-hover-btn:hover {
    transform: scale(1.05);
    background: #20c85c;
}

.secondary-hover-btn {
    background: rgba(255, 255, 255, 0.15);
    color: var(--color-text);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.secondary-hover-btn:hover {
    transform: scale(1.05);
    background: rgba(255, 255, 255, 0.25);
}

.card-copy {
    padding-block-start: var(--space-3);
    padding-inline: var(--space-1);
}

.card-copy h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.45;
}

.card-copy p {
    margin-block: var(--space-1) 0;
    color: var(--color-muted);
    font-size: 0.86rem;
}

.spotlight-row {
    display: grid;
    grid-template-columns: minmax(0, 2.5fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-2);
    align-items: stretch;
    justify-content: start;
    width: 100%;
    max-width: 74rem;
}

.spotlight-row .content-card {
    grid-column: span 1;
    width: 100%;
}

.spotlight-row .content-card:first-child {
    grid-column: span 1;
}

.spotlight-poster-link {
    block-size: 100%;
    aspect-ratio: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.spotlight-poster-link img {
    aspect-ratio: auto;
}

.spotlight-overlay {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 3;
    padding: var(--space-6) var(--space-5) var(--space-4);
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.95));
}

.spotlight-title {
    margin: 0 0 var(--space-1) 0;
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--color-text);
}

.spotlight-desc {
    margin: 0;
    font-size: 0.9rem;
    color: var(--color-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 900px) {
    .spotlight-row {
        grid-template-columns: 1fr 1fr;
    }
    .spotlight-card.content-card:first-child {
        grid-column: span 2;
        aspect-ratio: 16 / 9;
    }
    .spotlight-poster-link {
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 600px) {
    .spotlight-row {
        grid-template-columns: 1fr;
    }
    .spotlight-card.content-card:first-child {
        grid-column: span 1;
        aspect-ratio: 16 / 9;
    }
}

.mood-row-section {
    margin-block: var(--space-8);
    padding-inline: var(--space-4);
    max-width: var(--container);
    margin-inline: auto;
    text-align: center;
}

.mood-title {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: var(--space-4);
    color: var(--color-text);
}

.mood-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-3);
}

.mood-chip {
    padding: var(--space-2) var(--space-5);
    background: linear-gradient(135deg, rgba(29, 185, 84, 0.1), rgba(0, 0, 0, 0.4));
    border: 1px solid rgba(29, 185, 84, 0.2);
    border-radius: var(--radius-pill);
    color: var(--color-text);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}

.mood-chip:hover {
    transform: translateY(-2px);
    border-color: var(--mood-color, var(--color-green-bright));
    box-shadow: 0 0 0 1px rgba(0,0,0,0.1), 0 12px 24px -6px var(--mood-color, var(--color-green-bright));
    color: #fff;
}

.pwa-install-banner {
    margin: var(--space-4) auto var(--space-8);
    max-width: var(--container);
    padding-inline: var(--space-4);
}

.pwa-banner-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(90deg, rgba(29, 185, 84, 0.15) 0%, rgba(29, 185, 84, 0.02) 100%);
    border: 1px solid rgba(29, 185, 84, 0.3);
    border-radius: var(--radius-lg);
    padding: var(--space-4) var(--space-5);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.pwa-banner-text h3 {
    margin: 0 0 var(--space-1) 0;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--color-green-bright);
}

.pwa-banner-text p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--color-text-soft);
}

.pwa-install-btn {
    white-space: nowrap;
    padding-inline: var(--space-5);
}

@media (max-width: 600px) {
    .pwa-banner-content {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-4);
    }
    .pwa-install-btn {
        width: 100%;
        text-align: center;
    }
}

.progress-card .poster-link {
    aspect-ratio: 16 / 9;
}

.watch-progress {
    position: absolute;
    inset-inline: var(--space-2);
    inset-block-end: var(--space-2);
    z-index: 3;
    block-size: 0.3rem;
    overflow: hidden;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.22);
}

.watch-progress::after {
    content: "";
    display: block;
    inline-size: var(--progress, 0%);
    block-size: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--color-green-bright), var(--color-gold-bright));
}

.home-mid-ad {
    inline-size: min(var(--container), calc(100% - var(--space-4)));
    margin-inline: auto;
}

.split-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
}

.genre-panel,
.ad-slot,
.form-panel,
.auth-card,
.feature-strip article,
.source-panel,
.watch-side,
.admin-form,
.admin-table-wrap,
.admin-stats article {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
    box-shadow: var(--shadow-sm);
}

.genre-panel {
    padding: var(--space-4);
}

.genre-list,
.meta-pills,
.subtitle-list,
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.genre-list span,
.meta-pills span,
.subtitle-list span,
.genre-pill,
.tag-pill {
    display: inline-flex;
    align-items: center;
    min-block-size: 2rem;
    padding-block: 0.24rem;
    padding-inline: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.07);
    font-size: 0.88rem;
    font-weight: 700;
}

.genre-pill:hover,
.tag-pill:hover {
    border-color: rgba(201, 168, 76, 0.48);
    background: var(--color-gold-soft);
}

.ad-slot {
    overflow: hidden;
    margin-block: var(--space-5);
    padding: 0;
    inline-size: min(var(--container), calc(100% - var(--space-12)));
    margin-inline: auto;
    border: none;
    background: transparent;
}

.ad-slot > span {
    display: block;
    margin-block-end: var(--space-2);
    color: var(--color-muted);
    font-size: 0.76rem;
}

.ad-slot img {
    inline-size: 100%;
    border-radius: var(--radius-sm);
}

.details-hero {
    min-block-size: 31rem;
    display: grid;
    grid-template-columns: 1fr;
    align-items: end;
    gap: var(--space-6);
    padding-block: 7rem var(--space-10);
    padding-inline: max(var(--space-4), calc((100vw - var(--container)) / 2));
}

.details-poster {
    inline-size: min(13.5rem, 60vw);
}

.details-poster img {
    inline-size: 100%;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
}

.details-description {
    line-height: 1.6;
    margin-block-end: var(--space-5);
}

.details-meta-panel {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    margin-block-start: var(--space-6);
}

.meta-section {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.meta-section:not(:last-child) {
    border-block-end: 1px solid rgba(255, 255, 255, 0.06);
    padding-block-end: var(--space-4);
}

.meta-section h3 {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-gold-bright);
}

.meta-details-grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-2.5);
}

.meta-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-2) var(--space-4);
    flex-wrap: wrap;
}

.meta-detail-item .label {
    color: var(--color-muted);
    font-size: 0.88rem;
    font-weight: 600;
}

.meta-detail-item .value {
    color: var(--color-text);
    font-size: 0.88rem;
    font-weight: 700;
    text-align: end;
}

.episode-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
}

.details-keywords {
    margin-block-start: var(--space-4);
}

.details-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: var(--space-3);
    margin-block-start: var(--space-4);
}

.details-fact {
    display: grid;
    gap: 0.35rem;
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
}

.details-fact span {
    color: var(--color-muted);
    font-size: 0.82rem;
}

.details-fact strong {
    font-size: 1rem;
    color: var(--color-text);
}

.episode-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    gap: var(--space-2) var(--space-3);
    align-content: start;
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
    transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}

.mini-episode {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr);
    gap: var(--space-3);
    align-items: center;
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
    transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}

.episode-card:hover,
.mini-episode:hover {
    transform: translateY(-2px);
    border-color: rgba(29, 185, 84, 0.46);
    background: rgba(45, 122, 79, 0.14);
}

.episode-card img {
    grid-column: 1 / -1;
    grid-row: 1;
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--radius-sm);
}

.episode-card span {
    grid-column: 1;
    grid-row: 2;
}

.episode-card small {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
}

.episode-card strong {
    grid-column: 1 / -1;
    grid-row: 3;
    min-inline-size: 0;
    line-height: 1.4;
}

.mini-episode img {
    inline-size: 6rem;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--radius-sm);
    grid-row: span 3;
}

.episode-card span,
.episode-card small,
.mini-episode span {
    color: var(--color-muted);
    font-size: 0.82rem;
}

.mini-episode strong {
    min-inline-size: 0;
}

.watch-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
    padding-block: var(--space-5) var(--space-12);
}

.watch-section,
.watch-hero {
    inline-size: min(var(--container), calc(100% - var(--space-4)));
    margin-inline: auto;
}

/* Watch page: no lift/shadow jump on control buttons */
.watch-hero .primary-button:hover,
.watch-hero .secondary-button:hover,
.detail-watch-layout .primary-button:hover,
.detail-watch-layout .secondary-button:hover,
.detail-watch-layout .source-buttons button:hover {
    transform: none;
    box-shadow: none;
}

.detail-watch-layout .source-buttons button.is-active,
.detail-watch-layout .source-buttons button:focus-visible {
    border-color: rgba(201, 168, 76, 0.5);
    background: var(--color-gold-soft);
}

.detail-watch-layout .source-buttons button:not(.is-active):hover,
.detail-watch-layout .season-tabs button:not(.is-active):hover,
.detail-watch-layout .episode-tile:not(.is-active):hover,
.watch-hero .vibe-rating button:not(.is-active):hover {
    border-color: var(--color-border);
    background: rgba(255, 255, 255, 0.06);
    transform: none;
    box-shadow: none;
}

.detail-watch-layout .episode-tile:not(.is-active):hover {
    background: rgba(255, 255, 255, 0.045);
}

.detail-watch-layout .season-tabs button:not(.is-active):hover {
    background: rgba(255, 255, 255, 0.055);
}

.watch-hero .vibe-rating button:not(.is-active):hover {
    color: var(--color-text-soft);
}

.watch-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    align-items: end;
    min-block-size: 34rem;
    padding-block: 8rem var(--space-10);
    background:
        var(--hero-image) center / cover no-repeat,
        var(--color-black);
}

.watch-hero::before {
    content: "";
    position: absolute;
    inset: 0 calc((100vw - min(var(--container), calc(100vw - var(--space-4)))) / -2);
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(10, 10, 10, 0.22), rgba(10, 10, 10, 0.92)),
        linear-gradient(90deg, rgba(10, 10, 10, 0.9), rgba(10, 10, 10, 0.44));
}

.watch-hero-poster {
    position: relative;
    inline-size: min(14rem, 64vw);
}

.watch-hero-poster img {
    inline-size: 100%;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
}

.watch-hero-copy h1 {
    margin-block: var(--space-3);
    font-size: clamp(2rem, 6vw, 3.2rem);
}

.alt-title {
    color: var(--color-muted);
    font-size: 0.95rem;
}

.rating-stars {
    display: inline-flex;
    align-items: center;
    min-block-size: 2.65rem;
    color: var(--color-gold-bright);
    font-size: 1.25rem;
    letter-spacing: 0;
}

.premium-lock {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    gap: var(--space-3);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    text-align: center;
    background: rgba(0, 0, 0, 0.74);
    backdrop-filter: blur(8px);
}

.player-lock {
    z-index: 6;
}

.detail-watch-layout {
    align-items: start;
}

.watch-main,
.watch-side,
.source-panel {
    min-inline-size: 0;
}

.player-frame,
.video-player {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: #050505;
    box-shadow: var(--shadow-lg);
}

.content-player {
    margin-block-end: var(--space-4);
}

.content-player.is-locked iframe {
    filter: blur(1px);
}

.trailer-toggle {
    margin-block-start: var(--space-4);
}

.hero-actions .trailer-toggle {
    flex: 1 1 100%;
    margin-block-start: 0;
}

.trailer-toggle-btn {
    min-block-size: 2.5rem;
}

.trailer-toggle-panel[hidden] {
    display: none !important;
}

.trailer-toggle-panel:not([hidden]) {
    margin-block-start: var(--space-4);
}

.trailer-toggle-panel .trailer-player {
    margin-block-end: 0;
    max-inline-size: 40rem;
}

.player-frame iframe,
.video-player iframe {
    inline-size: 100%;
    block-size: 100%;
}

.native-video-player {
    inline-size: 100%;
    block-size: 100%;
    direction: ltr;
    background: #000;
    object-fit: contain;
}

.player-frame.has-native-video .native-video-player {
    position: absolute;
    inset: 0;
}

.kd-native-controls {
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    direction: ltr;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.88));
}

.kd-native-play {
    flex: 0 0 auto;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.85rem;
    line-height: 1;
    cursor: pointer;
}

.kd-native-seek {
    flex: 1 1 auto;
    min-inline-size: 0;
    block-size: 0.35rem;
    margin: 0;
    accent-color: var(--color-green-bright);
    cursor: pointer;
}

.kd-native-time {
    flex: 0 0 auto;
    color: var(--color-muted);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.player-frame.has-native-video .skip-intro-button {
    inset-block-end: 3.75rem;
}

.skip-intro-button {
    position: absolute;
    inset-inline-end: var(--space-4);
    inset-block-end: var(--space-4);
    z-index: 6;
    min-block-size: 2.4rem;
    padding-inline: var(--space-4);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: var(--radius-sm);
    color: var(--color-text);
    background: rgba(0,0,0,.72);
    font-weight: 800;
    cursor: pointer;
}

.vibe-rating {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-block-start: var(--space-3);
}

.vibe-rating button {
    min-block-size: 2.2rem;
    padding-inline: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-soft);
    background: rgba(255,255,255,.06);
    cursor: pointer;
}

.vibe-rating button.is-active {
    color: #05130b;
    border-color: transparent;
    background: var(--color-green);
}

.team-spotlight {
    display: grid;
    gap: var(--space-6);
    inline-size: min(100%, var(--container));
    margin-inline: auto;
    padding-block: var(--space-8);
    padding-inline: var(--space-4);
}

.team-spotlight .section-heading {
    max-inline-size: 44rem;
}

.team-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.team-card {
    display: grid;
    gap: var(--space-4);
    align-content: start;
    min-block-size: 100%;
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.04);
}

.team-card img {
    inline-size: 4rem;
    block-size: 4rem;
    object-fit: contain;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

.team-card span {
    display: inline-block;
    margin-block-end: var(--space-2);
    color: var(--color-gold-bright);
    font-size: var(--font-size-sm);
    font-weight: 700;
}

.team-card h2 {
    margin: 0;
    font-size: var(--font-size-lg);
}

.team-card p {
    margin-block-end: 0;
    color: var(--color-muted);
}

.player-controls,
.custom-controls {
    position: absolute;
    inset-inline: var(--space-3);
    inset-block-end: var(--space-3);
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding-block: var(--space-2);
    padding-inline: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(0, 0, 0, 0.68);
    backdrop-filter: blur(12px);
}

.preroll {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: grid;
    place-items: center;
    gap: var(--space-4);
    background: rgba(0, 0, 0, 0.86);
}

.preroll.is-hidden {
    display: none;
}

.preroll span {
    color: var(--color-gold-bright);
    font-weight: 900;
}

.preroll button,
.source-buttons button,
.source-selector {
    min-block-size: 2.6rem;
    padding-block: var(--space-2);
    padding-inline: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.06);
}

.source-buttons button:hover,
.source-selector:hover,
.source-buttons button.is-active {
    border-color: rgba(201, 168, 76, 0.5);
    background: var(--color-gold-soft);
}

.source-buttons span {
    color: var(--color-gold-bright);
    margin-inline-start: var(--space-2);
}

.watch-title {
    padding-block: var(--space-5);
}

.watch-title h1 {
    margin-block: var(--space-2);
    font-size: clamp(1.5rem, 4vw, 2rem);
}

.source-panel {
    margin-block-start: var(--space-4);
    padding: var(--space-4);
}

.player-control-panel {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
    box-shadow: var(--shadow-sm);
}

.player-control-panel h3 {
    margin-block-end: var(--space-2);
    color: var(--color-gold-bright);
    font-size: 1rem;
}

.player-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.control-note {
    margin-block: var(--space-2) 0;
    color: var(--color-muted);
    font-size: 0.9rem;
}

.watch-side {
    padding: var(--space-4);
    align-self: start;
}

.watch-side h2 {
    margin-block-end: var(--space-3);
}

.mini-episode {
    grid-template-columns: 5rem minmax(0, 1fr);
    margin-block-end: var(--space-2);
}

.mini-episode img {
    inline-size: 5rem;
}

.mini-episode.is-active {
    border-color: rgba(29, 185, 84, 0.58);
    background: rgba(45, 122, 79, 0.18);
}

.episode-panel {
    max-block-size: none;
}

.season-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-block-end: var(--space-3);
}

.season-tabs button {
    min-block-size: 2.35rem;
    padding-block: var(--space-1);
    padding-inline: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.055);
}

.season-tabs button.is-active,
.season-tabs button:focus-visible {
    border-color: rgba(201, 168, 76, 0.52);
    background: var(--color-gold-soft);
}

.episode-grid {
    display: grid;
    gap: var(--space-2);
}

.episode-tile {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-1) var(--space-3);
    align-items: center;
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
}

.episode-tile.is-active,
.episode-tile:focus-visible {
    border-color: rgba(29, 185, 84, 0.52);
    background: rgba(45, 122, 79, 0.16);
}

.episode-tile img {
    grid-column: 1;
    grid-row: 1 / -1;
    inline-size: 4.75rem;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--radius-sm);
    align-self: center;
}

.episode-tile span {
    grid-column: 2;
    grid-row: 1;
    color: var(--color-muted);
    font-size: 0.8rem;
}

.episode-tile small {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    color: var(--color-muted);
    font-size: 0.78rem;
}

.episode-tile strong {
    grid-column: 2;
    grid-row: 2;
    font-size: 0.9rem;
    line-height: 1.35;
}

.comments-section {
    padding-block: var(--space-8);
}

.comment-form {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
}

.comment-form textarea {
    inline-size: 100%;
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.06);
    resize: vertical;
}

.large-search {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--space-2);
    max-inline-size: 42rem;
    margin-block-start: var(--space-5);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-1);
}

.large-search input {
    border: 0 !important;
    background: transparent !important;
}

@media (max-width: 600px) {
    .large-search {
        grid-template-columns: 1fr;
        background: transparent;
        border: 0;
        padding: 0;
        gap: var(--space-3);
    }
    .large-search input {
        border: 1px solid var(--color-border) !important;
        background: rgba(255, 255, 255, 0.06) !important;
    }
}

.large-search input,
.form-panel input,
.form-panel select,
.admin-form input,
.admin-form select,
.admin-form textarea {
    min-block-size: 3rem;
    padding-block: var(--space-2);
    padding-inline: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.06);
}

.empty-state {
    color: var(--color-muted);
}

.premium-hero {
    position: relative;
    isolation: isolate;
    min-block-size: 27rem;
    display: grid;
    align-items: center;
    margin-block-start: var(--space-6);
    padding-inline: var(--space-5);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: url("../images/placeholders/banner-crescent.svg") center / cover no-repeat;
}

.premium-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.58), rgba(10, 10, 10, 0.94));
}

.feature-strip article {
    padding: var(--space-4);
}

.feature-strip h2 {
    margin-block-end: var(--space-2);
    color: var(--color-gold-bright);
}

.product-card {
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.045);
    box-shadow: var(--shadow-sm);
}

.product-card img {
    inline-size: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}

.product-card h2 {
    margin-block: var(--space-3) var(--space-2);
    font-size: 1.2rem;
}

.product-card p {
    color: var(--color-muted);
}

.product-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-block-end: var(--space-4);
}

.product-meta strong {
    color: var(--color-gold-bright);
}

.product-detail {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    align-items: center;
}

.product-detail > img {
    inline-size: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
}

.product-detail h1 {
    margin-block: var(--space-3);
    font-size: clamp(2rem, 5vw, 2.6rem);
}

.profile-page {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
}

.profile-avatar {
    inline-size: 7rem;
    block-size: 7rem;
    border: 2px solid var(--color-green-bright);
    border-radius: 50%;
    background: var(--color-card-raised);
}

.site-footer {
    padding-block: var(--space-6);
    margin-block-start: var(--space-8);
    border-block-start: 1px solid var(--color-border);
    color: var(--color-muted);
}

.site-footer .footer-inner {
    max-width: 1400px;
    margin-inline: auto;
    padding-inline: calc(var(--space-12) / 2);
    width: 100%;
    box-sizing: border-box;
}

.footer-main {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    text-align: center;
}

.footer-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
}

.footer-col.brand-col .site-notice {
    opacity: 0.55;
    margin: 0;
    font-size: 0.85rem;
    max-width: 320px;
}

.footer-links-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-6);
    text-align: start;
    inline-size: 100%;
}

.link-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.link-group-title {
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-muted);
    margin-block-end: var(--space-1);
}

.link-group a {
    color: var(--color-text);
    font-size: 0.875rem;
    transition: color 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.link-group a:hover {
    color: var(--color-green-bright);
}

@media (max-width: 1099px) {
    .footer-links-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-5);
    }
}

@media (max-width: 639px) {
    .footer-links-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }
    .link-group-title {
        font-size: 0.7rem;
    }
    .link-group a {
        font-size: 0.8rem;
    }
}

.footer-col.social-col .social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.social-icons a {
    inline-size: 2.15rem;
    block-size: 2.15rem;
    display: inline-grid;
    place-items: center;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.05);
    color: var(--color-muted);
    transition: all 0.2s ease;
}

.social-icons a svg {
    width: 16px;
    height: 16px;
}

.social-icons a:hover {
    background: var(--color-green-bright);
    color: var(--color-black);
}

.footer-bottom {
    margin-block-start: var(--space-6);
    padding-block-start: var(--space-4);
    border-block-start: 1px solid rgba(255, 255, 255, 0.035);
    text-align: center;
}

.footer-bottom .copyright {
    margin: 0;
    font-size: 0.85rem;
    opacity: 0.5;
}

.premium-pricing strong {
    display: block;
    margin-block: var(--space-2);
    color: var(--color-text);
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 900;
}

.premium-vip-hero {
    background-image: url("../images/placeholders/banner-garden.svg");
}

.premium-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-block-start: var(--space-4);
}

.premium-section {
    margin-block: var(--space-8);
}

.premium-compare {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.035);
}

.premium-compare-head,
.premium-compare-row {
    display: grid;
    grid-template-columns: minmax(9rem, 0.8fr) repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
    align-items: stretch;
    padding: var(--space-3) var(--space-4);
    border-block-end: 1px solid var(--color-border);
}

.premium-compare-row:last-child {
    border-block-end: 0;
}

.premium-compare-head {
    background: rgba(255, 255, 255, 0.06);
    color: var(--color-gold-bright);
}

.premium-compare-row > strong {
    color: var(--color-text);
}

.premium-compare-row > span {
    color: var(--color-muted);
    line-height: 1.8;
}

.premium-feature-list {
    display: grid;
    gap: var(--space-2);
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
}

.premium-feature-list li {
    position: relative;
    padding-inline-start: 1.4rem;
    color: var(--color-muted);
    line-height: 1.8;
}

.premium-feature-list li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0.72em;
    inline-size: 0.45rem;
    block-size: 0.45rem;
    border-radius: 50%;
    background: var(--color-gold-bright);
}

.premium-payment-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-block-start: var(--space-3);
}

.premium-payment-list span {
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.06);
    color: var(--color-text);
    font-weight: 800;
}

.copyright-ku,
.copyright-ar {
    color: var(--color-muted);
    font-size: 0.9rem;
}

.auth-body {
    display: grid;
    place-items: center;
    padding: var(--space-4);
}

.auth-shell {
    inline-size: min(30rem, 100%);
}

.auth-brand {
    justify-content: center;
    margin-block-end: var(--space-4);
}

.auth-card {
    padding: var(--space-5);
}

.auth-form-card h1 {
    margin-block: var(--space-3) var(--space-4);
}

.auth-links {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: wrap;
    padding-block-start: var(--space-4);
}

.auth-links a {
    color: var(--color-gold-bright);
    font-weight: 900;
}

.form-message {
    display: none;
    margin-block-end: var(--space-3);
    padding-block: var(--space-3);
    padding-inline: var(--space-4);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
}

.form-message.is-success,
.form-message.is-error {
    display: block;
}

.form-message.is-success,
.field-hint.is-success {
    color: var(--color-text);
    border-color: rgba(29, 185, 84, 0.42);
    background: rgba(29, 185, 84, 0.12);
}

.form-message.is-error,
.field-hint.is-error {
    color: #ffd9dc;
    border-color: rgba(184, 106, 112, 0.5);
    background: rgba(184, 106, 112, 0.12);
}

.field-hint {
    display: block;
    color: var(--color-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.form-panel {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-4);
}

.form-panel label,
.form-field,
.admin-form label,
.admin-fieldset {
    display: grid;
    gap: var(--space-2);
    color: var(--color-muted);
    font-weight: 800;
}

.password-input-wrap {
    position: relative;
    display: block;
}

.password-input-wrap input {
    padding-inline-end: 3.4rem;
}

/* Hide browser-native password reveal buttons (Edge / Chrome) */
input::-ms-reveal,
input::-ms-clear {
    display: none !important;
}

.password-toggle {
    position: absolute;
    inset-block: var(--space-1);
    inset-inline-end: var(--space-1);
    inline-size: 2.45rem;
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--color-muted);
    background: transparent;
    transition: color var(--transition-fast), background var(--transition-fast);
}

.password-toggle:hover,
.password-toggle:focus-visible {
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.08);
}

.password-toggle-icon {
    inline-size: 1.25rem;
    block-size: 1.25rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password-toggle-icon-hide,
.password-input-wrap.is-visible .password-toggle-icon-show {
    display: none;
}

.password-input-wrap.is-visible .password-toggle-icon-hide {
    display: block;
}

.check-row,
.admin-check {
    display: flex !important;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
}

.check-row input[type="checkbox"],
.admin-check input[type="checkbox"],
.admin-check-list input[type="checkbox"] {
    appearance: auto;
    -webkit-appearance: checkbox;
    inline-size: 1.15rem;
    block-size: 1.15rem;
    min-block-size: 1.15rem;
    flex: 0 0 1.15rem;
    margin: 0;
    accent-color: var(--color-green-bright);
    cursor: pointer;
}

.check-row span,
.admin-check span {
    cursor: pointer;
}

.narrow-page {
    max-inline-size: 44rem;
}

.skeleton-card,
.skeleton-line,
.skeleton-poster {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.055));
    background-size: 220% 100%;
    animation: skeleton-shimmer 1.2s ease-in-out infinite;
}

.skeleton-card {
    aspect-ratio: 2 / 3;
    border-radius: var(--radius-md);
}

.skeleton-poster {
    aspect-ratio: 2 / 3;
    border-radius: var(--radius-md);
}

.skeleton-line {
    block-size: 0.85rem;
    border-radius: var(--radius-pill);
}

@keyframes skeleton-shimmer {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

.toast,
.toast-notification {
    position: fixed;
    inset-block-end: var(--space-5);
    inset-inline-start: var(--space-5);
    z-index: 100;
    max-inline-size: min(24rem, calc(100vw - var(--space-8)));
    padding-block: var(--space-3);
    padding-inline: var(--space-4);
    border: 1px solid rgba(29, 185, 84, 0.46);
    border-radius: var(--radius-md);
    color: var(--color-text);
    background: rgba(17, 24, 39, 0.96);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(14px);
}

.toast.is-success {
    border-color: rgba(29, 185, 84, 0.5);
}

.toast.is-error {
    border-color: rgba(184, 106, 112, 0.58);
}

.modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-items: center;
    padding: var(--space-4);
    background: var(--color-overlay);
    backdrop-filter: blur(10px);
}

.modal,
.popup {
    inline-size: min(36rem, 100%);
    max-block-size: calc(100vh - var(--space-8));
    overflow: auto;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-lg);
    background: var(--color-ink);
    box-shadow: var(--shadow-lg);
}

.modal-header,
.modal-body,
.modal-footer {
    padding: var(--space-5);
}

.modal-header {
    border-block-end: 1px solid var(--color-border);
}

.modal-footer {
    border-block-start: 1px solid var(--color-border);
}

.admin-body {
    display: grid;
    grid-template-columns: 1fr;
    min-block-size: 100vh;
    background:
        radial-gradient(circle at 50% 0, rgba(201, 168, 76, 0.09), transparent 28rem),
        var(--color-black);
}

.admin-sidebar {
    padding: var(--space-4);
    border-block-end: 1px solid var(--color-border);
    background: rgba(17, 24, 39, 0.92);
}

.admin-brand {
    margin-block-end: var(--space-5);
}

.admin-nav {
    display: grid;
    gap: var(--space-2);
}

.admin-nav a {
    min-block-size: 2.75rem;
    display: flex;
    align-items: center;
    padding-block: var(--space-2);
    padding-inline: var(--space-3);
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.035);
}

.admin-nav a:hover {
    border-color: rgba(29, 185, 84, 0.32);
    background: rgba(45, 122, 79, 0.16);
}

.admin-main {
    min-inline-size: 0;
    padding: var(--space-4);
}

.admin-head {
    margin-block-end: var(--space-5);
}

.admin-head h1 {
    margin-block: var(--space-3) var(--space-2);
}

.admin-head p {
    color: var(--color-muted);
}

.admin-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
}

.admin-stats article {
    padding: var(--space-4);
}

.admin-stats span {
    color: var(--color-muted);
}

.admin-stats strong {
    display: block;
    margin-block-start: var(--space-2);
    color: var(--color-gold-bright);
    font-size: 2rem;
}

.admin-table-wrap {
    overflow-x: auto;
}

.admin-table {
    inline-size: 100%;
    min-inline-size: 42rem;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    padding-block: var(--space-3);
    padding-inline: var(--space-3);
    border-block-end: 1px solid var(--color-border);
    text-align: right;
}

.admin-table th {
    color: var(--color-gold-bright);
    font-weight: 900;
}

.table-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.table-actions form {
    margin: 0;
}

.table-actions a,
.table-actions button {
    min-block-size: 2.2rem;
    padding-block: var(--space-1);
    padding-inline: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.05);
}

.table-actions button {
    color: #ffd9dc;
    border-color: rgba(184, 106, 112, 0.45);
}

.admin-form {
    display: grid;
    gap: var(--space-4);
    max-inline-size: 58rem;
    padding: var(--space-4);
}

.form-grid {
    display: grid;
    gap: var(--space-4);
}

.admin-form textarea {
    resize: vertical;
}

.admin-check {
    align-self: end;
    min-block-size: 2.85rem;
}

.admin-fieldset {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.admin-fieldset legend {
    color: var(--color-gold-bright);
    padding-inline: var(--space-2);
}

.admin-check-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.admin-check-list label {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-block-size: 2.25rem;
    padding-block: var(--space-1);
    padding-inline: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.05);
}

.flash-message,
.db-warning {
    margin-block: var(--space-3);
    padding-block: var(--space-3);
    padding-inline: var(--space-4);
    border: 1px solid rgba(201, 168, 76, 0.38);
    border-radius: var(--radius-md);
    color: var(--color-gold-bright);
    background: var(--color-gold-soft);
}

.flash-message.success {
    border-color: rgba(29, 185, 84, 0.42);
    color: var(--color-text);
    background: rgba(29, 185, 84, 0.12);
}

.flash-message.error {
    border-color: rgba(184, 106, 112, 0.5);
    color: #ffd9dc;
    background: rgba(184, 106, 112, 0.12);
}

@media (max-width: 639px) {
    .premium-compare-head {
        display: none;
    }

    .premium-compare-row {
        grid-template-columns: 1fr;
        gap: var(--space-2);
    }
}

@media (min-width: 640px) {
    .grid-2,
    .feature-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .content-grid,
    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .carousel-row > * { width: calc((100% - (var(--space-4) * 4)) / 5); }

    .browse-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); justify-content: center; }

    .episode-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .large-search {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .profile-page {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .footer-main {
        grid-template-columns: 1fr auto 1fr;
        text-align: start;
        align-items: center;
    }
    
    .footer-col.brand-col {
        align-items: flex-start;
    }
    
    .footer-col.social-col {
        align-items: flex-end;
    }
}

@media (min-width: 900px) {
    .header-inner {
        gap: var(--space-3);
        padding-block: var(--space-1);
        padding-inline: max(var(--space-6), calc((100vw - var(--container)) / 2));
    }

    .menu-toggle {
        display: none;
    }

    .brand {
        flex: 0 0 auto;
    }

    .brand img {
        inline-size: 2.25rem;
        block-size: 2.25rem;
    }

    .header-search {
        flex: 1 1 12rem;
        max-inline-size: 28rem;
    }

    .header-search .instant-search-wrap,
    .header-search input {
        inline-size: 100%;
        opacity: 1;
        padding-inline-start: 1rem;
    }

    .header-search.is-open,
    .header-search:focus-within {
        inline-size: 100%;
        max-inline-size: 28rem;
    }

    .header-actions {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        flex: 0 0 auto;
    }

    .header-actions > * {
        flex-shrink: 0;
    }

    .nav-account-icon {
        display: none;
    }

    .nav-account-label {
        display: inline;
    }

    .nav-account-link {
        min-block-size: 2.25rem;
        padding-block: 0.25rem;
        padding-inline: var(--space-4);
    }

    .cart-count-badge {
        inset-block-start: -3px;
        inset-inline-end: -5px;
    }

    .main-nav {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-1);
        flex: 0 1 auto;
    }

    .main-nav a {
        min-block-size: 2rem;
        font-size: 0.9rem;
    }

    .mobile-only-nav {
        display: none !important;
    }

    .grid-3,
    .feature-strip,
    .admin-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .grid-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .content-grid > * { width: 10.5rem; max-width: 100%; }

    .carousel-row > * { width: calc((100% - (var(--space-4) * 6)) / 7); }

    .browse-shell {
        grid-template-columns: 17rem minmax(0, 1fr);
        align-items: start;
    }

    .filter-drawer-toggle {
        display: none;
    }

    .filter-sidebar {
        display: block;
        position: sticky;
        inset-block-start: 6rem;
    }

    .browse-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); justify-content: center; }

    .product-grid {
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    }

    .split-section {
        grid-template-columns: minmax(0, 1fr) 18rem;
    }

    .details-hero {
        grid-template-columns: 14rem minmax(0, 1fr);
        align-items: start;
    }

    .details-copy {
        inline-size: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 20rem;
        gap: var(--space-8);
        align-items: start;
    }

    .details-main-info {
        max-width: 54rem;
        width: 100%;
    }

    .details-meta-panel {
        background: rgba(10, 10, 10, 0.45);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        padding: var(--space-6);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        box-shadow: var(--shadow-sm);
        position: sticky;
        top: 6rem;
        margin-block-start: 0;
    }

    .watch-layout {
        grid-template-columns: minmax(0, 1fr) 20rem;
    }

    .watch-hero {
        grid-template-columns: 14rem minmax(0, 1fr);
    }

    .product-detail {
        grid-template-columns: minmax(16rem, 26rem) minmax(0, 1fr);
    }

    .form-grid.two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-grid.three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-body {
        grid-template-columns: var(--admin-sidebar) minmax(0, 1fr);
    }

    .admin-sidebar {
        position: sticky;
        inset-block-start: 0;
        block-size: 100vh;
        border-block-end: 0;
        border-inline-start: 1px solid var(--color-border);
    }

    .admin-main {
        padding: var(--space-8);
    }
}

@media (min-width: 1200px) {
    .header-inner {
        padding-inline: max(calc(var(--space-12) / 2), calc((100vw - var(--container)) / 2));
    }

    .details-hero .hero-actions {
        flex-wrap: nowrap;
    }

    .details-hero .hero-actions > .primary-button,
    .details-hero .hero-actions > .secondary-button,
    .details-hero .hero-actions .trailer-toggle {
        flex: 0 0 auto;
    }

    .episode-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .carousel-row > * { width: calc((100% - (var(--space-4) * 7)) / 8); }

    .browse-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); justify-content: center; }

    .search-memory {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ── Mobile & Tablet header ── */
@media (max-width: 899px) {
    .header-inner {
        gap: var(--space-1);
        padding-block: 0.4rem;
        padding-inline: var(--space-2);
        flex-wrap: nowrap;
    }

    .menu-toggle {
        display: block;
        flex: 0 0 auto;
    }
    .menu-toggle span:nth-child(2) {
        inline-size: 14px;
    }

    .brand {
        flex: 1 1 auto;
        min-width: 0;
        gap: var(--space-1);
    }
    .brand img {
        inline-size: 1.4rem;
        block-size: 1.4rem;
    }
    .brand span {
        font-size: 0.75rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }



    .header-actions {
        display: flex !important;
        align-items: center;
        gap: var(--space-1);
        flex: 0 0 auto;
    }
    .header-actions .language-link,
    .header-actions .solid-link,
    .header-actions .ghost-link {
        display: none !important;
    }

    .nav-account-icon {
        display: inline;
    }
    .nav-account-label {
        display: none;
    }
    .nav-account-link {
        min-block-size: 1.75rem;
        min-inline-size: 1.75rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        font-size: 0.85rem;
    }
    .nav-account-link.is-premium {
        border-color: var(--color-gold-bright, #c9a84c);
    }

    .cart-icon-link {
        font-size: 0.9rem;
    }
    .cart-count-badge {
        font-size: 0.5rem;
        min-inline-size: 0.75rem;
        block-size: 0.75rem;
    }

    .main-nav {
        display: none;
        width: 100%;
        flex-direction: column;
        padding-block-start: var(--space-2);
        margin-block-start: var(--space-1);
        border-block-start: 1px solid rgba(255,255,255,0.05);
    }
    .main-nav.is-open {
        display: flex;
    }
    .main-nav > a,
    .main-nav > .nav-item {
        width: 100%;
        padding-block: var(--space-1);
        font-size: 0.85rem;
        border-bottom: 1px solid rgba(255,255,255,0.04);
    }
}

@media (max-width: 899px) {
    .carousel-row {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: clamp(9.5rem, 28vw, 12rem);
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scrollbar-width: none;
    }

    .carousel-row::-webkit-scrollbar {
        display: none;
    }

    .carousel-row > .content-card {
        display: block !important;
    }

    .details-poster {
        margin-inline: auto;
    }

    .details-main-info {
        text-align: center;
    }

    .details-hero .hero-actions {
        justify-content: center;
    }
}

@media (max-width: 639px) {
    .container,
    .content-section,
    .premium-section,
    .page-head,
    .premium-hero,
    .feature-strip,
    .product-grid,
    .product-detail,
    .profile-page,
    .browse-shell {
        inline-size: min(var(--container), calc(100% - var(--space-8)));
    }

    .home-hero {
        min-block-size: 16rem;
        padding-block: 2rem 3rem;
        padding-inline: var(--space-4);
    }

    .home-hero .hero-content > p {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 0.85rem;
        margin-block: 0;
    }

    .hero h1,
    .details-copy h1,
    .premium-hero h1,
    .page-head h1 {
        font-size: clamp(1.3rem, 4.5vw, 1.6rem);
        margin-block: var(--space-1) var(--space-1);
    }

    .hero-meta {
        font-size: 0.7rem;
        gap: var(--space-1);
        margin-block-end: var(--space-1);
    }

    .hero-actions {
        margin-block-start: var(--space-2);
    }

    .hero-actions > .primary-button,
    .hero-actions > .secondary-button {
        flex: none;
        min-block-size: 2rem;
        padding-block: 0.2rem;
        padding-inline: var(--space-3);
        font-size: 0.8rem;
    }

    .carousel-row {
        grid-auto-columns: minmax(8.75rem, 44vw);
    }

    .section-heading h2,
    .genre-panel h2,
    .watch-side h2,
    .source-panel h2 {
        font-size: 1.35rem;
    }
}

/* 4K and TV-sized displays need readable type and a wider viewing canvas. */
@media (min-width: 2000px) {
    :root {
        --container: 112rem;
    }

    html {
        font-size: clamp(20px, 0.625vw, 24px);
    }

    .home-hero {
        min-block-size: 44rem;
    }

    .hero {
        padding-block-start: 10rem;
    }

    .browse-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); justify-content: center; }

    .details-hero {
        grid-template-columns: 18rem minmax(0, 1fr);
        gap: var(--space-10);
        min-block-size: 42rem;
    }

    .details-copy {
        grid-template-columns: minmax(0, 1fr) 22rem;
    }

    .watch-hero {
        grid-template-columns: 18rem minmax(0, 1fr);
        min-block-size: 42rem;
    }
}

/* Ultrawide screens benefit from using more horizontal space without pushing
   the 4K/TV layout even wider. */
@media (min-width: 2200px) and (min-aspect-ratio: 21 / 9) {
    :root {
        --container: 120rem;
    }

    .home-hero {
        min-block-size: 46rem;
    }

    .hero {
        padding-block-start: 11rem;
    }

    .carousel-row > * { width: calc((100% - (var(--space-4) * 9)) / 10); }

    .carousel-row .content-card:nth-child(n+9) {
        display: block;
    }

    .carousel-row .content-card:nth-child(n+11) {
        display: none;
    }

    .browse-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); justify-content: center; }

    .details-hero {
        grid-template-columns: 20rem minmax(0, 1fr);
        gap: var(--space-12);
        min-block-size: 44rem;
    }

    .details-copy {
        grid-template-columns: minmax(0, 1fr) 24rem;
    }

    .watch-hero {
        grid-template-columns: 20rem minmax(0, 1fr);
        min-block-size: 44rem;
    }
}

@media (pointer: coarse) {
    .main-nav a,
    .site-footer nav a,
    .link-group a,
    .section-heading a,
    .filter-checks label,
    .genre-list a,
    .tag-pill,
    .season-tabs button,
    .source-buttons button {
        min-block-size: 2.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {
    .site-header,
    .main-nav,
    .header-actions,
    .header-search,
    .ad-slot,
    .preroll,
    .admin-sidebar,
    .site-footer,
    .toast,
    .modal-overlay {
        display: none !important;
    }

    body {
        color: #000;
        background: #fff;
    }

    a {
        color: #000;
    }
}

/* Watch page: kill leftover hover highlights (loads after global rules) */
body.page-watch .detail-watch-layout .episode-tile:not(.is-active):hover,
body.page-watch .detail-watch-layout .season-tabs button:not(.is-active):hover,
body.page-watch .detail-watch-layout .source-buttons button:not(.is-active):hover,
body.page-watch .watch-hero .vibe-rating button:not(.is-active):hover {
    border-color: var(--color-border) !important;
    background: rgba(255, 255, 255, 0.045) !important;
    color: var(--color-text-soft) !important;
    transform: none !important;
    box-shadow: none !important;
}

body.page-watch .detail-watch-layout .source-buttons button.is-active,
body.page-watch .detail-watch-layout .source-buttons button:focus-visible,
body.page-watch .detail-watch-layout .season-tabs button.is-active,
body.page-watch .detail-watch-layout .season-tabs button:focus-visible {
    border-color: rgba(201, 168, 76, 0.5) !important;
    background: var(--color-gold-soft) !important;
}

body.page-watch .detail-watch-layout .episode-tile.is-active,
body.page-watch .detail-watch-layout .episode-tile:focus-visible {
    border-color: rgba(29, 185, 84, 0.52) !important;
    background: rgba(45, 122, 79, 0.16) !important;
}

body.page-watch .carousel-section .poster-link:hover img {
    transform: none !important;
}

.reader-head,
.reader-toolbar,
.schedule-grid,
.reader-canvas {
    width: min(var(--container), calc(100% - 2rem));
    margin-inline: auto;
}

.reader-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--space-4);
    padding-block: var(--space-8) var(--space-4);
}

.reader-head h1 {
    margin: 0;
    font-size: clamp(2rem, 7vw, 4rem);
}

.reader-head p,
.reader-toolbar small,
.schedule-copy p,
.schedule-copy time {
    color: var(--color-muted);
}

.reader-toolbar {
    position: sticky;
    top: 0.75rem;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-block: var(--space-3) var(--space-5);
    padding: 0.85rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: rgba(8, 12, 18, 0.92);
    backdrop-filter: blur(12px);
}

.reader-toolbar-main {
    display: grid;
    gap: 0.2rem;
}

.reader-toolbar select {
    min-width: 11rem;
    min-height: 2.5rem;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-surface);
    color: var(--color-text);
    padding-inline: 0.75rem;
}

.reader-canvas {
    display: grid;
    gap: var(--space-4);
    max-width: 58rem;
    padding-block-end: var(--space-10);
}

.reader-page {
    margin: 0;
    display: grid;
    gap: 0.5rem;
    justify-items: center;
}

.reader-page img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    border-radius: 6px;
    background: var(--color-surface);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.28);
}

.reader-page figcaption {
    color: var(--color-muted);
    font-size: 0.85rem;
}

.reader-chapter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
    gap: var(--space-3);
}

.reader-chapter-card,
.schedule-card {
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
}

.reader-chapter-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    text-decoration: none;
    color: var(--color-text);
}

.reader-chapter-card small {
    color: var(--color-muted);
}

.schedule-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
    gap: var(--space-4);
    padding-block-end: var(--space-10);
}

.schedule-card {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr);
    overflow: hidden;
}

.schedule-poster {
    display: block;
    min-height: 9rem;
    background: var(--color-surface);
}

.schedule-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.schedule-copy {
    display: grid;
    gap: 0.35rem;
    align-content: center;
    padding: 1rem;
}

.schedule-copy h2 {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.35;
}

.schedule-copy h2 a {
    color: var(--color-text);
    text-decoration: none;
}

.schedule-type,
.schedule-countdown {
    width: fit-content;
    border-radius: 999px;
    padding: 0.25rem 0.6rem;
    font-size: 0.78rem;
}

.schedule-type {
    color: var(--color-green-bright);
    background: rgba(29, 185, 84, 0.12);
}

.schedule-countdown {
    color: var(--color-gold);
    background: rgba(201, 168, 76, 0.13);
}

.reader-lock {
    width: min(48rem, calc(100% - 2rem));
    margin: var(--space-6) auto var(--space-10);
    padding: var(--space-6);
    text-align: center;
}

@media (max-width: 700px) {
    .reader-head,
    .reader-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .reader-toolbar {
        position: static;
    }

    .reader-toolbar select {
        width: 100%;
    }

    .schedule-card {
        grid-template-columns: 5rem minmax(0, 1fr);
    }
}

.why-us-strip {
    background: var(--color-panel-soft);
    border-block-end: 1px solid var(--color-border);
    padding-block: var(--space-4);
}

.why-us-container {
    inline-size: min(var(--container), calc(100% - var(--space-8)));
    margin-inline: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-4);
}

.why-us-container h3 {
    margin: 0;
    font-size: 1.1rem;
    color: var(--color-text-soft);
    white-space: nowrap;
}

.feature-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.feature-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--color-muted);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-pill);
    font-size: 0.85rem;
    font-weight: 700;
    transition: var(--transition-fast);
    cursor: default;
    white-space: nowrap;
}

.feature-chip:hover {
    background: var(--color-green-soft);
    border-color: var(--color-green-bright);
    color: var(--color-text);
}

@media (max-width: 639px) {
    .why-us-container {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-3);
    }
    
    .why-us-container h3 {
        font-size: 1rem;
        white-space: normal;
        text-align: start;
    }
    
    .feature-chips {
        gap: var(--space-2);
        justify-content: flex-start;
        width: 100%;
    }
}

/* =========================================================
   Header V2 — full rewrite (loaded after legacy rules)
   ========================================================= */

.site-header,
.site-header.is-scrolled,
.site-header.hide-up,
.site-header * {
    /* Reset legacy hooks that pulled the header out of layout */
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    border-bottom: 1px solid var(--color-border);
    background: rgba(10, 10, 10, 0.86);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    transition: background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.site-header.is-scrolled {
    background: rgba(8, 8, 8, 0.94);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

.site-header.hide-up {
    transform: translateY(-100%);
}

.header-inner {
    max-width: min(100% - 2rem, var(--container));
    margin-inline: auto;
    padding-block: 0.65rem;
    padding-inline: 1rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.85rem;
    box-sizing: border-box;
    width: 100%;
}

.menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    inline-size: 2.5rem;
    block-size: 2.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.05);
    color: var(--color-text);
    cursor: pointer;
    flex: 0 0 auto;
    transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.menu-toggle:hover,
.menu-toggle:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--color-border-strong);
}

.menu-toggle:active {
    transform: scale(0.94);
}

.menu-toggle svg {
    display: block;
    inline-size: 1.3rem;
    block-size: 1.3rem;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--color-text);
    font-weight: 900;
    white-space: nowrap;
    flex: 0 0 auto;
    min-inline-size: 0;
}

.brand-logo {
    inline-size: 2.25rem;
    block-size: 2.25rem;
    flex: 0 0 auto;
    display: block;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
}

.brand-text {
    font-size: 1.05rem;
    letter-spacing: 0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand--drawer {
    color: var(--color-text);
    font-weight: 900;
}

/* Search form */
.header-search {
    position: relative;
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.75rem;
    align-items: center;
    flex: 1 1 16rem;
    max-inline-size: 30rem;
    min-inline-size: 12rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.05);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.header-search:focus-within {
    border-color: rgba(29, 185, 84, 0.55);
    box-shadow: var(--glow-green);
    background: rgba(255, 255, 255, 0.08);
}

.header-search-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-muted);
    inline-size: 2.25rem;
    block-size: 2.25rem;
}

.header-search-icon svg {
    inline-size: 1.05rem;
    block-size: 1.05rem;
}

.header-search input {
    inline-size: 100%;
    min-inline-size: 0;
    min-block-size: 2.6rem;
    padding-block: 0.55rem;
    padding-inline: 0.25rem 0.85rem;
    border: 0;
    outline: 0;
    color: var(--color-text);
    background: transparent;
    font: inherit;
    appearance: none;
    -webkit-appearance: none;
}

.header-search input::placeholder {
    color: var(--color-muted);
    opacity: 0.85;
}

.header-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-inline-start: 1px solid var(--color-border);
    color: #0a0a0a;
    background: var(--color-green-bright);
    cursor: pointer;
    inline-size: 2.75rem;
    block-size: 100%;
    transition: background var(--transition-fast);
    border-start-end-radius: var(--radius-pill);
    border-end-end-radius: var(--radius-pill);
}

.header-search-submit:hover,
.header-search-submit:focus-visible {
    background: #25d669;
    outline: 0;
}

.header-search-submit svg {
    inline-size: 1.05rem;
    block-size: 1.05rem;
    stroke: #0a0a0a;
}

.instant-results {
    position: absolute;
    inset-block-start: calc(100% + 0.5rem);
    inset-inline: 0; /* Changed from inset-inline-start: 0 to ensure it aligns properly */
    inline-size: 100%;
    max-inline-size: 32rem;
    background: rgba(15, 18, 23, 0.98);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(20px);
    z-index: 200; /* Increased to ensure it overlays all content including absolute ads */
    overflow-y: auto;
    overflow-x: hidden;
    max-block-size: 70vh;
}

/* Ensure it actually becomes visible when not hidden */
.instant-results:not([hidden]) {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Main nav (desktop) */
.main-nav {
    display: none;
    align-items: center;
    gap: 0.25rem;
    flex: 0 1 auto;
    flex-wrap: nowrap;
    padding: 0;
    margin: 0;
}

.nav-item {
    position: relative;
    list-style: none;
}

.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-block-size: 2.35rem;
    padding-block: 0.35rem;
    padding-inline: 0.8rem;
    color: var(--color-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
    white-space: nowrap;
}

.nav-link:hover,
.nav-link:focus-visible {
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.06);
}

.nav-link.is-active {
    color: var(--color-text);
    background: rgba(29, 185, 84, 0.14);
    border-color: rgba(29, 185, 84, 0.35);
}

.nav-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    flex: 0 0 auto;
}

.nav-link-icon svg {
    inline-size: 1.1rem;
    block-size: 1.1rem;
    display: block;
}

.nav-link-icon--brand svg {
    color: #ff3b30;
}

.nav-link-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    margin-inline-start: 0.1rem;
    transition: transform var(--transition-fast);
}

.has-mega.is-open .nav-link-chevron {
    transform: rotate(180deg);
}

/* Header actions (lang, account, cart) */
.header-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    margin-inline-start: auto;
}

.header-action {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-block-size: 2.35rem;
    padding-block: 0.3rem;
    padding-inline: 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    color: var(--color-muted);
    background: rgba(255, 255, 255, 0.04);
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    position: relative;
    transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
    white-space: nowrap;
}

.header-action:hover,
.header-action:focus-visible {
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--color-border-strong);
}

.header-action.is-active {
    color: var(--color-text);
    background: rgba(29, 185, 84, 0.14);
    border-color: rgba(29, 185, 84, 0.4);
}

.header-action.is-premium {
    color: var(--color-gold-bright);
    border-color: rgba(201, 168, 76, 0.45);
    background: rgba(201, 168, 76, 0.1);
}

.header-action.is-premium:hover,
.header-action.is-premium:focus-visible {
    background: var(--color-gold-bright);
    color: #1a1300;
    border-color: var(--color-gold-bright);
}

.header-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.header-action-icon svg {
    inline-size: 1.05rem;
    block-size: 1.05rem;
    display: block;
}

.cart-count-badge {
    position: absolute;
    inset-block-start: -4px;
    inset-inline-end: -4px;
    min-inline-size: 1.05rem;
    block-size: 1.05rem;
    padding-inline: 0.25rem;
    border-radius: 999px;
    background: var(--color-gold-bright);
    color: #0a0a0a;
    font-size: 0.65rem;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Mega menu */
.mega-menu {
    position: absolute;
    inset-block-start: calc(100% + 0.6rem);
    inset-inline-start: 0;
    z-index: 100;
    display: none;
    inline-size: min(48rem, calc(100vw - 2rem));
    padding: 1.25rem;
    background: rgba(15, 18, 23, 0.96);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(24px);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.85fr);
    gap: 1.25rem;
}

.has-mega::after {
    content: "";
    position: absolute;
    inset-block-start: 100%;
    inset-inline: 0;
    block-size: 0.75rem;
}

.has-mega:hover > .mega-menu,
.has-mega:focus-within > .mega-menu,
.has-mega.is-open > .mega-menu {
    display: grid;
}

.mega-col {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-inline-size: 0;
}

.mega-title {
    display: block;
    color: var(--color-gold-bright);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-block-end: 0.25rem;
}

.mega-links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.2rem;
}

.mega-menu a {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.65rem;
    border-radius: var(--radius-md);
    color: var(--color-muted) !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    min-block-size: 0 !important;
    background: transparent;
    border: 0;
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.mega-menu a:hover,
.mega-menu a:focus-visible {
    background: rgba(255, 255, 255, 0.07);
    color: var(--color-text) !important;
}

.mega-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 1.7rem;
    block-size: 1.7rem;
    border-radius: 0.55rem;
    background: rgba(255, 255, 255, 0.05);
    color: var(--color-green-bright);
    flex: 0 0 auto;
}

.mega-link-icon svg {
    inline-size: 1rem;
    block-size: 1rem;
    display: block;
}

.mega-col--promo .mega-promo {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 1.1rem;
    border-radius: var(--radius-lg);
    background: linear-gradient(160deg, rgba(29, 185, 84, 0.18), rgba(201, 168, 76, 0.1));
    border: 1px solid rgba(29, 185, 84, 0.32);
    block-size: 100%;
}

.mega-promo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.1rem;
    block-size: 2.1rem;
    border-radius: 0.6rem;
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-gold-bright);
}

.mega-promo-icon svg {
    inline-size: 1.2rem;
    block-size: 1.2rem;
    display: block;
}

.mega-promo p {
    margin: 0;
    color: var(--color-text-soft);
    font-size: 0.85rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.promo-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    align-self: flex-start;
    padding: 0.55rem 0.95rem;
    background: var(--color-green-bright);
    color: #05130b !important;
    border-radius: var(--radius-pill);
    font-size: 0.85rem;
    font-weight: 900;
    text-decoration: none;
    transition: background var(--transition-fast), transform var(--transition-fast);
}

.promo-btn:hover,
.promo-btn:focus-visible {
    background: #25d669;
    transform: translateY(-1px);
}

.promo-btn svg {
    inline-size: 0.95rem;
    block-size: 0.95rem;
    stroke: currentColor;
}

/* Drawer + backdrop */
.drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    z-index: 70;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-base);
}

body.drawer-open .drawer-backdrop {
    opacity: 1;
    pointer-events: auto;
}

body.drawer-open {
    overflow: hidden;
    touch-action: none;
}

.primary-drawer {
    position: fixed;
    inset-block-start: 0;
    inset-block-end: 0;
    left: 0;
    right: auto;
    z-index: 80;
    block-size: 100vh;
    block-size: 100dvh;
    inline-size: min(22rem, 86vw);
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #11141a 0%, #0a0c10 100%);
    border-inline-end: 1px solid var(--color-border);
    box-shadow: 24px 0 60px rgba(0, 0, 0, 0.5);
    transform: translateX(-100%);
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

html[dir="rtl"] .primary-drawer {
    left: auto;
    right: 0;
    transform: translateX(100%);
    box-shadow: -24px 0 60px rgba(0, 0, 0, 0.5);
}

body.drawer-open .primary-drawer {
    transform: translateX(0);
}

.drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border-bottom: 1px solid var(--color-border);
}

.drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.4rem;
    block-size: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.05);
    color: var(--color-text);
    cursor: pointer;
    transition: background var(--transition-fast);
}

.drawer-close:hover,
.drawer-close:focus-visible {
    background: rgba(255, 255, 255, 0.12);
}

.drawer-search {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.5rem;
    align-items: center;
    margin: 0.85rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.05);
    overflow: hidden;
    position: relative;
}

.drawer-instant-results {
    inset-block-start: 100%;
    inset-inline: 0;
    margin-block-start: var(--space-1);
}

.drawer-search:focus-within {
    border-color: rgba(29, 185, 84, 0.55);
}

.drawer-search-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-muted);
    inline-size: 2.25rem;
    block-size: 2.25rem;
}

.drawer-search-icon svg {
    inline-size: 1rem;
    block-size: 1rem;
}

.drawer-search input {
    inline-size: 100%;
    min-block-size: 2.3rem;
    padding-block: 0.4rem;
    padding-inline: 0.25rem 0.6rem;
    background: transparent;
    border: 0;
    outline: 0;
    color: var(--color-text);
    font: inherit;
}

.drawer-search button {
    border: 0;
    border-inline-start: 1px solid var(--color-border);
    background: var(--color-green-bright);
    color: #05130b;
    cursor: pointer;
    inline-size: 2.5rem;
    block-size: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.drawer-search button svg {
    inline-size: 1rem;
    block-size: 1rem;
    stroke: currentColor;
}

.drawer-nav {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 0.25rem 0.5rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    scrollbar-width: thin;
}

.drawer-link,
.drawer-accordion-trigger {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border-radius: var(--radius-md);
    background: transparent;
    border: 0;
    color: var(--color-text-soft);
    text-decoration: none;
    font: inherit;
    font-weight: 700;
    font-size: 0.98rem;
    cursor: pointer;
    text-align: start;
    inline-size: 100%;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.drawer-link:hover,
.drawer-link:focus-visible,
.drawer-accordion-trigger:hover,
.drawer-accordion-trigger:focus-visible {
    background: rgba(255, 255, 255, 0.06);
    color: var(--color-text);
}

.drawer-link.is-active,
.drawer-accordion-trigger.is-active {
    color: var(--color-text);
    background: rgba(29, 185, 84, 0.14);
}

.drawer-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.05rem;
    block-size: 2.05rem;
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.05);
    color: var(--color-green-bright);
    flex: 0 0 auto;
}

.drawer-link-icon svg {
    inline-size: 1.05rem;
    block-size: 1.05rem;
    display: block;
}

.drawer-link-icon.nav-link-icon--brand svg {
    color: #ff3b30;
}

.drawer-accordion {
    display: flex;
    flex-direction: column;
}

.drawer-accordion-chevron {
    margin-inline-start: auto;
    color: var(--color-muted);
    display: inline-flex;
    align-items: center;
    transition: transform var(--transition-fast);
}

.drawer-accordion.is-open .drawer-accordion-chevron {
    transform: rotate(180deg);
}

.drawer-accordion-panel {
    display: none;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.1rem 0 0.4rem 0.85rem;
    margin-inline-start: 0.85rem;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.07);
}

.drawer-accordion.is-open .drawer-accordion-panel {
    display: flex;
}

.drawer-sublink {
    display: block;
    padding: 0.5rem 0.7rem;
    border-radius: var(--radius-sm);
    color: var(--color-muted);
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.drawer-sublink:hover,
.drawer-sublink:focus-visible {
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.05);
}

.drawer-foot {
    padding: 0.85rem 1rem 1.1rem;
    border-block-start: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: rgba(0, 0, 0, 0.35);
}

.drawer-foot-link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 0.7rem;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--color-border);
    color: var(--color-text-soft);
    font-weight: 700;
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.drawer-foot-link:hover,
.drawer-foot-link:focus-visible {
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--color-border-strong);
}

.drawer-cta.is-premium {
    color: var(--color-gold-bright);
    border-color: rgba(201, 168, 76, 0.45);
    background: rgba(201, 168, 76, 0.1);
}

/* Tablet & mobile (≤ 899px) */
@media (max-width: 899px) {
    .site-header .header-inner {
        flex-wrap: nowrap;
        gap: 0.5rem;
        padding-block: 0.55rem;
        padding-inline: 0.85rem;
    }

    .menu-toggle {
        display: inline-flex;
    }

    .brand-text {
        font-size: 0.9rem;
    }

    .brand-logo {
        inline-size: 2rem;
        block-size: 2rem;
    }

    .header-search {
        flex: 0 0 auto;
        inline-size: auto;
        max-inline-size: none;
        min-inline-size: 0;
        border-color: transparent;
        background: transparent;
        box-shadow: none;
        grid-template-columns: 2.25rem;
    }

    .header-search:focus-within,
    .header-search.is-open {
        position: absolute;
        inset-inline: var(--space-4);
        inset-block-start: 50%;
        transform: translateY(-50%);
        z-index: 100;
        flex: none;
        inline-size: auto;
        max-inline-size: none;
        display: grid;
        grid-template-columns: 2.25rem minmax(0, 1fr) 2.75rem;
        background: rgba(10, 10, 10, 0.98);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-pill);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
    }

    .header-search:not(:focus-within):not(.is-open) input,
    .header-search:not(:focus-within):not(.is-open) .header-search-submit {
        display: none;
    }

    .header-search:not(:focus-within):not(.is-open) .header-search-icon {
        color: var(--color-text);
        background: rgba(255, 255, 255, 0.06);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        inline-size: 2.4rem;
        block-size: 2.4rem;
    }

    .header-search:focus-within .header-search-submit,
    .header-search.is-open .header-search-submit {
        display: inline-flex;
    }

    .header-action--lang,
    .header-action--account .header-action-label,
    .header-action--cart .header-action-label {
        display: none;
    }

    .header-action--account,
    .header-action--cart {
        min-block-size: 2.4rem;
        min-inline-size: 2.4rem;
        padding: 0;
        justify-content: center;
    }

    .header-action--lang {
        min-block-size: 2.4rem;
        min-inline-size: 2.4rem;
        padding: 0;
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .site-header .header-inner {
        gap: 0.4rem;
        padding-inline: 0.7rem;
    }

    .brand-text {
        font-size: 0.82rem;
    }

    .brand-logo {
        inline-size: 1.7rem;
        block-size: 1.7rem;
    }

    .header-action {
        min-block-size: 2.2rem;
        min-inline-size: 2.2rem;
    }
}

@media (max-width: 360px) {
    .brand-text {
        display: none;
    }
}

/* Desktop (≥ 900px) */
@media (min-width: 900px) {
    .drawer-backdrop,
    .primary-drawer {
        display: none;
    }

    .site-header .header-inner {
        gap: 0.85rem;
        padding-block: 0.7rem;
    }

    .main-nav {
        display: flex;
    }

    .menu-toggle {
        display: none;
    }

    .header-search {
        flex: 1 1 18rem;
        min-inline-size: 14rem;
        max-inline-size: 28rem;
    }
}

@media (min-width: 1100px) {
    .header-search {
        flex: 1 1 20rem;
        max-inline-size: 32rem;
    }
}

@media (min-width: 1280px) {
    .nav-link {
        font-size: 0.95rem;
    }
}

/* ==========================================================================
   Kurdolphin Premium Visual Utilities & Page Container Centering Layouts
   ========================================================================== */

/* Centered container to resolve page width issues */
.page-container {
    max-width: var(--container, 1200px);
    margin-inline: auto;
    width: 100%;
    padding-inline: var(--space-4);
    box-sizing: border-box;
}

/* Ensure all page sections below hero are centered */
.content-section,
.page-head,
.detail-watch-layout,
.watch-section,
.comments-section,
.cart-page,
.checkout-page,
.jobs-detail-container,
.jobs-roles-section,
.container,
.premium-section,
.premium-hero,
.feature-strip,
.product-grid,
.product-detail,
.profile-page,
.browse-shell {
    max-width: var(--container, 1200px);
    margin-inline: auto;
    width: 100%;
    padding-inline: var(--space-4) !important;
    box-sizing: border-box;
}

/* Reusable Glassmorphic Premium Empty State Cards */
.empty-state-card,
.dash-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--space-4);
    padding: var(--space-8) var(--space-6);
    background: rgba(20, 20, 25, 0.65);
    backdrop-filter: blur(12px);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    margin-block: var(--space-4);
    min-height: 250px;
}

.empty-state-icon {
    font-size: 3rem;
    margin-bottom: var(--space-2);
    display: grid;
    place-items: center;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
    animation: float 4s ease-in-out infinite;
}

.empty-state-card h3,
.dash-empty h3 {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--color-gold-bright);
    margin: 0;
}

.empty-state-card p,
.dash-empty p {
    color: var(--color-muted);
    font-size: 0.95rem;
    max-width: 400px;
    margin: 0;
    line-height: 1.6;
}

/* Improve existing empty-illustration styles */
.empty-illustration {
    background: rgba(20, 20, 25, 0.65) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid var(--color-border) !important;
    box-shadow: var(--shadow-sm) !important;
}

.empty-illustration > .illustration-icon {
    box-shadow: var(--glow-green) !important;
    background: linear-gradient(135deg, var(--color-green), var(--color-border)) !important;
}

/* Step Indicator for Shop Checkout Flows */
.step-indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-4);
    margin-block: var(--space-6) var(--space-8);
    width: 100%;
}

.step-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--color-muted);
    font-size: 0.95rem;
    font-weight: 700;
}

.step-item.is-active {
    color: var(--color-green-bright);
}

.step-item.is-active .step-number {
    background: var(--color-green-bright);
    color: var(--color-black);
    box-shadow: var(--glow-green);
}

.step-number {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 800;
}

.step-divider {
    width: 50px;
    height: 2px;
    background: var(--color-border);
}

/* Premium Poster Hover & Glow Styling */
.poster-link:hover {
    transform: translateY(-4px);
    border-color: var(--color-green-bright) !important;
    box-shadow: var(--shadow-md), var(--glow-green) !important;
}

.poster-link:hover .poster-hover-overlay {
    opacity: 1 !important;
}

/* Fallback Ad Widget Styling */
.ad-fallback-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(90deg, rgba(20, 20, 25, 0.85) 0%, rgba(20, 20, 25, 0.55) 100%);
    border: 1px solid rgba(240, 192, 64, 0.2);
    border-radius: var(--radius-md);
    padding: var(--space-4) var(--space-5);
    box-shadow: var(--shadow-sm);
    width: 100%;
    box-sizing: border-box;
    gap: var(--space-4);
    margin-block: var(--space-3);
}

.ad-fallback-banner {
    max-width: 728px;
    margin-inline: auto;
}

.ad-fallback-sidebar {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--space-5);
    max-width: 320px;
    margin-inline: auto;
}

.ad-fallback-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    align-items: flex-start;
}

.ad-fallback-sidebar .ad-fallback-content {
    align-items: center;
}

.ad-fallback-badge {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--color-gold-bright);
    letter-spacing: 0.05em;
    background: rgba(240, 192, 64, 0.12);
    padding: 2px 8px;
    border-radius: 4px;
}

.ad-fallback-content p {
    margin: 0;
    font-size: 0.9rem;
    color: var(--color-text-soft);
    line-height: 1.4;
}

.ad-fallback-btn {
    background: linear-gradient(135deg, var(--color-gold-bright), #c9a84c);
    color: #161104 !important;
    font-weight: 800;
    font-size: 0.85rem;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-pill);
    white-space: nowrap;
    text-decoration: none;
    box-shadow: var(--glow-gold);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.ad-fallback-btn:hover {
    transform: scale(1.04);
    box-shadow: 0 0 20px rgba(240, 192, 64, 0.45);
}

@media (max-width: 639px) {
    .ad-fallback-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: var(--space-4);
    }
    .ad-fallback-content {
        align-items: center;
    }
    .ad-fallback-btn {
        width: 100%;
        text-align: center;
    }
}
