/* 
   PeliSeriesPlus - Midnight Violet Theme
   Original Design 2025
*/

/* @import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap'); */
@font-face {
    font-family: 'Outfit';
    src: url('/fonts/static/Outfit-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('/fonts/static/Outfit-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('/fonts/static/Outfit-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('/fonts/static/Outfit-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('/fonts/static/Outfit-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('/fonts/static/Outfit-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* ========== VARIABLES ========== */
:root {
    /* Palette - Deep Space & Neon */
    --primary: #8b5cf6;
    /* Violet 500 */
    --primary-hover: #7c3aed;
    /* Violet 600 */
    --primary-glow: rgba(139, 92, 246, 0.5);

    --secondary: #0ea5e9;
    /* Sky 500 */
    --secondary-hover: #0284c7;
    /* Sky 600 */
    --secondary-glow: rgba(14, 165, 233, 0.5);

    --accent-pink: #f43f5e;
    /* Rose 500 */
    --accent-glow: rgba(244, 63, 94, 0.5);

    /* Backgrounds */
    --bg-main: #020617;
    /* Slate 950 - Darker base */
    --bg-surface: #0f172a;
    /* Slate 900 */
    --bg-surface-hover: #1e293b;
    /* Slate 800 */
    --bg-glass: rgba(2, 6, 23, 0.85);
    --bg-glass-border: rgba(255, 255, 255, 0.08);
    --bg-overlay: rgba(0, 0, 0, 0.8);

    /* Text */
    --text-main: #f8fafc;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;

    /* UI Elements */
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-full: 9999px;

    --header-height: 80px;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
    --shadow-glow: 0 0 25px var(--primary-glow);
    --shadow-card: 0 0 0 1px var(--bg-glass-border), 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}

/* Performance Helpers */
.content-visibility-auto {
    content-visibility: auto;
}

.gpu-accelerated {
    transform: translateZ(0);
    will-change: transform;
    backface-visibility: hidden;
}

/* ========== RESET & BASE ========== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    outline: none;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--bg-main);
    background-image:
        radial-gradient(circle at 15% 50%, rgba(139, 92, 246, 0.08), transparent 25%),
        radial-gradient(circle at 85% 30%, rgba(14, 165, 233, 0.08), transparent 25%);
    background-attachment: fixed;
    color: var(--text-main);
    font-family: 'Outfit', sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    animation: fadeInPage 0.6s ease-out;
    -webkit-overflow-scrolling: touch;
    /* Fix smooth scrolling on iOS */
    touch-action: manipulation;
    /* Improve touch response */
}

/* Status Badge */
.status-badge {
    position: absolute;
    bottom: 10px;
    right: 10px;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    color: white;
    z-index: 5;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.movie-card.--x3 .status-badge {
    max-width: calc(100% - 90px);
    padding: 3px 6px;
    font-size: 0.65rem;
    letter-spacing: 0.3px;
    z-index: 3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.status-emision {
    background: #10b981;
    /* Green */
}

.status-finalizado {
    background: #ef4444;
    /* Red */
}

.status-proximamente {
    background: #f59e0b;
    /* Amber */
}

@keyframes fadeInPage {
    from {
        opacity: 0;
        transform: translateY(10px) translateZ(0);
    }

    to {
        opacity: 1;
        transform: translateY(0) translateZ(0);
    }
}

/* Scroll Reveal Animation - Optimized */
.reveal {
    opacity: 0;
    transform: translateY(30px) translateZ(0);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0) translateZ(0);
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

ul,
ol {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
    height: auto;
    content-visibility: auto;
}

button {
    cursor: pointer;
    font-family: inherit;
    border: none;
    background: none;
    transition: transform 0.1s ease;
}

button:active {
    transform: scale(0.95);
}

input,
select,
textarea {
    font-family: inherit;
}

/* ========== TYPOGRAPHY ========== */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 800;
    line-height: 1.1;
    color: var(--text-main);
    letter-spacing: -0.02em;
}

h1 {
    font-size: 3.5rem;
}

h2 {
    font-size: 2.25rem;
}

h3 {
    font-size: 1.5rem;
}

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

/* ========== UTILITIES ========== */
.container {
    width: 92%;
    max-width: 1400px;
    margin: 0 auto;
}

/* Spacing for pages to avoid navbar overlap */
.page-content,
.admin-container,
.browse-container,
.peticiones-form-container,
.auth-wrapper {
    padding-top: 100px;
    /* Adjust based on header height */
}

/* Specific fix for auth wrapper which is full screen */
.auth-wrapper {
    padding-top: 0;
}

.text-center {
    text-align: center;
}

.mt-20 {
    margin-top: 20px;
}

.mb-20 {
    margin-bottom: 20px;
}

.text-gradient {
    background: linear-gradient(to right, var(--primary), var(--secondary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hidden {
    display: none !important;
}

/* ========== SIDEBAR LAYOUTS (Desktop) ========== */
.layout-with-sidebar {
    display: grid;
    grid-template-columns: 1fr 180px;
    /* Content | Ad Sidebar */
    gap: 20px;
    align-items: start;
    width: 98%;
    max-width: 1600px;
    margin: 0 auto;
}

.layout-with-double-sidebar {
    display: grid;
    grid-template-columns: 180px 1fr 180px;
    /* Ad | Content | Ad */
    gap: 20px;
    align-items: start;
}

.ad-sidebar {
    position: sticky;
    top: 100px;
    /* Offset for header */
    height: fit-content;
}

/* On mobile/tablet, stack them and potentially hide sidebar ad if too tall */
@media (max-width: 1024px) {

    .layout-with-sidebar,
    .layout-with-double-sidebar {
        grid-template-columns: 1fr;
    }

    .ad-sidebar {
        display: none;
    }

    /* Hide Desktop Elements on Mobile/Tablet */
    .desktop-only {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    .desktop-hidden {
        display: none !important;
    }
}

/* ========== MOBILE TOP BAR & MENUS ========== */
.mobile-top-bar,
.mobile-sidebar,
.mobile-sidebar-overlay {
    display: none;
    /* Hidden on desktop */
}

/* Mobile Notification Dropdown */
.mobile-notif-dropdown {
    display: none;
    position: fixed;
    top: 60px;
    right: 10px;
    width: 300px;
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    z-index: 2000;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    max-height: 80vh;
    overflow-y: auto;
}

.mobile-notif-dropdown .notif-header {
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
}

@media (max-width: 1024px) {
    header {
        padding: 0;
        height: 60px;
    }

    .main-header {
        height: 60px;
        background: rgba(2, 6, 23, 0.85);
        backdrop-filter: blur(12px);
    }

    .main-header {
        height: 60px;
        background: rgba(2, 6, 23, 0.85);
        backdrop-filter: blur(12px);
    }

    .header-inner-container {
        display: none;
        /* Hide desktop container */
    }

    .mobile-top-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        height: 60px;
        padding: 0 15px;
        /* safe area */
    }

    .top-bar-left {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .top-bar-actions {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .logo-text {
        font-size: 1.4rem;
        font-weight: 800;
        color: #8b5cf6;
        text-decoration: none;
        letter-spacing: -0.5px;
    }

    .logo-text span {
        color: white;
    }

    .menu-icon-btn {
        background: transparent;
        border: none;
        color: white;
        font-size: 1.2rem;
        cursor: pointer;
        padding: 5px;
    }

    /* Sidebar Overlay */
    .mobile-sidebar-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.6);
        backdrop-filter: blur(5px);
        z-index: 2000;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .mobile-sidebar-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* Sidebar Drawer */
    .mobile-sidebar {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: -280px;
        width: 280px;
        height: 100vh;
        background: #0f172a;
        /* Fallback */
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(2, 6, 23, 0.98));
        backdrop-filter: blur(20px);
        z-index: 2001;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 5px 0 25px rgba(0, 0, 0, 0.5);
        border-right: 1px solid rgba(255, 255, 255, 0.05);
    }

    .mobile-sidebar.active {
        transform: translateX(280px);
    }

    .sidebar-header {
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .sidebar-title {
        font-size: 1.1rem;
        font-weight: 700;
        color: white;
    }

    .close-sidebar-btn {
        background: rgba(255, 255, 255, 0.05);
        border: none;
        color: #94a3b8;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: 0.2s;
    }

    .close-sidebar-btn:active {
        background: rgba(255, 255, 255, 0.1);
        color: white;
    }

    .sidebar-content {
        flex: 1;
        overflow-y: auto;
        padding: 20px;
    }

    /* User Info in Sidebar */
    .sidebar-user-info {
        display: flex;
        align-items: center;
        gap: 15px;
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        margin-bottom: 20px;
    }

    .sidebar-user-info .avatar-md {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        object-fit: cover;
        border: 2px solid var(--primary);
    }

    .user-details {
        display: flex;
        flex-direction: column;
    }

    .user-name {
        color: white;
        font-weight: 600;
        font-size: 1rem;
    }

    .view-profile-link {
        color: #94a3b8;
        font-size: 0.8rem;
        text-decoration: none;
    }

    /* Sidebar Nav */
    .sidebar-nav ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .sidebar-nav li {
        margin-bottom: 8px;
    }

    .sidebar-nav a {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px;
        border-radius: 8px;
        color: #cbd5e1;
        text-decoration: none;
        font-size: 0.95rem;
        font-weight: 500;
        transition: 0.2s;
    }

    .sidebar-nav a:hover,
    .sidebar-nav a:active {
        background: rgba(255, 255, 255, 0.05);
        color: white;
        transform: translateX(4px);
    }

    .sidebar-nav i {
        font-size: 1rem;
        width: 20px;
        text-align: center;
        color: #8b5cf6;
    }

    .sidebar-divider {
        height: 1px;
        background: rgba(255, 255, 255, 0.05);
        margin: 15px 0;
    }

    .sidebar-section-title {
        display: block;
        color: #64748b;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-weight: 700;
        margin-bottom: 10px;
        padding-left: 12px;
    }

    .sidebar-subnav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .sidebar-subnav a {
        font-size: 0.85rem;
        background: rgba(0, 0, 0, 0.2);
        justify-content: center;
        padding: 8px;
    }
}

/* Scrollbar Customization */
::-webkit-scrollbar {
    width: 6px;
    /* Thinner */
    height: 6px;
    /* For horizontal */
}

::-webkit-scrollbar-track {
    background: rgba(2, 6, 23, 0.5);
}

::-webkit-scrollbar-thumb {
    background: rgba(139, 92, 246, 0.3);
    border-radius: var(--radius-full);
    transition: background 0.3s;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary);
    box-shadow: 0 0 10px var(--primary-glow);
}

/* Firefox Scrollbar */
html {
    scrollbar-width: thin;
    scrollbar-color: var(--primary) var(--bg-main);
}

/* Text Selection */
::selection {
    background: var(--primary);
    color: white;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
}

/* Action Buttons (Support, My List) */
.action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #cbd5e1;
    font-size: 1rem;
    transition: all 0.3s ease;
    text-decoration: none;
    cursor: pointer;
}

.action-btn:hover {
    background: rgba(139, 92, 246, 0.15);
    border-color: rgba(139, 92, 246, 0.3);
    color: #8b5cf6;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.2);
}

.action-btn:active {
    transform: translateY(0);
}

/* Menu Divider and Label in Dropdowns */
.menu-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin: 8px 0;
}

.menu-label {
    display: block;
    padding: 8px 16px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #64748b;
    pointer-events: none;
}


/* ========== HEADER ========== */
/* ========== HEADER (REBUILT) ========== */
.main-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: rgba(2, 6, 23, 0.75);
    /* Lighter base for better glass effect */
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.main-header.scrolled {
    background: rgba(15, 23, 42, 0.9);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.header-inner-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* --- Logo --- */
.header-logo {
    font-size: 1.8rem;
    font-weight: 800;
    color: #8b5cf6;
    /* --primary */
    text-shadow: 0 0 20px rgba(139, 92, 246, 0.4);
    text-decoration: none;
    letter-spacing: -0.5px;
    margin-right: 40px;
    transition: transform 0.3s ease;
}

.header-logo:hover {
    transform: scale(1.02);
}

.header-logo span {
    color: white;
    /* --text-main */
}

/* --- Navigation --- */
.header-nav {
    flex-grow: 1;
}

.nav-list {
    display: flex;
    align-items: center;
    gap: 10px;
    /* Reduced gap, using padding in links */
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-list li a {
    color: #cbd5e1;
    font-weight: 500;
    font-size: 0.95rem;
    text-transform: capitalize;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    position: relative;
    padding: 8px 16px;
    border-radius: 50px;
    overflow: hidden;
    z-index: 1;
}

/* Hover pill effect */
.nav-list li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(14, 165, 233, 0.1));
    opacity: 0;
    transform: scale(0.9);
    transition: all 0.3s ease;
    z-index: -1;
    border-radius: 50px;
}

.nav-list li a:hover {
    color: white;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.nav-list li a:hover::before {
    opacity: 1;
    transform: scale(1);
}

/* Active State */
.nav-list li a.active {
    color: white;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.nav-list li a.active::after {
    display: none;
    /* Remove old underline */
}

.nav-link-highlight {
    color: #46d369 !important;
    font-weight: 600 !important;
    position: relative;
}

.nav-link-highlight::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #46d369;
    border-radius: 50%;
    margin-left: 6px;
    box-shadow: 0 0 8px #46d369;
}

/* --- Dropdown --- */
.dropdown-wrapper {
    position: relative;
    height: 80px;
    display: flex;
    align-items: center;
}

.dropdown-trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 50px;
    transition: 0.3s;
}

.dropdown-trigger:hover {
    background: rgba(255, 255, 255, 0.05);
    color: white;
}

.dropdown-trigger i {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
}

.dropdown-wrapper:hover .dropdown-trigger i {
    transform: rotate(180deg);
}

.dropdown-menu {
    position: absolute;
    top: 75px;
    left: 0;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 20px;
    min-width: 220px;
    max-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    /* Bouncy effect */
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.dropdown-wrapper:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-menu a {
    padding: 8px 12px;
    font-size: 0.9rem;
    color: #94a3b8;
    border-radius: 8px;
    display: flex;
    align-items: center;
    transition: all 0.2s;
    border: 1px solid transparent;
}

.dropdown-menu a:hover {
    background: rgba(139, 92, 246, 0.1);
    color: white;
    transform: translateX(4px);
    border-color: rgba(139, 92, 246, 0.2);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Actions */
.header-actions {
    display: flex !important;
    align-items: center;
    gap: 15px;
}

/* Expanding Desktop Search */
.search-container-desktop {
    position: relative;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50px;
    padding: 2px;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

.search-container-desktop.active {
    background: rgba(2, 6, 23, 0.8);
    border-color: rgba(139, 92, 246, 0.3);
    box-shadow: 0 0 15px rgba(139, 92, 246, 0.1);
}

.search-input-desktop {
    background: transparent;
    border: none;
    color: white;
    font-size: 0.95rem;
    width: 0;
    opacity: 0;
    padding: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none;
}

.search-container-desktop.active .search-input-desktop {
    width: 220px;
    opacity: 1;
    padding: 0 15px;
}

.search-btn {
    background: transparent;
    border: none;
    color: #94a3b8;
    font-size: 1.1rem;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
}

.search-container-desktop.active .search-btn {
    color: #8b5cf6;
}

/* Auth Buttons */
.auth-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.btn-login-text {
    color: var(--text-secondary);
    font-weight: 600;
    font-size: 0.95rem;
    transition: 0.2s;
}

.btn-login-text:hover {
    color: white;
}

.btn-register-primary {
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: white;
    padding: 8px 20px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.9rem;
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.3);
    transition: 0.2s;
}

.btn-register-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(124, 58, 237, 0.5);
}

/* User Profile */
.profile-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 12px 4px 4px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 50px;
    transition: 0.2s;
    text-decoration: none;
}

.profile-pill:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.15);
}

.avatar-sm {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--primary);
}

.profile-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: white;
    max-width: 100px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.admin-icon-link {
    color: var(--accent-pink);
    opacity: 0.7;
    margin-left: 5px;
    transition: 0.2s;
}

.admin-icon-link:hover {
    opacity: 1;
    transform: rotate(15deg);
}

/* --- Compatibility for legacy global styles --- */
/* The layout uses .main-header now, so 'header' tag selectors might need resetting or ignoring if they conflict */


/* Compatibility for other pages (Login/Register/Mobile) */
.btn-login {
    padding: 10px 24px;
    border-radius: var(--radius-full);
    font-weight: 600;
    color: var(--text-main);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    font-size: 0.95rem;
    transition: var(--transition);
    display: inline-block;
}

.btn-login:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--text-main);
    transform: translateY(-2px);
}

.btn-registro {
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: white;
    padding: 10px 24px;
    border-radius: var(--radius-full);
    font-weight: 600;
    box-shadow: var(--shadow-glow);
    font-size: 0.95rem;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: inline-block;
}

.btn-registro:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 30px var(--primary-glow);
}

/* ========== FOOTER ========== */
footer {
    background: #020617;
    padding: 80px 4% 40px;
    margin-top: 80px;
    position: relative;
}

footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--primary), var(--secondary), transparent);
}

.footer-content {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
}

.footer-logo {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 15px;
}

.footer-logo span {
    color: var(--text-main);
}

.footer-logo p {
    font-size: 0.9rem;
    max-width: 300px;
    color: var(--text-muted);
    line-height: 1.6;
}

.footer-links h3 {
    color: var(--text-main);
    margin-bottom: 20px;
    font-size: 1.1rem;
}

.footer-links ul li {
    margin-bottom: 10px;
}

.footer-links a {
    color: var(--text-muted);
    font-size: 0.95rem;
    transition: var(--transition);
}

.footer-links a:hover {
    color: var(--secondary);
    padding-left: 5px;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding-top: 30px;
    text-align: center;
    font-size: 0.9rem;
    color: var(--text-muted);
}

/* ========== HERO SECTION ========== */
/* ========== HERO SECTION (Enhanced) ========== */
/* ========== HERO SECTION (Enhanced with Thumbs) ========== */
/* ========== HERO SECTION (Enhanced with Thumbs) ========== */
.hero-wrapper {
    position: relative;
    width: 100%;
    /* Mobile First: Auto height with min-height */
    height: auto;
    min-height: 70vh;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.hero-swiper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-slide-item {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center top;
    position: relative;
}

/* Gradient & Overlay */
.hero-overlay-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--bg-main) 0%, rgba(2, 6, 23, 0.9) 25%, rgba(2, 6, 23, 0.4) 60%, rgba(2, 6, 23, 0.7) 100%);
    z-index: 1;
}

/* Content Container */
.hero-swiper .hero-container {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: row;
    /* Default Row */
    width: 100%;
    padding: 0 5%;
}

/* Base Content Styles */
.hero-swiper .hero-content {
    max-width: 100%;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* Vertical Center content internal */
    position: relative;
    z-index: 5;
}

/* Mobile Layout (Default / Max 1023px) */
@media (max-width: 1023px) {
    .hero-wrapper {
        min-height: 65vh;
    }

    .hero-swiper .hero-container {
        align-items: flex-end;
        /* Bottom Align */
        padding-top: 120px;
        /* Navbar clearance */
        padding-bottom: 70px;
        /* Space for dots */
    }

    .hero-content {
        width: 100%;
        margin-bottom: 0;
    }

    .hero-title {
        font-size: clamp(1.5rem, 5vw, 2rem);
        font-weight: 800;
        line-height: 1.2;
        margin-bottom: 8px;
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }

    .hero-meta {
        font-size: 0.85rem;
        margin: 5px 0 10px 0;
    }

    .hero-stats {
        display: none;
        /* Hide extra stats on mobile to save space if needed, or keep petite */
    }

    /* Grid Hidden on Mobile */
    .hero-thumbs {
        display: none;
    }
}

/* Desktop Layout (Min 1024px) */
@media (min-width: 1024px) {
    .hero-wrapper {
        min-height: 90vh;
        /* Taller on desktop */
    }

    .hero-swiper .hero-container {
        align-items: center;
        /* Vertical Center */
        padding-top: 100px;
        /* Navbar Clearance */
    }

    .hero-content {
        max-width: calc(100% - 400px);
        /* Dynamic width to avoid grid */
        padding-right: 20px;
    }

    .hero-title {
        font-size: clamp(2.5rem, 4vw, 3.5rem);
        margin-bottom: 15px;
        line-height: 1.15;
        word-wrap: break-word;
        overflow-wrap: break-word;
        max-width: 100%;
    }

    /* Desktop Grid */
    .hero-thumbs {
        display: grid;
        position: absolute;
        right: 8%;
        /* Fixed Right Margin */
        top: 50%;
        transform: translateY(-50%);
        width: 320px;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        padding: 15px;
        background: rgba(2, 6, 23, 0.4);
        backdrop-filter: blur(10px);
        border-radius: 16px;
        border: 1px solid rgba(255, 255, 255, 0.05);
        z-index: 5;
        /* Below navbar (which is usually 1000) */
        bottom: auto;
        left: auto;
    }

    /* Hide dots on desktop */
    .hero-swiper .swiper-pagination {
        display: none;
    }
}

/* Hero Typography & Metadata Styles */
.hero-header-group {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.hero-tag {
    background: rgba(139, 92, 246, 0.2);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(139, 92, 246, 0.4);
    color: #fff;
    padding: 6px 14px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 8px;
    letter-spacing: 1px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.hero-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 10px 0 15px 0;
    font-size: 1rem;
    color: #e2e8f0;
    flex-wrap: wrap;
}

.rating-badge {
    color: #fbbf24;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1.1rem;
}

.rating-badge i {
    font-size: 0.95rem;
}

.year-badge {
    font-weight: 600;
    color: #fff;
    opacity: 0.9;
}

.quality-badge {
    background: rgba(16, 185, 129, 0.2);
    border: 1px solid rgba(16, 185, 129, 0.4);
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #10b981;
}

.hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.hero-stat {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 20px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    font-size: 0.85rem;
    font-weight: 500;
    color: #cbd5e1;
    transition: all 0.3s;
}

.hero-stat:hover {
    background: rgba(139, 92, 246, 0.2);
    border-color: rgba(139, 92, 246, 0.4);
    transform: translateY(-2px);
    color: #fff;
}

.hero-stat i {
    color: #8b5cf6;
}

.hero-description {
    font-size: 1rem;
    color: #cbd5e1;
    margin-bottom: 20px;
    max-width: 100%;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
    font-weight: 400;
}

.hero-actions {
    display: flex;
    gap: 15px;
    margin-top: 10px;
    position: relative;
    z-index: 5;
    flex-wrap: wrap;
}

/* ... Animations & Metadata classes ... */

/* Mobile Pagination (Dots) */
.hero-swiper .swiper-pagination {
    bottom: 20px;
    display: block;
}

.swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background: var(--primary);
    width: 20px;
    border-radius: 5px;
    transition: width 0.3s;
}

/* Thumb Item Sizing */
.thumb-item {
    width: 100%;
    /* Fill grid column */
    height: 90px;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    border-radius: 12px;
}

.thumb-content {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    border: 2px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.thumb-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

/* Active State */
.thumb-item.active-thumb .thumb-content {
    border-color: var(--primary);
    box-shadow: 0 0 15px var(--primary-glow);
    transform: scale(1.05);
}

.thumb-item.active-thumb .thumb-content img {
    opacity: 1;
}

/* Hover State */
.thumb-item:hover .thumb-content {
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
}

/* DESKTOP SIDE LAYOUT */
/* Conflict removed - duplicate block deleted */

.thumb-slide {
    width: 160px;
    /* Fixed width per thumb */
    height: 90px;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.thumb-content {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    border: 2px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.thumb-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.thumb-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 6px 10px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);
    opacity: 1;
    /* Always show title? or only on active? */
}

.thumb-title {
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 2px black;
}

/* Active State */
.swiper-slide-thumb-active .thumb-content {
    border-color: var(--primary);
    box-shadow: 0 0 15px var(--primary-glow);
    transform: scale(1.05);
    /* Slight pop */
}

.swiper-slide-thumb-active .thumb-content img {
    opacity: 1;
}

/* Hover State */
.thumb-slide:hover .thumb-content {
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
}

/* DESKTOP SIDE LAYOUT */
/* Conflict removed - Consolidated above */

.btn-hero-primary,
.btn-hero-secondary {
    padding: 16px 42px;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 1.1rem;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
}

.btn-hero-primary {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    color: white;
    border: none;
    box-shadow: 0 0 25px var(--primary-glow);
}

.btn-hero-primary:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 10px 40px var(--primary-glow);
}

.btn-hero-secondary {
    background: rgba(255, 255, 255, 0.05);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.btn-hero-secondary:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.6);
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* Compact Video Container for Movies */
.video-container-compact {
    max-width: 950px;
    margin: 0 auto 30px;
    width: 100%;
}

.video-container-compact iframe {
    border-radius: var(--radius-md);
    /* Add radius if not already present on iframe globally */
}

/* Add to List Button Special Style */
#btn-mi-lista-hero {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

#btn-mi-lista-hero:hover {
    background: linear-gradient(135deg, #10b981, #059669);
    /* Emerald 500 to 600 */
    border-color: #34d399;
    color: white;
    box-shadow: 0 0 20px rgba(16, 185, 129, 0.4);
    transform: translateY(-3px) scale(1.05);
}

#btn-mi-lista-hero:hover i {
    animation: pulse-check 1s infinite;
}

@keyframes pulse-check {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

/* ========== CAROUSELS ========== */
.carousel-container {
    position: relative;
    z-index: 10;
    margin-top: 0;
    /* Removed negative margin to avoid overlap with CTA */
    padding-bottom: 20px;
    background: transparent;
}

.category-carousel {
    margin-bottom: 40px;
    position: relative;
    content-visibility: auto;
    contain-intrinsic-size: 1px 350px;
    /* Reduces layout recalculations for off-screen items */
}

.carousel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 6%;
    margin-bottom: 20px;
}

.carousel-header h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-main);
    border-left: 4px solid var(--primary);
    padding-left: 12px;
}

.ver-todo-link {
    font-size: 0.9rem;
    color: var(--secondary);
    font-weight: 600;
    opacity: 0.8;
    transition: var(--transition);
}

.ver-todo-link:hover {
    opacity: 1;
    transform: translateX(5px);
}

.swiper-container {
    overflow: visible !important;
    padding: 0 6%;
    /* Increased from 4% */
}

/* Exclude hero swiper from this padding if needed, though hero usually is full width */
.hero-swiper.swiper-container {
    padding: 0;
}

.movie-card {
    position: relative;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.7), rgba(15, 23, 42, 0.95));
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: var(--transition);
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 30px -18px rgba(0, 0, 0, 0.7);
}

.movie-card:hover,
.movie-card:focus-within {
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow: 0 18px 40px -20px rgba(0, 0, 0, 0.8);
}

.card-link-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    /* Higher than background */
    cursor: pointer;
}

.card-link-overlay:focus-visible {
    outline: 3px solid rgba(250, 204, 21, 0.7);
    outline-offset: -3px;
    border-radius: inherit;
}

.context-menu-trigger {
    position: relative;
    z-index: 20;
    /* Higher than overlay */
}

.context-menu-trigger:focus-visible {
    outline: 2px solid rgba(250, 204, 21, 0.8);
    outline-offset: 2px;
    border-radius: 6px;
    color: #fff;
}

.poster-wrapper {
    position: relative;
    padding-top: 150%;
    background: #0f172a;
    /* Darker background for skeleton */
    overflow: hidden;
}

/* Skeleton Loading Animation */
.poster-wrapper.skeleton::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);
    transform: translateX(-100%);
    animation: skeleton-loading 1.5s infinite;
    z-index: 1;
}

@keyframes skeleton-loading {
    100% {
        transform: translateX(100%);
    }
}

.poster-wrapper img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease, transform 0.5s ease;
    opacity: 0;
    /* Hidden initially */
}

.poster-wrapper img.loaded {
    opacity: 1;
}

.episode-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--primary);
    color: white;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 4px;
    z-index: 5;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}



.movie-card {
    will-change: transform, box-shadow;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.movie-card:hover {
    transform: translateY(-8px) scale(1.02) translateZ(0);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(139, 92, 246, 0.3),
        0 0 30px rgba(139, 92, 246, 0.2);
    border-color: var(--primary);
    z-index: 10;
}

/* Shine Effect */
.movie-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.1) 50%, transparent);
    transform: skewX(-25deg);
    transition: 0.5s;
    z-index: 2;
    pointer-events: none;
}

.movie-card:hover::before {
    left: 125%;
    transition: 0.7s ease-in-out;
}

.movie-card:hover .poster-wrapper img {
    transform: scale(1.08) translateZ(0);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-info-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 20px 15px 15px;
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 3;
}

.movie-card:hover .card-info-overlay {
    transform: translateY(0);
}

.card-info-overlay h3 {
    font-size: 1rem;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--text-main);
}

.card-meta {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.card-meta .rating {
    color: var(--secondary);
    font-weight: 700;
}

/* ========== ENHANCED HISTORY CARDS ========== */
.--history-card .movie-card__img {
    aspect-ratio: 16/9;
}

.--history-card .swiper-img {
    height: 100%;
}

.progress-container-mini {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
    z-index: 10;
}

.progress-bar-mini {
    height: 100%;
    background: #e50914;
    /* Netflix Red */
    box-shadow: 0 0 10px rgba(229, 9, 20, 0.5);
    transition: width 0.3s ease;
}

/* --- RESUME PROMPT --- */
.resume-prompt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.9);
    padding: 25px;
    border-radius: 15px;
    text-align: center;
    width: 90%;
    max-width: 400px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    z-index: 10;
}

.resume-prompt h3 {
    margin-bottom: 20px;
    font-size: 1.1rem;
    line-height: 1.5;
    color: #fff;
    font-weight: 500;
}

.resume-prompt .btns-resume {
    display: flex;
    gap: 15px;
    justify-content: center;
}

.btn-resume-opt {
    padding: 12px 25px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-resume-si {
    background: var(--primary);
    color: white;
    border: none;
    box-shadow: 0 4px 15px var(--primary-glow);
}

.btn-resume-si:hover {
    transform: translateY(-2px);
    filter: brightness(1.2);
}

.btn-resume-no {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-resume-no:hover {
    background: rgba(255, 255, 255, 0.2);
}

@media (max-width: 480px) {
    .resume-prompt {
        padding: 15px;
        width: 95%;
    }

    .resume-prompt h3 {
        font-size: 0.95rem;
    }

    .btn-resume-opt {
        padding: 10px 20px;
        font-size: 0.8rem;
    }
}

.epi-label {
    font-size: 0.75rem;
    color: var(--primary);
    font-weight: 600;
    display: block;
    margin-top: 2px;
}

/* Navigation Buttons */
.swiper-button-next,
.swiper-button-prev {
    color: var(--primary);
    background: rgba(15, 23, 42, 0.8);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 18px;
    font-weight: 700;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

/* ========== DETAIL PAGES ========== */
.movie-hero {
    position: relative;
    min-height: 60vh;
    padding-top: 100px;
    padding-bottom: 60px;
    align-items: center;
    overflow: hidden;
    /* Ensure content doesn't spill out */
}



.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--bg-main) 10%, rgba(15, 23, 42, 0.9) 50%, rgba(15, 23, 42, 0.8) 100%);
    z-index: 2;
}

.hero-container {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    gap: 40px;
}

/* Ken Burns Effect - DISABLED */
.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center top;
    z-index: 1;
    /* animation: ken-burns 20s ease-out infinite alternate; */
    /* transform-origin: center center; */
    /* Ensure zoom is centered */
}

/* 
@keyframes ken-burns {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.15);
    }

    // Slightly increased zoom for better effect
}

*/
/* --- PREMIUM FEATURES CSS --- */

/* Breadcrumbs */
.breadcrumbs {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.breadcrumbs a {
    color: var(--text-secondary);
    transition: var(--transition);
}

.breadcrumbs a:hover {
    color: var(--primary);
}

.breadcrumbs span {
    color: var(--text-muted);
}

.breadcrumbs .current {
    color: var(--text-main);
    font-weight: 600;
}

/* Badges & Age Rating */
.meta-badges {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 15px;
}

.badge {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge.hd {
    background: linear-gradient(45deg, #000, #333);
    border-color: #666;
}

.badge.age-rating {
    border: 2px solid #fff;
    background: transparent;
    padding: 0 6px;
    font-size: 0.8rem;
    line-height: 1.4;
}

/* Cast Carousel */
.cast-section {
    margin-top: 40px;
    margin-bottom: 40px;
}

.cast-carousel-wrapper {
    position: relative;
    /* Ensure buttons can be positioned absolutely relative to this */
}

.cast-grid {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding-bottom: 20px;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-left: 0;
    padding-right: 0;
}

.cast-grid::-webkit-scrollbar {
    display: none;
}

.cast-card {
    min-width: 140px;
    width: 140px;
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.cast-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
}

.cast-photo {
    width: 100%;
    height: 180px;
    object-fit: cover;
    background: #000;
}

.cast-info {
    padding: 10px;
    text-align: center;
}

.cast-name {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-main);
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cast-character {
    font-size: 0.8rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Updated Cast Nav Buttons (Header Style) */
.cast-nav-buttons {
    display: flex;
    gap: 10px;
}

.btn-cast-nav {
    position: relative;
    /* Reset from absolute */
    top: auto;
    transform: none;
    left: auto;
    right: auto;
    opacity: 1;
    /* Always visible */
    pointer-events: auto;

    color: var(--primary);
    background: rgba(15, 23, 42, 0.9);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
}

.cast-carousel-wrapper:hover .btn-cast-nav {
    opacity: 1;
    /* Keep consistency if copied from elsewhere, though default is 1 now */
}

/* Specific positioning not needed in header mode, but keeping clean cleanup */
.btn-cast-nav.prev {
    left: auto;
}

.btn-cast-nav.next {
    right: auto;
}

.btn-cast-nav:hover {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
    box-shadow: 0 0 15px rgba(229, 9, 20, 0.4);
}

@media (max-width: 768px) {
    .btn-cast-nav {
        display: flex;
        /* Ensure visible on mobile if desired, or none if swipe preferred. User complained about functionality so better visible. */
    }
}

/* Collection / Saga */
.collection-banner {
    margin-top: 40px;
    background: linear-gradient(to right, var(--bg-surface), transparent);
    border-left: 4px solid var(--secondary);
    padding: 20px;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.collection-info h3 {
    font-size: 1.2rem;
    margin-bottom: 5px;
}

.btn-collection {
    background: var(--secondary);
    color: #fff;
    padding: 8px 20px;
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: 0.9rem;
}

.btn-collection:hover {
    background: var(--secondary-hover);
}

/* --- END PREMIUM FEATURES --- */

/* Filter Bar */
.filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 30px;
    background: rgba(255, 255, 255, 0.05);
    padding: 20px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.1);
    align-items: center;
}

.filter-group {
    flex: 1;
    min-width: 150px;
}

.filter-select {
    width: 100%;
    padding: 10px 15px;
    background: var(--bg-main);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-sm);
    color: var(--text-main);
    font-size: 0.9rem;
    appearance: none;
    /* Remove default arrow */
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 10px auto;
}

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

.btn-filter {
    background: var(--primary);
    color: #fff;
    border: none;
    padding: 10px 25px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-weight: 600;
    transition: var(--transition);
}

.btn-filter:hover {
    background: var(--primary-hover);
}

.btn-filter-reset {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    transition: var(--transition);
    text-decoration: none;
}

.btn-filter-reset:hover {
    background: #e50914;
}



/* ========== CINEMA MODE & EXPANDED PLAYER ========== */
/* Overlay for Cinema Mode */
.cinema-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    z-index: 9998;
    /* Below header (1000) but header needs to be hidden or above? Usually cinema mode hides everything else */
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease;
    pointer-events: none;
}

body.cinema-mode-active .cinema-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 1100;
    /* Above everything except the video container */
}

/* Ensure video container stays on top in cinema mode */
body.cinema-mode-active .watch-content {
    position: relative;
    z-index: 1101;
}

/* Expanded Player */
.video-container-single {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.video-container-single.expanded {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90vw;
    height: 80vh;
    max-width: none;
    z-index: 1102;
    /* Above cinema overlay */
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.8);
    background: #000;
}

.video-container-single.expanded iframe {
    border-radius: 0;
}

/* Player Controls Toolbar */
.player-controls {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-bottom: 15px;
}

.btn-player-control {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--text-secondary);
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
}

.btn-player-control:hover,
.btn-player-control.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

/* SKELETON LOADING ANIMATION */
@keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }

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

.skeleton {
    background: #1e293b;
    /* Base color */
    background-image: linear-gradient(to right, #1e293b 0%, #334155 20%, #1e293b 40%, #1e293b 100%);
    background-repeat: no-repeat;
    background-size: 1000px 100%;
    animation: shimmer 2s infinite linear forwards;
    position: relative;
    overflow: hidden;
}

/* Skeleton specific overrides for poster wrapper */
.poster-wrapper.skeleton::before {
    content: '';
    display: block;
    padding-top: 150%;
    /* Maintain aspect ratio */
}

/* Hide actual image while skeleton is active */
.poster-wrapper.skeleton img {
    opacity: 0;
}

.poster-wrapper img.loaded {
    opacity: 1;
    transition: opacity 0.3s ease;
}


.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.8) 40%, rgba(15, 23, 42, 0.4) 100%),
        linear-gradient(0deg, var(--bg-main) 0%, transparent 50%);
    z-index: 2;
    backdrop-filter: blur(2px);
}

.movie-hero .hero-container {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 0 4%;
}

.movie-hero .hero-content {
    display: flex;
    gap: 60px;
    max-width: 1400px;
    margin: 0 auto;
    align-items: flex-start;
    /* Fix for visibility bug: Override homepage slider styles */
    opacity: 1;
    transform: none;
}

.hero-poster {
    flex-shrink: 0;
    position: relative;
}

.hero-poster img {
    width: 350px;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg), 0 0 30px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.hero-info {
    flex-grow: 1;
    padding-top: 20px;
}

.hero-info h1 {
    font-size: clamp(2.5rem, 4vw, 4rem);
    margin-bottom: 16px;
    font-weight: 800;
    line-height: 1.1;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.hero-info .meta {
    display: flex;
    gap: 20px;
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin-bottom: 24px;
    align-items: center;
    flex-wrap: wrap;
}

.rating-hero {
    background: rgba(255, 255, 255, 0.1);
    padding: 6px 12px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 600;
    color: var(--text-main);
}

.hero-info .descripcion {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--text-secondary);
    margin-bottom: 32px;
    max-width: 800px;
}

.hero-info .details {
    margin-top: 24px;
    color: var(--text-muted);
    line-height: 1.8;
    font-size: 0.95rem;
    background: rgba(255, 255, 255, 0.03);
    padding: 20px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.hero-info .details strong {
    color: var(--text-main);
    margin-right: 8px;
}

/* ========== EPISODES / GRID SYSTEM ========== */
.episodes-section {
    padding: 40px 0;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.season-select {
    background: var(--bg-surface);
    color: var(--text-main);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 8px 15px;
    border-radius: var(--radius-sm);
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
}

.episode-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    /* Smaller cards */
    gap: 20px;
}

.episode-card {
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: var(--transition);
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.05);
    display: block;
}

.episode-card:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: var(--shadow-glow);
    background: var(--bg-surface-hover);
    border-color: rgba(255, 255, 255, 0.1);
}

.episode.cast-card:hover {
    transform: translateY(-5px) scale(1.02);
    background: var(--bg-surface-hover);
    box-shadow: var(--shadow-glow);
    border-color: rgba(255, 255, 255, 0.1);
}

.episode-thumb {
    position: relative;
    padding-top: 56.25%;
    background: #000;
    overflow: hidden;
}

.episode-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.episode-card:hover .episode-thumb img {
    transform: scale(1.1);
}

.play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    background: rgba(124, 58, 237, 0.8);
    /* Primary color with opacity */
    backdrop-filter: blur(4px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: white;
    opacity: 0;
    transition: var(--transition);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    border: 2px solid rgba(255, 255, 255, 0.2);
    z-index: 10;
}

.episode-card:hover .play-overlay,
.play-overlay.active {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.play-overlay.active {
    background: var(--primary);
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.3);
    animation: pulse-play 2s infinite;
}

@keyframes pulse-play {
    0% {
        box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(124, 58, 237, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(124, 58, 237, 0);
    }
}

.episode-info {
    padding: 16px;
}

.episode-number {
    font-size: 0.8rem;
    color: var(--primary);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

.episode-title {
    font-size: 1.1rem;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-main);
}

.episode-description {
    font-size: 0.9rem;
    color: var(--text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.5;
}

/* ========== PLAYER & WATCH ========== */
.watch-layout {
    padding: 100px 0 60px;
    min-height: 100vh;
}

.watch-content {
    max-width: 1600px;
    /* Increased max-width for better 2-col layout */
    margin: 0 auto;
    padding: 0 4%;
}

/* New Grid Layout for Watch Page */
.watch-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 30px;
    align-items: start;
}

.player-column {
    width: 100%;
}

.episodes-sidebar {
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.05);
    overflow: hidden;
    max-height: 800px;
    /* Limit height */
    display: flex;
    flex-direction: column;
}

.sidebar-header {
    padding: 15px 20px;
    background: rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.sidebar-header h3 {
    margin: 0;
    font-size: 1.1rem;
    color: var(--text-main);
}

.sidebar-content {
    overflow-y: auto;
    padding: 15px;
    /* Custom Scrollbar for sidebar */
    scrollbar-width: thin;
    scrollbar-color: var(--primary) var(--bg-surface);
}

.sidebar-content::-webkit-scrollbar {
    width: 6px;
}

.sidebar-content::-webkit-scrollbar-track {
    background: var(--bg-surface);
}

.sidebar-content::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 3px;
}

/* Adjust episode card for sidebar */
.episodes-sidebar .episode-card {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    background: transparent;
    border: none;
    transform: none;
    box-shadow: none;
}

.episodes-sidebar .episode-card:hover {
    background: rgba(255, 255, 255, 0.05);
    transform: translateX(5px);
}

.episodes-sidebar .episode-thumbnail {
    width: 120px;
    height: 68px;
    /* 16:9 aspect ratio approx */
    flex-shrink: 0;
    border-radius: var(--radius-sm);
    position: relative;
    overflow: hidden;
}

.episodes-sidebar .episode-info {
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.episodes-sidebar .episode-title {
    font-size: 0.9rem;
    margin-bottom: 2px;
    line-height: 1.3;
}

.episodes-sidebar .episode-number {
    font-size: 0.75rem;
}

.video-header {
    margin-bottom: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.video-header h2 {
    font-size: 1.8rem;
    color: var(--text-main);
}

.video-container-single {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    background: #000;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.video-container-single iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.server-list {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.server-btn {
    background: var(--bg-surface);
    color: var(--text-secondary);
    padding: 10px 20px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 600;
    transition: var(--transition);
}

.server-btn:hover,
.server-btn.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
    box-shadow: var(--shadow-glow);
}

/* ========== COMMENTS IMPROVED ========== */
.comments-section {
    margin-top: 40px;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.6), rgba(30, 41, 59, 0.4));
    padding: 35px;
    border-radius: 16px;
    border: 1px solid rgba(139, 92, 246, 0.1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.comments-section h2 {
    color: #fff;
    font-size: 1.8rem;
    margin-bottom: 25px;
}

.comment-form-wrapper {
    margin-bottom: 35px;
}

.comment-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: rgba(15, 23, 42, 0.8);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid rgba(139, 92, 246, 0.2);
}

.comment-form textarea {
    width: 100%;
    min-height: 120px;
    background: rgba(30, 41, 59, 0.6);
    border: 2px solid rgba(139, 92, 246, 0.2);
    color: #fff;
    padding: 15px;
    border-radius: 10px;
    resize: vertical;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.6;
    transition: border-color 0.3s, background 0.3s;
}

.comment-form textarea:focus {
    outline: none;
    border-color: rgba(139, 92, 246, 0.6);
    background: rgba(30, 41, 59, 0.8);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}

.comment-item {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    padding: 20px;
    background: rgba(30, 41, 59, 0.4) !important;
    border-radius: 12px;
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.comment-item:hover {
    background: rgba(30, 41, 59, 0.6) !important;
    border-left-color: #8b5cf6;
    box-shadow: 0 4px 15px rgba(139, 92, 246, 0.1);
}

.comment-avatar {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, #8b5cf6, #3b82f6);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.2rem;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(139, 92, 246, 0.3);
}

.comment-content {
    flex-grow: 1;
    min-width: 0;
}

.comment-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: 10px;
}

.comment-user {
    font-weight: 700;
    color: #fff;
    margin-right: 10px;
    font-size: 1rem;
}

.comment-date {
    font-size: 0.85rem;
    color: rgba(203, 213, 225, 0.6);
    margin-left: 10px;
}

.comment-content p {
    color: rgba(226, 232, 240, 0.9);
    line-height: 1.7;
    margin: 0;
    word-wrap: break-word;
}

.comment-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.btn-reply-comment,
.btn-delete-comment {
    background: none;
    border: none;
    color: rgba(203, 213, 225, 0.6);
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s;
    padding: 5px 10px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.btn-reply-comment:hover {
    color: #8b5cf6;
    background: rgba(139, 92, 246, 0.1);
}

.btn-delete-comment:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

/* User Badges Display */
.user-badges {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-left: 10px;
    vertical-align: middle;
}

.badge-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 14px;
    font-size: 0.75rem;
    font-weight: 600;
    color: white;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s;
}

.badge-item:hover {
    transform: scale(1.05);
}

.badge-more {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 14px;
    font-size: 0.75rem;
    background: rgba(255, 255, 255, 0.15);
    color: rgba(203, 213, 225, 0.8);
    font-weight: 600;
}

/* Comment Form Button */
.comments-section .btn-primary,
#btn-comentar {
    background: linear-gradient(135deg, #8b5cf6, #3b82f6);
    color: white;
    padding: 12px 25px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(139, 92, 246, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
}

.comments-section .btn-primary:hover,
#btn-comentar:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(139, 92, 246, 0.5);
}

.comments-section .btn-primary:active,
#btn-comentar:active {
    transform: translateY(0);
}

.comments-section .btn-primary:disabled,
#btn-comentar:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

@media (max-width: 768px) {
    .comments-section {
        padding: 20px;
    }

    .comment-form {
        padding: 18px;
    }

    .comment-item {
        padding: 15px;
        gap: 12px;
    }

    .comment-avatar {
        width: 38px;
        height: 38px;
        font-size: 1rem;
    }
}

/* ========== RESPONSIVE WATCH LAYOUT ========== */
@media (max-width: 1024px) {
    .watch-grid {
        grid-template-columns: 1fr;
        /* Stack on smaller screens */
    }

    .episodes-sidebar {
        max-height: 500px;
    }
}

/* ========== SYSTEM & FORMS ========== */
/* Shared Auth Styles (Login/Register) */
.auth-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(rgba(15, 23, 42, 0.8), rgba(15, 23, 42, 0.9)),
        url('https://images.unsplash.com/photo-1574267432644-f610f5b45f91?w=1920') center/cover;
    padding: 20px;
}

.auth-box {
    background: rgba(30, 41, 59, 0.7);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 50px;
    border-radius: var(--radius-lg);
    width: 100%;
    max-width: 480px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    animation: fadeIn 0.5s ease-out;
}

.auth-box h2 {
    font-size: 2rem;
    margin-bottom: 10px;
    text-align: center;
    color: var(--text-main);
    font-weight: 700;
}

.auth-subtitle {
    text-align: center;
    color: var(--text-secondary);
    margin-bottom: 30px;
    font-size: 1rem;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-secondary);
    font-size: 0.9rem;
    font-weight: 500;
}

.form-control {
    width: 100%;
    padding: 14px 16px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-sm);
    color: var(--text-main);
    font-size: 1rem;
    transition: var(--transition);
}

.form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-glow);
    background: rgba(15, 23, 42, 0.8);
    outline: none;
}

.form-selector {
    width: 100%;
    padding: 14px 16px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-sm);
    color: var(--text-main);
    font-size: 1rem;
    cursor: pointer;
    appearance: none;
    /* Remove default arrow */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23cbd5e1'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 20px;
}

.form-selector:focus {
    border-color: var(--primary);
    outline: none;
}

.btn-auth {
    width: 100%;
    padding: 14px;
    background: var(--primary);
    color: white;
    border-radius: var(--radius-sm);
    font-weight: 700;
    font-size: 1rem;
    margin-top: 10px;
    box-shadow: var(--shadow-glow);
    transition: var(--transition);
    border: none;
    cursor: pointer;
}

.btn-auth:hover {
    background: var(--primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -5px var(--primary-glow);
}

.auth-footer {
    margin-top: 30px;
    text-align: center;
    font-size: 0.95rem;
    color: var(--text-secondary);
}

.auth-footer a {
    color: var(--secondary);
    font-weight: 600;
    text-decoration: none;
}

.auth-footer a:hover {
    text-decoration: underline;
}

.divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin: 20px 0;
}

/* Peticiones Form Specifics */
.peticiones-form-container {
    max-width: 800px;
    margin: 40px auto;
    background: var(--bg-surface);
    padding: 40px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.peticiones-form-container h1 {
    margin-bottom: 20px;
    color: var(--text-main);
    text-align: center;
}

.peticiones-form-container p {
    color: var(--text-secondary);
    text-align: center;
    margin-bottom: 30px;
}

/* CTA Peticiones Base Styles */
.cta-peticiones {
    background: linear-gradient(135deg, var(--bg-surface), var(--bg-main));
    padding: 60px 4%;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    margin: 60px 0;
    border-radius: var(--radius-md);
    box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.5);
    contain-intrinsic-size: 0 150px;
}

.cta-peticiones h2 {
    font-size: 2rem;
    margin-bottom: 16px;
    color: var(--text-main);
}

.cta-peticiones p {
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin-bottom: 30px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.btn-hero-featured {
    background: var(--secondary);
    color: white;
    padding: 12px 30px;
    border-radius: var(--radius-full);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition);
    box-shadow: var(--shadow-glow);
}

.btn-hero-featured:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}

.cta-peticiones__btn {
    font-size: 16px;
    padding: 10px 20px;
}

/* CTA Random */
.cta-random {
    background: linear-gradient(90deg, #1e293b 0%, #0f172a 100%);
    padding: 40px 0;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    contain-intrinsic-size: 0 150px;
}

.cta-random__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.cta-random__text {
    flex: 1;
    min-width: 300px;
}

.cta-random__title {
    font-size: 1.8rem;
    margin-bottom: 10px;
    background: linear-gradient(to right, #ffd700, #ffaa00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cta-random__desc {
    font-size: 1rem;
    color: #cbd5e1;
    max-width: 600px;
}

.cta-random__btn {
    background: linear-gradient(45deg, #ffd700, #ffaa00);
    color: #000;
    font-weight: 800;
    border: none;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

.cta-random__btn:hover {
    background: linear-gradient(45deg, #ffe36a, #ffc14d);
    color: #000;
    box-shadow: 0 6px 20px rgba(255, 193, 77, 0.4);
}

/* CTA Store */
.cta-store {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    padding: 50px 0;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    position: relative;
    overflow: hidden;
    contain-intrinsic-size: 0 200px;
}

.cta-store__glow {
    position: absolute;
    width: 300px;
    height: 300px;
    filter: blur(100px);
    border-radius: 50%;
}

.cta-store__glow--top {
    top: -50%;
    right: -10%;
    background: rgba(59, 130, 246, 0.1);
}

.cta-store__glow--bottom {
    bottom: -50%;
    left: -10%;
    background: rgba(251, 191, 36, 0.05);
}

.cta-store__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
    position: relative;
    z-index: 1;
}

.cta-store-content {
    flex: 1;
    min-width: 300px;
}

.cta-store__title {
    font-size: 2.2rem;
    margin-bottom: 15px;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 800;
}

.cta-store__icon {
    color: #3b82f6;
}

.cta-store__desc {
    font-size: 1.1rem;
    color: #94a3b8;
    max-width: 700px;
    line-height: 1.6;
}

.cta-store__actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.cta-store__btn {
    background: linear-gradient(45deg, #3b82f6, #2563eb);
    border: none;
    padding: 12px 30px;
    font-weight: 700;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.cta-store__btn:hover {
    background: linear-gradient(45deg, #4f8dff, #2f6bff);
    box-shadow: 0 6px 20px rgba(79, 141, 255, 0.45);
}

.cta-store__btn-secondary {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 12px 30px;
    font-weight: 600;
    border-radius: 12px;
    color: #fff;
}

.cta-store__btn-secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.25);
}

.cta-store__btn-coin {
    color: #fbbf24;
}

/* CTA Affiliate */
.cta-affiliate {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.9) 0%, rgba(15, 23, 42, 0.95) 100%);
    padding: 40px 0;
    margin-bottom: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    position: relative;
    overflow: hidden;
    contain-intrinsic-size: 0 200px;
}

.cta-affiliate__glow {
    position: absolute;
    width: 260px;
    height: 260px;
    filter: blur(90px);
    border-radius: 50%;
    opacity: 0.6;
}

.cta-affiliate__glow--top {
    top: -60%;
    left: -5%;
    background: rgba(59, 130, 246, 0.18);
}

.cta-affiliate__glow--bottom {
    bottom: -60%;
    right: -5%;
    background: rgba(251, 191, 36, 0.12);
}

.cta-affiliate__container {
    display: grid;
    grid-template-columns: minmax(90px, 140px) 1fr auto;
    align-items: center;
    gap: 24px;
    position: relative;
    z-index: 1;
}

.cta-affiliate__media {
    width: 100%;
    max-width: 140px;
    aspect-ratio: 1 / 1;
    border-radius: 18px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(2, 6, 23, 0.35);
}

.cta-affiliate__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cta-affiliate__icon {
    font-size: 2.5rem;
    color: #fbbf24;
}

.cta-affiliate__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fbbf24;
    background: rgba(251, 191, 36, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.25);
    padding: 4px 10px;
    border-radius: 999px;
    margin-bottom: 10px;
}

.cta-affiliate__title {
    font-size: 1.9rem;
    margin: 0 0 8px;
    color: #fff;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cta-affiliate__desc {
    font-size: 1.05rem;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
    max-width: 640px;
}

.cta-affiliate__actions {
    display: flex;
    align-items: center;
}

.cta-affiliate__btn {
    padding: 12px 26px;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.35);
    white-space: nowrap;
}

.cta-affiliate__btn:hover {
    box-shadow: 0 10px 24px rgba(59, 130, 246, 0.45);
}

@media (max-width: 900px) {
    .cta-affiliate__container {
        grid-template-columns: 100px 1fr;
    }

    .cta-affiliate__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .cta-affiliate__container {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .cta-affiliate__media {
        margin: 0 auto;
    }

    .cta-affiliate__actions {
        justify-content: center;
    }
}

/* --- UNAVAILABLE CONTENT MESSAGE --- */
.content-unavailable {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px;
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.05);
    min-height: 300px;
}

.unavailable-icon {
    font-size: 4rem;
    color: var(--text-secondary);
    margin-bottom: 20px;
    opacity: 0.5;
}

.content-unavailable h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: var(--text-main);
}

.content-unavailable p {
    color: var(--text-secondary);
    max-width: 500px;
    margin-bottom: 25px;
    line-height: 1.6;
}

.btn-request-telegram {
    background: #0088cc;
    /* Telegram Blue */
    color: white;
    padding: 12px 25px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: transform 0.2s, background 0.2s;
}

.btn-request-telegram:hover {
    background: #0099e6;
    transform: translateY(-2px);
}

/* Search Overlay */
.search-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    /* Darker backdrop */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    /* Start from top but centered horizontally */
    padding-top: 60px;
    padding-bottom: 20px;
}

.search-overlay.open {
    opacity: 1;
    visibility: visible;
}

/* New Card Container */
.search-box-card {
    background: #1e293b;
    /* Dark Slate */
    width: 90%;
    max-width: 1100px;
    max-height: 85vh;
    border-radius: var(--radius-lg);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    animation: slideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes slideUp {
    from {
        transform: translateY(50px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.search-header-section {
    padding: 30px 40px;
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    flex-shrink: 0;
}

.search-bar-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 25px;
}

.search-bar-wrapper input {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
    font-size: 2rem;
    color: var(--text-main);
    padding: 10px 0 10px 40px;
    /* Space for icon */
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    transition: var(--transition);
}

.search-bar-wrapper .search-icon {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    color: rgba(255, 255, 255, 0.3);
}

.search-bar-wrapper input:focus {
    border-color: var(--primary);
    outline: none;
}

.search-bar-wrapper input::placeholder {
    color: rgba(255, 255, 255, 0.15);
}

/* Search Filters */
.search-filters-overlay {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.filter-group-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-width: 140px;
}

.filter-group-item label {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
}

.filter-select,
.filter-input {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-main);
    padding: 10px 15px;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    width: 100%;
    cursor: pointer;
    transition: var(--transition);
}

.filter-select:hover,
.filter-select:focus,
.filter-input:hover,
.filter-input:focus {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--primary);
}

/* Custom arrow for selects */
.filter-select {
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 10px auto;
    padding-right: 40px;
    appearance: none;
    -webkit-appearance: none;
}

/* Search Results Area */
.search-results-container {
    padding: 30px 40px;
    overflow-y: auto;
    flex-grow: 1;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 25px;
    /* Custom Scrollbar */
    scrollbar-width: thin;
    scrollbar-color: var(--primary) rgba(0, 0, 0, 0.2);
}

.search-results-container::-webkit-scrollbar {
    width: 8px;
}

.search-results-container::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
}

.search-results-container::-webkit-scrollbar-thumb {
    background-color: var(--primary);
    border-radius: 4px;
}

/* Placeholder State */
.search-placeholder {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.1);
    padding: 40px 0;
}

.search-placeholder i {
    font-size: 4rem;
    margin-bottom: 15px;
}

.search-placeholder p {
    font-size: 1.2rem;
}

/* Result Card */
.movie-card-search {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    transition: all 0.3s ease;
    border-radius: var(--radius-md);
    overflow: hidden;
    position: relative;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    height: 100%;
}

.movie-card-search:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
    border-color: var(--primary);
}

.poster-wrapper-search {
    width: 100%;
    aspect-ratio: 2/3;
    overflow: hidden;
    position: relative;
}

.poster-wrapper-search img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.movie-card-search:hover .poster-wrapper-search img {
    transform: scale(1.05);
}

.info-search {
    padding: 12px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.info-search h3 {
    font-size: 0.95rem;
    color: var(--text-main);
    margin-bottom: 6px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.meta-search {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    color: var(--text-secondary);
    margin-top: auto;
}

.meta-search .type {
    background: rgba(255, 255, 255, 0.1);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.meta-search .rating {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #ffd700;
    font-weight: 600;
}

/* Close Button */
.close-search {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: none;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
    z-index: 10;
}

.close-search:hover {
    background: #e50914;
    transform: rotate(90deg);
}



/* ========== ADMIN PANEL ========== */

/* Admin Navigation Bar */
.admin-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(30, 41, 59, 0.95) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(124, 58, 237, 0.3);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

.admin-nav .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
}

.admin-nav .nav-links {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.admin-nav .nav-links a {
    padding: 10px 20px;
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-secondary);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.admin-nav .nav-links a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(124, 58, 237, 0.2), transparent);
    transition: left 0.5s ease;
}

.admin-nav .nav-links a:hover::before {
    left: 100%;
}

.admin-nav .nav-links a:hover,
.admin-nav .nav-links a.active {
    color: var(--text-main);
    background: rgba(124, 58, 237, 0.2);
    box-shadow: 0 0 20px rgba(124, 58, 237, 0.3);
}

.admin-nav .btn-back {
    padding: 10px 24px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    color: white;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 0.9rem;
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.4);
    transition: var(--transition);
}

.admin-nav .btn-back:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(124, 58, 237, 0.6);
}

/* Admin Container */
.admin-container {
    padding-top: 120px;
    min-height: 80vh;
    padding-bottom: 60px;
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 4%;
    padding-right: 4%;
    position: relative;
    z-index: 1;
}

/* Admin Welcome Section */
.admin-welcome {
    text-align: center;
    padding: 80px 20px;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.1) 0%, rgba(6, 182, 212, 0.1) 100%);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(124, 58, 237, 0.2);
    margin-bottom: 40px;
}

.admin-welcome h2 {
    font-size: 2.5rem;
    margin-bottom: 15px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.admin-welcome p {
    font-size: 1.1rem;
    color: var(--text-secondary);
}

/* --- TOP 10 STYLES (BADGE STYLE) --- */
.top-10-card {
    position: relative;
    display: block;
    margin-right: 0;
    /* Reset spacing */
    padding: 10px;
    /* Add some padding for the badge to hang out if needed, or just standard */
}

.rank-number {
    position: absolute;
    top: -8px;
    left: -8px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: white;
    font-size: 1.4rem;
    font-weight: 900;
    border-radius: 10px;
    z-index: 10;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-family: 'Outfit', sans-serif;
    transition: transform 0.3s ease;
}

/* Top 3 Special Styles */
.rank-number.rank-1 {
    background: linear-gradient(135deg, #FFD700 0%, #FDB931 100%);
    color: #000;
    text-shadow: none;
    border-color: #FFD700;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.4);
    font-size: 1.6rem;
    width: 50px;
    height: 50px;
    top: -12px;
    left: -12px;
}

.rank-number.rank-2 {
    background: linear-gradient(135deg, #E0E0E0 0%, #BDBDBD 100%);
    color: #000;
    text-shadow: none;
    border-color: #E0E0E0;
    box-shadow: 0 0 20px rgba(224, 224, 224, 0.3);
}

.rank-number.rank-3 {
    background: linear-gradient(135deg, #CD7F32 0%, #A0522D 100%);
    color: white;
    border-color: #CD7F32;
    box-shadow: 0 0 20px rgba(205, 127, 50, 0.3);
}

/* Hover Effect */
.top-10-card:hover .rank-number {
    transform: scale(1.1) rotate(-10deg);
}

.top-10-card .movie-card {
    z-index: 1;
    min-width: auto;
    /* Reset fixed width */
    width: 100%;
    height: auto;
    margin-left: 0;
    /* Reset overlap */
    box-shadow: var(--shadow-md);
    border: none;
    border-radius: var(--radius-md);
    transform: none;
    /* Reset 3D */
    transition: var(--transition);
}

/* Hover Effects */
.top-10-card:hover .movie-card {
    transform: translateY(-5px);
    box-shadow: var(--shadow-glow);
    z-index: 2;
}

/* --- COOKIE BANNER STYLES --- */
.cookie-banner {
    position: fixed;
    bottom: -100%;
    left: 0;
    width: 100%;
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 9999;
    padding: 20px;
    transition: bottom 0.5s ease-in-out;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.5);
}

.cookie-banner.show {
    bottom: 0;
}

.cookie-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.cookie-content p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.cookie-content a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
}

.cookie-content a:hover {
    text-decoration: underline;
}

.btn-accept {
    background: var(--primary);
    color: white;
    border: none;
    padding: 10px 25px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    white-space: nowrap;
}

.btn-accept:hover {
    background: var(--primary-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}



/* Admin Cards */
.admin-card {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.9) 0%, rgba(15, 23, 42, 0.95) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 40px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(124, 58, 237, 0.2);
    margin-bottom: 30px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    transition: var(--transition);
    position: relative;
    z-index: 5;
}

.admin-card:hover {
    border-color: rgba(124, 58, 237, 0.4);
    box-shadow: 0 12px 40px rgba(124, 58, 237, 0.2);
    transform: translateY(-2px);
}

.admin-card h2 {
    margin-bottom: 25px;
    color: var(--text-main);
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 15px;
    border-bottom: 2px solid rgba(124, 58, 237, 0.3);
}

.admin-card h2 i {
    color: var(--primary);
    font-size: 1.5rem;
}

/* Form Groups */
.form-group {
    margin-bottom: 25px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-main);
    font-size: 0.95rem;
}

.form-control,
.admin-container input[type="text"],
.admin-container input[type="email"],
.admin-container input[type="password"],
.admin-container select,
.admin-container textarea {
    width: 100%;
    padding: 14px 18px;
    background: rgba(15, 23, 42, 0.6);
    border: 2px solid rgba(124, 58, 237, 0.2);
    color: var(--text-main);
    border-radius: var(--radius-md);
    font-size: 1rem;
    transition: var(--transition);
    font-family: 'Outfit', sans-serif;
}

.form-control:focus,
.admin-container input[type="text"]:focus,
.admin-container input[type="email"]:focus,
.admin-container input[type="password"]:focus,
.admin-container select:focus,
.admin-container textarea:focus {
    outline: none;
    border-color: var(--primary);
    background: rgba(15, 23, 42, 0.8);
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.1), 0 0 20px rgba(124, 58, 237, 0.3);
}

.form-control::placeholder {
    color: var(--text-muted);
}

.form-control:disabled,
.admin-container input:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: rgba(15, 23, 42, 0.4);
}

/* Search Wrapper */
.search-wrapper {
    position: relative;
}

.search-results {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    background: rgba(30, 41, 59, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 100;
    border: 1px solid rgba(124, 58, 237, 0.3);
    border-radius: var(--radius-md);
    max-height: 400px;
    overflow-y: auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

.result-item {
    display: flex;
    gap: 15px;
    padding: 15px;
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: var(--transition);
}

.result-item:last-child {
    border-bottom: none;
}

.result-item:hover {
    background: rgba(124, 58, 237, 0.2);
    padding-left: 20px;
}

.result-item img {
    width: 50px;
    height: 75px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.result-item div {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.result-item strong {
    color: var(--text-main);
    font-size: 1rem;
    margin-bottom: 4px;
}

.result-item span {
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* Buttons */
.btn-primary,
.admin-container button[type="submit"] {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    color: white;
    border: none;
    padding: 14px 32px;
    border-radius: var(--radius-full);
    cursor: pointer;
    font-weight: 700;
    font-size: 1rem;
    transition: var(--transition);
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.4);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-primary:hover,
.admin-container button[type="submit"]:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(124, 58, 237, 0.6);
}

.btn-primary:active,
.admin-container button[type="submit"]:active {
    transform: translateY(-1px);
}

.btn-completar {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: var(--radius-md);
    cursor: pointer;
    font-weight: 600;
    transition: var(--transition);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}

.btn-completar:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.5);
}

/* Alert Boxes */
.alert-box,
.alert {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.15) 100%);
    border: 1px solid rgba(16, 185, 129, 0.4);
    border-left: 4px solid #10b981;
    color: var(--text-main);
    padding: 16px 20px;
    border-radius: var(--radius-md);
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.1);
    font-weight: 500;
}

.alert.error {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(220, 38, 38, 0.15) 100%);
    border-color: rgba(239, 68, 68, 0.4);
    border-left-color: #ef4444;
    box-shadow: 0 4px 15px rgba(239, 68, 68, 0.1);
}

/* Info Text */
.info-text {
    background: rgba(6, 182, 212, 0.1);
    border-left: 3px solid var(--secondary);
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-size: 0.95rem;
    margin-bottom: 20px;
}

/* Login Box (for admin login) */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--bg-main) 0%, #1e1b4b 100%);
    padding: 20px;
}

.login-box {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.8) 0%, rgba(15, 23, 42, 0.9) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 50px 40px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(124, 58, 237, 0.3);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    max-width: 450px;
    width: 100%;
}

.login-box h2 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 2rem;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.login-box input {
    width: 100%;
    padding: 14px 18px;
    margin-bottom: 20px;
    background: rgba(15, 23, 42, 0.6);
    border: 2px solid rgba(124, 58, 237, 0.2);
    color: var(--text-main);
    border-radius: var(--radius-md);
    font-size: 1rem;
    transition: var(--transition);
}

.login-box input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.1);
}

.login-box button {
    width: 100%;
    padding: 14px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    color: white;
    border: none;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 1.05rem;
    cursor: pointer;
    transition: var(--transition);
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.4);
}

.login-box button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(124, 58, 237, 0.6);
}

/* ========== USER PROFILE PAGE ========== */

/* Profile Layout */
.profile-layout {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    margin-top: 30px;
}

/* Profile Sidebar */
.profile-sidebar {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.6) 0%, rgba(15, 23, 42, 0.8) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 40px 30px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(124, 58, 237, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    text-align: center;
    position: sticky;
    top: 120px;
    height: fit-content;
}

/* Avatar Upload */
.avatar-upload-wrapper {
    position: relative;
    width: 150px;
    height: 150px;
    margin: 0 auto 25px;
}

.profile-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--primary);
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.4);
    transition: var(--transition);
}

.avatar-upload-wrapper:hover .profile-avatar {
    transform: scale(1.05);
    box-shadow: 0 12px 32px rgba(124, 58, 237, 0.6);
}

.avatar-edit-button {
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.5);
    transition: var(--transition);
}

.avatar-edit-button:hover {
    transform: scale(1.1) rotate(15deg);
    box-shadow: 0 6px 20px rgba(124, 58, 237, 0.7);
}

.avatar-edit-button i {
    color: white;
    font-size: 1.1rem;
}

.avatar-edit-button input[type="file"] {
    display: none;
}

.profile-sidebar h3 {
    font-size: 1.5rem;
    margin-bottom: 8px;
    color: var(--text-main);
}

.profile-email {
    color: var(--text-muted);
    font-size: 0.95rem;
    margin-bottom: 30px;
}

/* Profile Stats */
.profile-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 20px;
}

.stat-item {
    background: rgba(124, 58, 237, 0.1);
    padding: 20px 15px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(124, 58, 237, 0.2);
    transition: var(--transition);
}

.stat-item:hover {
    background: rgba(124, 58, 237, 0.15);
    border-color: rgba(124, 58, 237, 0.4);
    transform: translateY(-3px);
}

.stat-item span {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 5px;
}

.stat-item p {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin: 0;
}

/* Profile Content */
.profile-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.profile-content .admin-container {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.6) 0%, rgba(15, 23, 42, 0.8) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 35px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(124, 58, 237, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    transition: var(--transition);
}

.profile-content .admin-container:hover {
    border-color: rgba(124, 58, 237, 0.4);
    box-shadow: 0 12px 40px rgba(124, 58, 237, 0.2);
}

.profile-content h2 {
    font-size: 1.5rem;
    margin-bottom: 25px;
    color: var(--text-main);
    padding-bottom: 15px;
    border-bottom: 2px solid rgba(124, 58, 237, 0.3);
}

.profile-content label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-main);
    font-size: 0.95rem;
}

.profile-content input[type="text"],
.profile-content input[type="email"],
.profile-content input[type="password"] {
    width: 100%;
    padding: 14px 18px;
    margin-bottom: 20px;
    background: rgba(15, 23, 42, 0.6);
    border: 2px solid rgba(124, 58, 237, 0.2);
    color: var(--text-main);
    border-radius: var(--radius-md);
    font-size: 1rem;
    transition: var(--transition);
}

.profile-content input:focus {
    outline: none;
    border-color: var(--primary);
    background: rgba(15, 23, 42, 0.8);
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.1), 0 0 20px rgba(124, 58, 237, 0.3);
}

.profile-content button[type="submit"] {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    color: white;
    border: none;
    padding: 14px 32px;
    border-radius: var(--radius-full);
    cursor: pointer;
    font-weight: 700;
    font-size: 1rem;
    transition: var(--transition);
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.4);
}

.profile-content button[type="submit"]:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(124, 58, 237, 0.6);
}

/* Danger Zone */
.danger-zone {
    border-color: rgba(239, 68, 68, 0.3) !important;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.05) 0%, rgba(220, 38, 38, 0.05) 100%) !important;
}

.danger-zone h2 {
    color: #ef4444;
    border-bottom-color: rgba(239, 68, 68, 0.3) !important;
}

.danger-zone p {
    color: var(--text-secondary);
    margin-bottom: 20px;
}

.danger-zone button {
    background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%) !important;
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3) !important;
}

.danger-zone button:hover:not(:disabled) {
    box-shadow: 0 8px 25px rgba(220, 38, 38, 0.5) !important;
}

/* ========== RESPONSIVE DESIGN ========== */

/* Extra Large Screens - 1440px+ */
@media (min-width: 1440px) {
    .container {
        max-width: 1600px;
    }

    .hero-title {
        font-size: 5rem;
    }
}

/* Large Desktop - 1200px to 1440px */
@media (max-width: 1440px) {
    .container {
        width: 94%;
    }

    .hero-swiper {
        height: 85vh;
    }
}

/* Desktop - 1024px to 1200px */
@media (max-width: 1200px) {
    .hero-title {
        font-size: clamp(2.5rem, 5vw, 3.5rem);
    }

    .hero-content {
        max-width: 700px;
    }

    .dropdown-content {
        min-width: 300px;
        grid-template-columns: 1fr 1fr;
    }

    .footer-content {
        grid-template-columns: 2fr 1fr 1fr;
        gap: 30px;
    }
}

/* Tablet Landscape - 1024px */
@media (max-width: 1024px) {
    :root {
        --header-height: 70px;
    }

    header {
        padding: 15px 3%;
    }

    header.scrolled {
        padding: 8px 3%;
    }

    .logo {
        font-size: 1.6rem;
        margin-right: 30px;
    }

    .nav-principal {
        gap: 20px;
    }

    .nav-principal a {
        font-size: 0.9rem;
    }

    .hero-swiper {
        height: 90vh;
    }

    .hero-container {
        padding-top: calc(var(--header-height) + 70px);
    }

    .hero-title {
        font-size: clamp(2rem, 4.5vw, 3rem);
    }

    .hero-description {
        font-size: 1rem;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }

    .hero-content {
        max-width: 650px;
    }

    /* Detail Pages */
    .hero-content {
        gap: 40px;
    }

    .hero-poster img {
        width: 280px;
    }

    .hero-info h1 {
        font-size: clamp(2rem, 4vw, 3rem);
    }

    /* Carousels */
    .swiper-container {
        padding: 0 3%;
    }

    .carousel-header {
        padding: 0 3%;
    }

    /* Watch Grid */
    .watch-grid {
        grid-template-columns: 1fr;
    }

    .episodes-sidebar {
        max-height: 500px;
    }

    /* Footer */
    .footer-content {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}











/* High DPI Screens */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}



/* Print Styles */
@media print {

    header,
    footer,
    .nav-usuario,
    .hero-actions,
    .server-list,
    .cookie-banner {
        display: none !important;
    }

    body {
        background: white;
        color: black;
    }
}

/* --- WELCOME MODAL --- */
.welcome-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.welcome-overlay.show {
    opacity: 1;
    visibility: visible;
}

.welcome-modal {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 40px;
    border-radius: var(--radius-lg);
    max-width: 500px;
    width: 90%;
    text-align: center;
    transform: scale(0.9);
    transition: var(--transition);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.welcome-overlay.show .welcome-modal {
    transform: scale(1);
}

.welcome-icon {
    font-size: 3rem;
    color: var(--primary);
    margin-bottom: 20px;
}

.welcome-modal h2 {
    font-size: 1.8rem;
    margin-bottom: 15px;
    color: white;
}

.welcome-modal p {
    color: var(--text-secondary);
    margin-bottom: 30px;
    line-height: 1.6;
}

.btn-welcome {
    background: var(--primary);
    color: white;
    border: none;
    padding: 12px 30px;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
}

.btn-welcome:hover {
    background: var(--primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(124, 58, 237, 0.4);
}

.btn-hero-primary {
    background: var(--primary);
    color: white;
    border: none;
    padding: 12px 30px;
    border-radius: 50px;
    font-size: 1rem;
    position: relative;
    overflow: hidden;
    /* For shine effect */
}

.btn-hero-primary::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    transition: none;
}

.btn-hero-primary:hover::after {
    animation: shine 0.75s;
}

@keyframes shine {
    100% {
        left: 125%;
    }
}

.btn-hero-primary:hover {
    background: var(--primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(124, 58, 237, 0.4);
}

/* --- AD WARNING --- */
.ad-warning {
    background: rgba(234, 179, 8, 0.1);
    /* Yellow tint */
    border: 1px solid rgba(234, 179, 8, 0.3);
    border-left: 4px solid #eab308;
    padding: 15px 20px;
    border-radius: var(--radius-sm);
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.ad-warning i {
    color: #eab308;
    font-size: 1.2rem;
    margin-top: 3px;
}

.ad-warning p {
    color: #eab308;
    /* Or white/lighter yellow */
    font-size: 0.95rem;
    margin: 0;
    line-height: 1.5;
}

.ad-warning strong {
    font-weight: 700;
    display: block;
    margin-bottom: 4px;
}

/* ========== AD ALERT ========== */
.ad-alert {
    background-color: rgba(250, 204, 21, 0.1);
    /* Yellow background with opacity */
    border: 1px solid rgba(250, 204, 21, 0.3);
    border-radius: var(--radius-sm);
    padding: 15px;
    margin-bottom: 20px;
    animation: fadeIn 0.5s ease-in-out;
    position: relative;
    z-index: 100;
    /* Ensure it's above the iframe */
}

.ad-alert-content {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #facc15;
    /* Yellow text */
    font-size: 0.95rem;
}

.ad-alert-content i.fa-exclamation-triangle {
    font-size: 1.2rem;
}

.ad-alert-content span {
    flex-grow: 1;
    color: #fef08a;
    /* Lighter yellow for text */
}

.ad-alert-content strong {
    color: #facc15;
}

.close-alert {
    background: transparent;
    border: none;
    color: #facc15;
    cursor: pointer;
    font-size: 1.1rem;
    padding: 5px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}

.close-alert:hover {
    background: rgba(250, 204, 21, 0.2);
    transform: scale(1.1);
}

/* ========== SOCIAL SHARE BUTTONS ========== */
.share-section {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.share-section h3 {
    font-size: 1.1rem;
    margin-bottom: 15px;
    color: var(--text-secondary);
}

.share-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-share {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    color: white;
    font-weight: 500;
    font-size: 0.9rem;
    transition: var(--transition);
    border: none;
}

.btn-share:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}

.btn-share.facebook {
    background-color: #1877f2;
}

.btn-share.twitter {
    background-color: #000000;
    border: 1px solid #333;
}

.btn-share.whatsapp {
    background-color: #25d366;
}

.btn-share.telegram {
    background-color: #0088cc;
}

.btn-share.instagram {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.btn-share.discord {
    background-color: #5865f2;
}



/* Notificaciones */
.notifications-wrapper {
    position: relative;
    margin-right: 15px;
}

.notif-btn {
    position: relative;
    font-size: 1.2rem;
    color: var(--text-secondary);
    cursor: pointer;
    transition: var(--transition);
}

.notif-btn:hover {
    color: var(--text-main);
}

.notif-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #e50914;
    color: white;
    font-size: 0.7rem;
    font-weight: bold;
    padding: 2px 5px;
    border-radius: 10px;
    min-width: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.notif-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    width: 300px;
    background: var(--bg-surface);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    display: none;
    z-index: 1002;
    overflow: hidden;
    margin-top: 10px;
}

.notif-dropdown.active {
    display: block;
}

.notif-header {
    padding: 10px 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    font-size: 0.9rem;
}

.mark-read-all {
    font-size: 0.75rem;
    color: var(--secondary);
    cursor: pointer;
}

.notif-list {
    max-height: 300px;
    overflow-y: auto;
}

.notif-item {
    padding: 10px 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.notif-item.unread {
    background: rgba(124, 58, 237, 0.1);
    /* Primary tint */
    color: var(--text-main);
    border-left: 3px solid var(--primary);
}

.notif-date {
    font-size: 0.7rem;
    color: var(--text-muted);
    margin-top: 4px;
}

.notif-empty {
    padding: 20px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* Lists Redesign */
.lists-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 24px;
}

.list-card {
    background: var(--bg-surface);
    border-radius: 8px;
    padding: 16px;
    transition: background 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    display: block;
    position: relative;
    height: 100%;
}

.list-card:hover {
    background: var(--bg-surface-hover);
}

.list-collage {
    aspect-ratio: 1/1;
    background: #282828;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.list-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.list-collage.simple {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #333;
}

.list-collage .no-cover {
    font-size: 3rem;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}



.list-info h3 {
    font-size: 1rem;
    margin-bottom: 4px;
    color: var(--text-main);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.list-info p {
    font-size: 0.85rem;
    color: var(--text-muted);
}

.create-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 250px;
    border: 2px dashed rgba(255, 255, 255, 0.1);
    background: transparent;
}

.create-card:hover {
    border-color: var(--primary);
    background: rgba(255, 255, 255, 0.05);
}

.create-icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--bg-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: var(--transition);
}

.create-card:hover .create-icon-wrapper {
    background: var(--primary);
    transform: scale(1.1);
}

.create-icon-wrapper i {
    font-size: 1.5rem;
    color: var(--text-main);
}

.btn-delete-list {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
}

.list-card:hover .btn-delete-list {
    opacity: 1;
}

.btn-delete-list:hover {
    background: #e50914;
}

/* Pagination */
.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 40px;
    padding: 20px 0;
}

.btn-pagination {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 10px 20px;
    border-radius: var(--radius-full);
    text-decoration: none;
    font-weight: 600;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-pagination:hover:not(.disabled) {
    background: var(--primary);
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}

.btn-pagination.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: rgba(255, 255, 255, 0.05);
}

.pagination-info {
    color: var(--text-muted);
    font-size: 0.9rem;
    font-weight: 500;
}



/* Series Status Badges */
.serie-status-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
    z-index: 10;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    letter-spacing: 0.5px;
}

.serie-status-badge.active {
    background: linear-gradient(45deg, #10b981, #059669);
    /* Green */
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.serie-status-badge.ended {
    background: linear-gradient(45deg, #ef4444, #b91c1c);
    /* Red */
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.next-episode-date {
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;
    background: rgba(15, 23, 42, 0.9);
    color: #fff;
    padding: 8px;
    border-radius: 6px;
    font-size: 0.85rem;
    text-align: center;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-weight: 500;
}

.next-episode-date i {
    color: var(--primary);
}

/* ========== MODAL ========== */
.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(2, 6, 23, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.modal-backdrop.active {
    opacity: 1;
    visibility: visible;
}

.modal-content {
    background: rgba(15, 23, 42, 0.95);
    width: 100%;
    max-width: 900px;
    max-height: 90vh;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05);
    overflow-y: auto;
    position: relative;
    transform: scale(0.95);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
}

.modal-backdrop.active .modal-content {
    transform: scale(1);
}

.modal-header {
    padding: 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: start;
    position: sticky;
    top: 0;
    background: var(--bg-surface);
    z-index: 10;
}

.modal-close {
    background: rgba(255, 255, 255, 0.1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-main);
    transition: var(--transition);
    cursor: pointer;
}

.modal-close:hover {
    background: var(--primary);
    transform: rotate(90deg);
}

.modal-body {
    padding: 25px;
}

.collection-items-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.collection-item {
    display: block;
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: var(--transition);
}

.collection-item:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.collection-item img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
}

.collection-item-info {
    padding: 10px;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    backdrop-filter: blur(4px);
}

.collection-item-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ========== NETFLIX-STYLE MOBILE OPTIMIZATIONS ========== */

/* Mobile Bottom Navigation */
.mobile-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(15, 23, 42, 0.98);
    /* Almost opaque */
    backdrop-filter: blur(15px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 8px 0 20px;
    /* Extra padding for safe area */
    z-index: 9999;
    justify-content: space-around;
    align-items: center;
    box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.5);
}

.nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    color: var(--text-muted);
    font-size: 0.65rem;
    text-decoration: none;
    transition: var(--transition);
    width: 20%;
    position: relative;
}

.nav-item i {
    font-size: 1.4rem;
    margin-bottom: 2px;
    transition: transform 0.2s;
}

.nav-item.active {
    color: white;
}

.nav-item.active i {
    color: white;
    transform: translateY(-2px);
}

.nav-avatar {
    width: 26px;
    height: 26px;
    border-radius: 4px;
    object-fit: cover;
    border: 2px solid transparent;
    transition: border-color 0.2s;
}

.nav-item.active .nav-avatar {
    border-color: white;
}









/* ========== MOBILE HOME PAGE OPTIMIZATION (Netflix Style) ========== */

/* Top Filter Bar */
.mobile-top-bar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 15px 20px;
    align-items: center;
    justify-content: space-between;
    background: rgba(2, 6, 23, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.top-bar-logo img {
    height: 30px;
}

.top-bar-filters {
    display: flex;
    gap: 20px;
}

.top-bar-filters a {
    color: white;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

.mobile-hero-poster-wrapper {
    display: none;
}

.hero-tags-mobile {
    display: none;
    gap: 5px;
    color: #fff;
    font-size: 0.85rem;
    margin-bottom: 10px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
}

/* .desktop-only { display: block; } REMOVED to prevent flex override */


/* ========== TOAST NOTIFICATIONS ========== */
.toast-container {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 15px;
    pointer-events: none;
}

.toast-notification {
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-left: 4px solid var(--primary);
    padding: 16px 24px;
    border-radius: var(--radius-sm);
    color: var(--text-main);
    font-weight: 500;
    box-shadow: var(--shadow-lg), 0 0 20px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 300px;
    transform: translateX(100%);
    opacity: 0;
    animation: slide-in-toast 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    pointer-events: auto;
}

.toast-notification.success {
    border-left-color: #10b981;
}

.toast-notification.error {
    border-left-color: #ef4444;
}

.toast-notification.info {
    border-left-color: var(--secondary);
}

.toast-notification i {
    font-size: 1.2rem;
}

.toast-notification.success i {
    color: #10b981;
}

.toast-notification.error i {
    color: #ef4444;
}

.toast-notification.info i {
    color: var(--secondary);
}

.toast-notification.hiding {
    animation: slide-out-toast 0.4s ease-in forwards;
}

@keyframes slide-in-toast {
    0% {
        transform: translateX(100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slide-out-toast {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        transform: translateX(100%);
        opacity: 0;
    }
}

/* ========== MOBILE UI REFINEMENTS (Logo & Badges) ========== */

/* Mobile Text Logo */
.logo-text {
    font-family: 'Bebas Neue', sans-serif;
    /* Assuming this font is available or similar bold font */
    font-size: 1.5rem;
    font-weight: 700;
    color: #e50914;
    /* Netflix Red */
    letter-spacing: 1px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.logo-highlight {
    color: white;
}



/* ========== MOBILE UI REFINEMENTS (Round 2) ========== */

/* 1. Logo Color - Neon Purple */
.logo-text {
    color: var(--primary) !important;
    text-shadow: 0 0 10px rgba(124, 58, 237, 0.6);
    /* Glow effect */
}



/* ========== MOBILE UI REFINEMENTS (Round 3) ========== */

/* 1. Scrollable Bottom Nav */


/* ========== MOBILE RESPONSIVENESS FIXES ========== */

/* Prevent Horizontal Scroll Globally */
html,
body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

/* Constrain Carousels on Mobile */

/* SEO Text Block */
.seo-text-block {
    margin-top: 60px;
    margin-bottom: 40px;
    padding: 30px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.05);
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.6;
    text-align: justify;
}

.seo-text-block h3 {
    font-size: 1.2rem;
    color: var(--text-main);
    margin-bottom: 15px;
    font-weight: 600;
}

.seo-text-block p {
    margin-bottom: 15px;
}

.seo-text-block strong {
    color: var(--primary);
}

/* ========== MOBILE CLEANUP (Hide Desktop Nav) ========== */
/* Episodes List Grid (Catalog Style) */
.episodios-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
}

/* ========== ADMIN PANEL ========== */
.admin-container {
    padding-bottom: 100px;
}

.admin-welcome h2 {
    font-size: 2.5rem;
    margin-bottom: 10px;
    background: linear-gradient(135deg, var(--primary) 0%, #fff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.admin-welcome p {
    font-size: 1.1rem;
    color: var(--text-secondary);
}

/* Admin Cards (Dashboard) */
.admin-card {
    background: var(--bg-surface);
    padding: 30px 20px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow-md);
}

.admin-card:hover {
    transform: translateY(-5px);
    background: var(--bg-surface-hover);
    box-shadow: var(--shadow-glow);
    border-color: rgba(124, 58, 237, 0.3);
}

.admin-card i {
    font-size: 3rem;
    margin-bottom: 20px;
    transition: var(--transition);
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.1));
}

.admin-card:hover i {
    transform: scale(1.1) rotate(5deg);
    filter: drop-shadow(0 0 15px var(--primary));
}

.admin-card h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-main);
}

/* Admin Tables */
.admin-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
    /* Spacing between rows */
    margin-top: 20px;
}

.admin-table th {
    text-align: left;
    padding: 15px;
    color: var(--text-secondary);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.admin-table td {
    background: var(--bg-surface);
    padding: 15px;
    vertical-align: middle;
    border-top: 1px solid rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
}

.admin-table tr td:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-left: 1px solid rgba(255, 255, 255, 0.02);
}

.admin-table tr td:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-right: 1px solid rgba(255, 255, 255, 0.02);
}

.admin-table tr:hover td {
    background: var(--bg-surface-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

/* Admin Forms */
.form-group {
    margin-bottom: 25px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-main);
    font-weight: 600;
}

.form-control {
    width: 100%;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-md);
    color: white;
    font-size: 1rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
}

.form-control:focus {
    outline: none;
    border-color: var(--primary);
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 0 0 1px var(--primary), 0 0 15px rgba(139, 92, 246, 0.2);
    transform: translateY(-1px);
}

.form-control::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

/* Search Results in Admin */
.search-wrapper {
    position: relative;
}

.search-results {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--bg-surface);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    max-height: 300px;
    overflow-y: auto;
    z-index: 100;
    box-shadow: var(--shadow-lg);
}

.result-item {
    display: flex;
    gap: 15px;
    padding: 12px;
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: var(--transition);
}

.result-item:hover {
    background: var(--bg-surface-hover);
}

.result-item img {
    width: 40px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
}

/* Badges */
.badge {
    padding: 5px 10px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-warning {
    background: rgba(234, 179, 8, 0.2);
    color: #facc15;
    border: 1px solid rgba(234, 179, 8, 0.3);
}

.badge-success {
    background: rgba(34, 197, 94, 0.2);
    color: #4ade80;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

/* Small Buttons */
.btn-small {
    padding: 6px 12px;
    font-size: 0.85rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    transition: var(--transition);
}

.btn-small:hover {
    background: var(--primary);
    color: white;
}

/* Switch CSS */
.switch {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 24px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.1);
    transition: .4s;
    border-radius: 34px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

input:checked+.slider {
    background-color: var(--primary);
    border-color: var(--primary);
}

input:focus+.slider {
    box-shadow: 0 0 1px var(--primary);
}

input:checked+.slider:before {
    transform: translateX(22px);
}

/* Admin Tabs */
.tabs-container {
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    gap: 20px;
}

.tab-link {
    background-color: transparent;
    color: var(--text-secondary);
    border: none;
    outline: none;
    cursor: pointer;
    padding: 15px 5px;
    transition: 0.3s;
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 2px solid transparent;
    position: relative;
}

.tab-link:hover {
    color: var(--text-main);
}

.tab-link.active {
    color: var(--primary);
    border-bottom: 2px solid var(--primary);
}

.tab-content {
    animation: fadeEffect 0.5s;
}

@keyframes fadeEffect {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Content Manage Table (Specifics) */
.content-manage-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
}

.content-manage-table th {
    text-align: left;
    padding: 15px;
    color: var(--text-secondary);
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.content-manage-table td {
    background: var(--bg-surface);
    padding: 15px;
    vertical-align: middle;
    border-top: 1px solid rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
}

.content-manage-table tr td:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-left: 1px solid rgba(255, 255, 255, 0.02);
}

.content-manage-table tr td:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-right: 1px solid rgba(255, 255, 255, 0.02);
}

.content-manage-table tr:hover td {
    background: var(--bg-surface-hover);
}

/* Platform Select */
.platform-select {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    width: 100%;
}

/* Action Buttons in Table */
.btn-accion {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    margin-right: 5px;
}

.btn-accion.edit {
    background: rgba(59, 130, 246, 0.1);
    color: #60a5fa;
    border: 1px solid rgba(59, 130, 246, 0.2);
}

.btn-accion.edit:hover {
    background: rgba(59, 130, 246, 0.2);
}

.btn-accion.refresh {
    background: rgba(16, 185, 129, 0.1);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.btn-accion.refresh:hover {
    background: rgba(16, 185, 129, 0.2);
}

.btn-accion.delete {
    background: rgba(239, 68, 68, 0.1);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.btn-accion.delete:hover {
    background: rgba(239, 68, 68, 0.2);
}

/* Episode Management Admin */
.form-selector {
    background: var(--bg-surface);
    padding: 20px;
    border-radius: var(--radius-md);
    margin-bottom: 30px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.form-selector select {
    width: 100%;
    padding: 12px;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
    border-radius: var(--radius-sm);
    font-size: 1rem;
    margin-top: 10px;
}

.episodio-lista-admin {
    display: grid;
    gap: 15px;
}

.episodio-lista-admin h3 {
    margin-top: 20px;
    margin-bottom: 10px;
    color: var(--primary);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 5px;
}

.episodio-item-admin {
    background: var(--bg-surface);
    padding: 15px;
    border-radius: var(--radius-sm);
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.episodio-item-admin label {
    font-weight: 600;
    color: var(--text-main);
}

.episodio-item-admin input {
    width: 100%;
    padding: 10px;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
    border-radius: 4px;
}

.episodio-item-admin input:focus {
    border-color: var(--primary);
    color: white;
}

/* Progress Modal (Mass Update) */
#progress-modal {
    display: none;
    /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 10000;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#progress-box {
    background: rgba(30, 41, 59, 0.9);
    padding: 40px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    width: 90%;
    max-width: 500px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

#progress-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
}

#progress-title {
    font-size: 1.5rem;
    margin-bottom: 25px;
    color: white;
    font-weight: 700;
}

.progress-bar-wrapper {
    width: 100%;
    height: 10px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 20px;
    position: relative;
}

.progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    width: 0%;
    transition: width 0.3s ease;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(124, 58, 237, 0.5);
}

#progress-text {
    font-size: 1.1rem;
    color: var(--text-main);
    margin-bottom: 15px;
    font-weight: 500;
}

.progress-log {
    background: rgba(0, 0, 0, 0.3);
    border-radius: var(--radius-sm);
    padding: 10px;
    font-family: 'Courier New', monospace;
    font-size: 0.85rem;
    color: var(--text-secondary);
    max-height: 100px;
    overflow-y: auto;
    text-align: left;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* --- SERIES ACTUALIZADAS CAROUSEL (New Design) --- */
#carousel-series-actualizadas .carousel-header h2 a {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
}

#carousel-series-actualizadas .--t-icon svg {
    fill: var(--primary-color, #e50914);
    /* Use site primary color or default red */
}

.movie-card.--x3 {
    position: relative;
    width: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.movie-card.--x3:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.85);
}

.movie-card.--x3:focus-within {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.85);
}

.movie-card.--x3 .movie-card__img {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 2/3;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
    background-color: #1e293b;
    /* Placeholder color */
}

.movie-card.--x3 .movie-card__img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0) 50%, rgba(15, 23, 42, 0.65) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.movie-card.--x3:hover .movie-card__img::after,
.movie-card.--x3:focus-within .movie-card__img::after {
    opacity: 1;
}

/* Skeleton Shimmer - Only active when .is-loading is present */
.movie-card.--x3 .movie-card__img.is-loading::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-100%);
    background-image: linear-gradient(90deg,
            rgba(255, 255, 255, 0) 0,
            rgba(255, 255, 255, 0.05) 20%,
            rgba(255, 255, 255, 0.1) 60%,
            rgba(255, 255, 255, 0));
    animation: shimmer 2s infinite;
    z-index: 1;
    pointer-events: none;
}

@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

.movie-card.--x3 .movie-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease, opacity 0.4s ease;
    opacity: 0;
    /* Hidden until loaded */
}

.movie-card.--x3 .movie-card__img img.is-loaded {
    opacity: 1;
}

.movie-card.--x3:hover .movie-card__img img {
    transform: scale(1.05);
}

.movie-card.--x3:focus-within .movie-card__img img {
    transform: scale(1.05);
}

/* Play Button Overlay */
.movie-card.--x3 .play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 2;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    padding: 15px;
    backdrop-filter: blur(4px);
}

.movie-card.--x3:hover .play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.movie-card.--x3:focus-within .play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.movie-card.--x3 .play svg {
    font-size: 2rem;
    color: white;
    display: block;
}

/* Rates (TMDB & Year) */
.movie-card.--x3 .rates {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 4;
}

.movie-card.--x3 .imdb {
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(0, 0, 0, 0.7);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: bold;
    color: #fff;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.movie-card.--x3 .imdb::before {
    content: "★";
    color: #fbbf24;
    font-size: 0.75rem;
}

.movie-card.--x3 .--tmdb-badge {
    color: #01b4e4;
    /* TMDB Blue */
    font-weight: 800;
}

.movie-card.--x3 .year {
    background: rgba(0, 0, 0, 0.7);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.75rem;
    color: #ccc;
    width: fit-content;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Actions (Certification & Lang) */
.movie-card.--x3 .actions {
    position: absolute;
    bottom: 10px;
    left: 10px;
    display: flex;
    gap: 5px;
    z-index: 2;
}

.movie-card.--x3 .certification,
.movie-card.--x3 .audio_langs {
    background: rgba(0, 0, 0, 0.7);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.7rem;
    color: #fff;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.movie-card.--x3 .audio_langs {
    letter-spacing: 0.3px;
}

/* Title Section */
.movie-card.--x3 .movie-card__title {
    padding: 12px 6px 6px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.movie-card.--x3 .movie-card__title h2 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
    flex: 1;
}

.movie-card.--x3 .movie-card__title h2 a {
    text-decoration: none;
    color: #fff;
    display: block;
}

.movie-card.--x3 .movie-card__title p {
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.movie-card.--x3 .movie-card__title span {
    display: block;
    font-size: 0.8rem;
    color: #aaa;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Menu Button */
.movie-card.--x3 .--rv-s3b button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #aaa;
    transition: color 0.2s;
}

.movie-card.--x3 .--rv-s3b button:hover {
    color: #fff;
}

.movie-card.--x3 .--rv-s3b button:focus-visible {
    outline: 2px solid rgba(250, 204, 21, 0.85);
    outline-offset: 2px;
    border-radius: 6px;
    color: #fff;
}

.movie-card.--x3 .--rv-s3b svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

@media (max-width: 640px) {
    .movie-card.--x3 .movie-card__title {
        padding: 10px 4px 4px;
    }

    .movie-card.--x3 .movie-card__title h2 {
        font-size: 0.95rem;
    }

    .movie-card.--x3 .movie-card__title p {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .movie-card.--x3 .movie-card__title span {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        line-clamp: 1;
        -webkit-box-orient: vertical;
    }

    .movie-card.--x3 .rates {
        top: 8px;
        left: 8px;
    }

    .movie-card.--x3 .actions {
        bottom: 8px;
        left: 8px;
    }

    .movie-card.--x3 .play {
        padding: 12px;
    }
}

/* ========== CONTEXT MENU & MODAL ========== */
.context-menu {
    position: absolute;
    background: rgba(15, 23, 42, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 8px;
    min-width: 180px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px);
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.context-menu.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.context-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    color: var(--text-secondary);
    font-size: 0.9rem;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.2s;
}

.context-menu-item:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--text-main);
}

.context-menu-item i {
    width: 20px;
    text-align: center;
    color: var(--primary);
}

/* Modal Styles */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(5px);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.modal-container {
    background: var(--bg-surface);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    width: 90%;
    max-width: 400px;
    padding: 25px;
    transform: scale(0.95);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.modal-overlay.active .modal-container {
    transform: scale(1);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.modal-header h3 {
    margin: 0;
    font-size: 1.25rem;
}

.modal-close-btn {
    color: var(--text-muted);
    font-size: 1.2rem;
    cursor: pointer;
    transition: color 0.2s;
}

.modal-close-btn:hover {
    color: var(--text-main);
}

.lists-selection {
    max-height: 250px;
    overflow-y: auto;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.list-option {
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background 0.2s;
}

.list-option:hover {
    background: rgba(255, 255, 255, 0.08);
}

.list-option i {
    color: var(--secondary);
}

.create-list-form {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
}

.input-group {
    display: flex;
    gap: 10px;
}

.input-group input {
    flex: 1;
    padding: 10px 12px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: white;
}

.input-group button {
    padding: 10px 15px;
    background: var(--primary);
    color: white;
    border-radius: 8px;
    font-weight: 600;
}

/* ========== BROWSE PAGE CARDS (Popular Card Style) ========== */
.popular-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: var(--bg-surface);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.popular-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
    z-index: 5;
}

.popular-card__img {
    position: relative;
    aspect-ratio: 2/3;
    overflow: hidden;
    border-radius: 12px;
}

.popular-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.popular-card:hover .popular-card__img img {
    transform: scale(1.1);
}

.popular-card .play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.popular-card:hover .play {
    opacity: 1;
}

.popular-card .play svg {
    font-size: 3rem;
    color: white;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.5));
}

.actionz {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    pointer-events: none;
}

.actionz .imdb {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
    padding: 4px 8px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8rem;
    font-weight: bold;
    color: white;
}

.actionz .audio_langsz span {
    background: var(--primary);
    color: white;
    padding: 4px 6px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: bold;
    text-transform: uppercase;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.title.serials-card__info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 10px 10px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.episodes ul {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 0.75rem;
    color: #ddd;
    padding: 0;
    margin: 0;
}

.certificationz {
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.7rem;
    color: white;
    font-weight: bold;
}

.popular-card__title {
    padding: 12px 10px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.popular-card__title h2 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.3;
    flex: 1;
}

.popular-card__title h2 a {
    text-decoration: none;
    color: var(--text-main);
}

.popular-card__title h2 p {
    margin: 0;
    font-weight: 700;
    color: var(--text-main);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.popular-card__title h2 span {
    display: block;
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 400;
    margin-top: 2px;
}

.popular-card__title .--rv-s3b button {
    color: var(--text-secondary);
    padding: 5px;
    border-radius: 50%;
    transition: background 0.2s;
}

.popular-card__title .--rv-s3b button:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--text-main);
}

.popular-card__title .--rv-s3b svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* ========== CSS TOOLTIPS ========== */
[data-tooltip] {
    position: relative;
    cursor: pointer;
}

[data-tooltip]::before {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-5px);
    padding: 6px 12px;
    background: rgba(15, 23, 42, 0.95);
    color: white;
    font-size: 0.8rem;
    font-weight: 500;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 100;
}

[data-tooltip]:hover::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(-10px);
}

[data-tooltip]::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(0);
    border-width: 5px;
    border-style: solid;
    border-color: rgba(15, 23, 42, 0.95) transparent transparent transparent;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    z-index: 100;
}

[data-tooltip]:hover::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(-5px);
}

/* Grid Layout for Browse Page */
.browse-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px;
    padding: 20px 0;
}

@media (min-width: 768px) {
    .browse-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

@media (min-width: 1200px) {
    .browse-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    }
}

/* ========== SERVER TABS & OPTIONS ========== */
.server-tabs-container {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.btn-lang-tab {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
    padding: 10px 20px;
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
    backdrop-filter: blur(5px);
}

.btn-lang-tab:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--text-main);
    transform: translateY(-2px);
}

.btn-lang-tab.active {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
    box-shadow: 0 0 15px var(--primary-glow);
}

.btn-server-option {
    background: var(--bg-surface);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
    padding: 12px 24px;
    border-radius: var(--radius-sm);
    font-weight: 500;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
    min-width: 140px;
    justify-content: center;
}

.btn-server-option:hover {
    background: var(--bg-surface-hover);
    color: var(--text-main);
    border-color: rgba(255, 255, 255, 0.2);
}

.btn-server-option.active {
    background: linear-gradient(135deg, var(--secondary), var(--secondary-hover));
    border-color: transparent;
    color: white;
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.3);
    font-weight: 700;
}

/* ========== SERVER DROPDOWN MENU ========== */
.server-dropdown-container {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
    justify-content: flex-start;
    /* Align left as requested */
}

.server-dropdown {
    position: relative;
    display: inline-block;
}

.server-dropdown-btn {
    background: var(--primary);
    color: white;
    padding: 10px 20px;
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 160px;
    position: relative;
    transition: var(--transition);
    box-shadow: var(--shadow-sm);
}

.server-dropdown-btn:hover {
    background: var(--primary-hover);
    transform: translateY(-2px);
}

.server-dropdown-btn .lang-name {
    font-size: 1.1rem;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.2;
}

.server-dropdown-btn .lang-label {
    font-size: 0.75rem;
    opacity: 0.8;
    font-weight: 500;
}

.server-dropdown-btn .arrow-icon {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    transition: transform 0.3s;
}

.server-dropdown.active .arrow-icon {
    transform: translateY(-50%) rotate(180deg);
}

.server-dropdown-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    background: var(--bg-surface);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-sm);
    padding: 10px;
    min-width: 280px;
    z-index: 100;
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.server-dropdown.active .server-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.server-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: var(--transition);
    border: 1px solid transparent;
}

.server-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.1);
}

.server-item.active {
    background: rgba(139, 92, 246, 0.15);
    border-color: var(--primary);
}

.server-item-number {
    font-size: 1.5rem;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.5);
    font-family: 'Outfit', sans-serif;
}

.server-item.active .server-item-number {
    color: var(--primary);
}

.server-item-info {
    display: flex;
    flex-direction: column;
}

.server-item-title {
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-main);
    text-transform: uppercase;
}

.server-item-meta {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

/* ========== PLAYER HELP MESSAGE ========== */
.player-help-message {
    background: linear-gradient(135deg, rgba(229, 9, 20, 0.08), rgba(139, 92, 246, 0.08));
    border: 1px solid rgba(229, 9, 20, 0.3);
    border-radius: var(--radius-md);
    padding: 16px 20px;
    margin: 20px 0;
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--text-main);
    font-size: 15px;
    position: relative;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.player-help-message svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: #e50914;
    stroke-width: 2;
    flex-shrink: 0;
}

.player-help-message span {
    flex: 1;
    line-height: 1.5;
}

.player-help-message strong {
    color: var(--primary);
    font-weight: 700;
}

.player-help-message .arrow-up {
    position: absolute;
    top: -35px;
    right: 50%;
    transform: translateX(50%);
    font-size: 28px;
    animation: bounce 2s ease-in-out infinite;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

@keyframes bounce {

    0%,
    100% {
        transform: translateX(50%) translateY(0);
        opacity: 1;
    }

    50% {
        transform: translateX(50%) translateY(-8px);
        opacity: 0.7;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .player-help-message {
        font-size: 13px;
        padding: 12px 16px;
    }

    .player-help-message svg {
        width: 22px;
        height: 22px;
    }

    .player-help-message .arrow-up {
        font-size: 24px;
        top: -30px;
    }
}

/* ========== MODERN DETAIL PAGES OPTIMIZATION ========== */

/* Modern Meta Badges */
.meta-badges-modern {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 16px 0;
}

.badge-rating,
.badge-year,
.badge-duration,
.badge-age {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: var(--radius-full);
    font-size: 0.9rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(10px);
    transition: var(--transition);
}

.badge-rating {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.15), rgba(255, 165, 0, 0.15));
    border-color: rgba(255, 215, 0, 0.3);
    color: #ffd700;
}

.badge-rating i {
    font-size: 0.85em;
}

.badge-year {
    color: var(--text-main);
}

.badge-duration {
    color: var(--text-secondary);
}

.badge-age {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.15), rgba(124, 58, 237, 0.15));
    border-color: var(--primary);
    color: var(--primary);
    font-weight: 700;
}

.badge-rating:hover,
.badge-year:hover,
.badge-duration:hover,
.badge-age:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Glassmorphism Cards */
.glass-card {
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    padding: 24px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    transition: var(--transition);
}

.glass-card:hover {
    background: rgba(15, 23, 42, 0.8);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.6);
}

/* Content Tabs */
.content-tabs-header {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(139, 92, 246, 0.5) transparent;
}

.content-tabs-header::-webkit-scrollbar {
    height: 4px;
}

.content-tabs-header::-webkit-scrollbar-track {
    background: transparent;
}

.content-tabs-header::-webkit-scrollbar-thumb {
    background: rgba(139, 92, 246, 0.5);
    border-radius: 4px;
}

.content-tabs-header::-webkit-scrollbar-thumb:hover {
    background: rgba(139, 92, 246, 0.7);
}

.tab-btn {
    padding: 12px 24px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.tab-btn:hover {
    color: var(--text-main);
    background: rgba(255, 255, 255, 0.03);
}

.tab-btn.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
}

.tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border-radius: 2px 2px 0 0;
}

.tab-content {
    display: none;
    animation: fadeIn 0.4s ease;
}

.tab-content.active {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Modern Language Selector */
.language-selector-modern {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 20px 0;
}

.lang-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.lang-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.5s ease;
}

.lang-btn:hover::before {
    left: 100%;
}

.lang-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--text-main);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.lang-btn.active {
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    border-color: var(--primary);
    color: white;
    box-shadow: 0 0 20px var(--primary-glow);
}

.lang-btn .flag {
    font-size: 1.2em;
}

.lang-btn .label {
    font-size: 0.95rem;
}

.lang-btn .servers-count {
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 8px;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 700;
}

.lang-btn.active .servers-count {
    background: rgba(255, 255, 255, 0.3);
}

/* Episode Cards Modern */
.episode-card-modern {
    display: grid;
    grid-template-columns: 140px 1fr auto;
    gap: 16px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    transition: var(--transition);
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.episode-card-modern::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--primary);
    transform: scaleY(0);
    transition: transform 0.3s ease;
}

.episode-card-modern:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    transform: translateX(4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.episode-card-modern:hover::before {
    transform: scaleY(1);
}

.episode-thumbnail {
    width: 140px;
    height: 80px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    position: relative;
}

.episode-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.episode-card-modern:hover .episode-thumbnail img {
    transform: scale(1.05);
}

.episode-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.episode-number {
    font-size: 0.85rem;
    color: var(--text-muted);
    font-weight: 600;
}

.episode-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 0;
    line-height: 1.3;
}

.episode-description {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.episode-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.episode-duration,
.episode-date {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Improved Hero Gradient */
.hero-overlay-gradient-modern {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 25% 50%, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.75) 40%, rgba(15, 23, 42, 0.4) 70%, transparent 100%),
        linear-gradient(to top, var(--bg-main) 0%, rgba(15, 23, 42, 0.8) 20%, transparent 50%),
        linear-gradient(to right, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.6) 50%, transparent 100%);
    z-index: 1;
}

/* Responsive */
@media (max-width: 768px) {
    .meta-badges-modern {
        gap: 8px;
    }

    .badge-rating,
    .badge-year,
    .badge-duration,
    .badge-age {
        padding: 4px 10px;
        font-size: 0.8rem;
    }

    .episode-card-modern {
        grid-template-columns: 100px 1fr;
        gap: 12px;
        padding: 10px;
    }

    .episode-thumbnail {
        width: 100px;
        height: 60px;
    }

    .content-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .tab-btn {
        padding: 10px 16px;
        font-size: 0.85rem;
        white-space: nowrap;
    }
}

/* Fix Episode Grid in Series Page */
.episodios-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

@media (max-width: 768px) {
    .episodios-list-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

/* Improve Episode Page Header */
.video-header {
    margin-bottom: 25px;
}

.video-header .breadcrumbs {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 15px !important;
    opacity: 0.8;
}

.video-header h2 {
    font-size: 1.8rem;
    margin-bottom: 8px;
    line-height: 1.2;
}

.video-header h3 {
    font-size: 1.1rem !important;
    color: var(--text-secondary) !important;
    font-weight: 400;
    line-height: 1.4;
    opacity: 0.9;
}

/* Responsive Fixes for Language Selector */
.language-selector-modern {
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .language-selector-modern {
        gap: 8px;
        justify-content: center;
    }

    .lang-btn {
        padding: 8px 12px;
        font-size: 0.85rem;
    }

    .player-controls {
        gap: 10px;
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* ========== TELEGRAM BANNER ========== */
.cta-telegram {
    background: linear-gradient(90deg, #229ED9 0%, #0088cc 100%);
    padding: 30px 0;
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
    overflow: hidden;
}

.cta-telegram::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMiIgY3k9IjIiIHI9IjIiIGZpbGw9InJnYmEoMjU1LDI1NSwyNTUsMC4wNSkiLz48L3N2Zz4=');
    opacity: 0.3;
}

.cta-telegram .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    position: relative;
    z-index: 2;
}

.cta-telegram-content {
    flex: 1;
    min-width: 300px;
}

.cta-telegram h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.cta-telegram p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
}

.btn-telegram {
    background: #fff;
    color: #0088cc;
    padding: 12px 30px;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 1.1rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.btn-telegram:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
    background: #f0f9ff;
}

.btn-telegram i {
    font-size: 1.4rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .cta-telegram {
        text-align: center;
        padding: 40px 0;
    }

    .cta-telegram .container {
        flex-direction: column;
        justify-content: center;
    }

    .cta-telegram p {
        margin: 0 auto 20px;
    }
}

/* ========== TELEGRAM FAB ========== */
.telegram-fab {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #229ED9, #0088cc);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 30px;
    box-shadow: 0 4px 15px rgba(0, 136, 204, 0.4);
    z-index: 1000;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    animation: pulse-fab 2s infinite;
}

.telegram-fab:hover {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 8px 25px rgba(0, 136, 204, 0.6);
}

.telegram-fab i {
    margin-left: -2px;
    /* Visual correction */
    margin-top: 2px;
}

@keyframes pulse-fab {
    0% {
        box-shadow: 0 0 0 0 rgba(34, 158, 217, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(34, 158, 217, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(34, 158, 217, 0);
    }
}

/* Mobile FAB adjustment */
@media (max-width: 768px) {
    .telegram-fab {
        bottom: 80px;
        /* Above bottom nav */
        right: 20px;
        width: 50px;
        height: 50px;
        font-size: 24px;
    }
}

/* Actor Card Home */
.actor-card-home {
    transition: transform 0.3s ease;
}

.actor-card-home:hover .actor-img-wrapper img {
    transform: scale(1.1);
}

.actor-card-home:hover .actor-name {
    color: var(--primary);
}

/* Availability Badge (from Actor Page) */
.availability-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    background: var(--primary);
    color: white;
    font-size: 0.7rem;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    z-index: 10;
}

.unavailable-card .availability-badge {
    background: #eab308;
    color: #000;
}

.unavailable-card {
    opacity: 0.9;
}

.unavailable-card .movie-card__img {
    filter: grayscale(100%);
    transition: filter 0.3s;
}

.unavailable-card:hover .movie-card__img {
    filter: grayscale(0);
}

/* ========== PLAYER OVERLAY (Click to Play) ========== */
.video-container-single {
    position: relative;
    overflow: hidden;
}

.player-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    cursor: pointer;
    transition: opacity 0.5s ease;
}

.player-overlay.hidden {
    opacity: 0;
    pointer-events: none;
}

.player-overlay-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
    /* Darken the image */
    transition: transform 0.5s ease;
}

.player-overlay:hover .player-overlay-bg {
    transform: scale(1.05);
}

.player-start-btn {
    position: relative;
    z-index: 20;
    width: 80px;
    height: 80px;
    background: rgba(139, 92, 246, 0.9);
    /* Primary color */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2.5rem;
    box-shadow: 0 0 30px rgba(139, 92, 246, 0.6);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.3s;
    animation: pulse-play 2s infinite;
}

.player-overlay:hover .player-start-btn {
    transform: scale(1.1);
    background: #7c3aed;
    /* Primary hover */
}

@keyframes pulse-play {
    0% {
        box-shadow: 0 0 0 0 rgba(139, 92, 246, 0.7);
    }

    70% {
        box-shadow: 0 0 0 20px rgba(139, 92, 246, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(139, 92, 246, 0);
    }
}

/* ========== MODERN UI 2025 ========== */

/* --- Content Tabs System --- */
.content-tabs-wrapper {
    margin-top: 40px;
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.05);
    overflow: hidden;
}

.content-tabs-header {
    display: flex;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(0, 0, 0, 0.2);
}

.tab-btn {
    padding: 15px 25px;
    color: var(--text-secondary);
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    border-bottom: 2px solid transparent;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tab-btn:hover {
    color: var(--text-main);
    background: rgba(255, 255, 255, 0.02);
}

.tab-btn.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
    background: rgba(139, 92, 246, 0.05);
}

.tab-content {
    display: none;
    padding: 30px;
    animation: fadeIn 0.3s ease-out;
}

.tab-content.active {
    display: block;
}

/* --- Tab: Synopsis & Details --- */
.synopsis-text {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--text-secondary);
    margin-bottom: 30px;
}

.details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.detail-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.detail-label {
    font-size: 0.85rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 700;
}

.detail-value {
    color: var(--text-main);
    font-weight: 500;
}

/* --- Report Error Modal --- */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(5px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.modal-content {
    background: var(--bg-surface);
    width: 90%;
    max-width: 500px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: var(--shadow-lg);
    transform: translateY(20px);
    transition: var(--transition);
    overflow: hidden;
}

.modal-overlay.active .modal-content {
    transform: translateY(0);
}

.modal-header {
    padding: 20px;
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header h3 {
    margin: 0;
    font-size: 1.2rem;
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 10px;
}

.close-modal {
    color: var(--text-muted);
    font-size: 1.2rem;
    padding: 5px;
}

.close-modal:hover {
    color: var(--text-main);
}

.modal-body {
    padding: 25px;
}

.report-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.report-option {
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: var(--radius-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition);
    color: var(--text-secondary);
}

.report-option:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.report-option.selected {
    background: rgba(229, 9, 20, 0.1);
    border-color: #e50914;
    color: #ffcccc;
}

.btn-submit-report {
    width: 100%;
    padding: 12px;
    background: #e50914;
    color: white;
    border-radius: var(--radius-sm);
    font-weight: 700;
    transition: var(--transition);
}

.btn-submit-report:hover {
    background: #f40612;
    box-shadow: 0 0 15px rgba(229, 9, 20, 0.4);
}

/* ========== LEGAL PAGES ========== */
.legal-content {
    background: var(--bg-surface);
    border-radius: var(--radius-lg);
    padding: 60px;
    box-shadow: var(--shadow-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    max-width: 900px;
    margin: 40px auto 80px;
    position: relative;
    overflow: hidden;
}

.legal-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
}

.legal-content h1 {
    font-size: 2.5rem;
    margin-bottom: 40px;
    text-align: center;
    background: linear-gradient(to right, #fff, #cbd5e1);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.legal-content h2 {
    font-size: 1.5rem;
    color: var(--primary);
    margin: 30px 0 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.legal-content h2 i {
    opacity: 0.8;
}

.legal-content h3 {
    font-size: 1.2rem;
    color: var(--text-main);
    margin: 25px 0 10px;
}

.legal-content p {
    color: var(--text-secondary);
    line-height: 1.8;
    margin-bottom: 20px;
    font-size: 1.05rem;
    text-align: justify;
}

.legal-content ul {
    list-style: none;
    margin-bottom: 20px;
    padding-left: 20px;
}

.legal-content ul li {
    margin-bottom: 12px;
    position: relative;
    padding-left: 20px;
    color: var(--text-secondary);
}

.legal-content ul li::before {
    content: '•';
    color: var(--secondary);
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0;
}

.legal-content a {
    color: var(--secondary);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: var(--transition);
}

.legal-content a:hover {
    color: var(--secondary-hover);
    border-bottom-color: var(--secondary-hover);
}

.legal-content .highlight-box {
    background: rgba(139, 92, 246, 0.1);
    border-left: 4px solid var(--primary);
    padding: 20px;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    margin: 30px 0;
}

.legal-content .highlight-box p {
    margin-bottom: 0;
    color: var(--text-main);
}

.legal-content .warning-box {
    background: rgba(244, 63, 94, 0.1);
    border-left: 4px solid var(--accent-pink);
    padding: 20px;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    margin: 30px 0;
}

.legal-content .contact-card {
    background: var(--bg-main);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 25px;
    border-radius: var(--radius-md);
    text-align: center;
    margin-top: 40px;
}

.legal-content .contact-card i {
    font-size: 2rem;
    color: var(--secondary);
    margin-bottom: 15px;
}

.legal-content .contact-email {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 10px 0;
}

@media (max-width: 768px) {
    .legal-content {
        padding: 30px 20px;
        margin: 20px auto 60px;
    }

    .legal-content h1 {
        font-size: 2rem;
    }
}

/* ========== EPISODE HERO REFINEMENTS ========== */
.episode-hero-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding-bottom: 20px;
}

.hero-text-content {
    max-width: 850px;
    animation: fadeIn 0.8s ease-out;
}

/* Typography Improvements */
.hero-series-title {
    font-size: 1.5rem;
    color: var(--primary);
    /* Accent color for series name */
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.9;
    display: inline-block;
}

.hero-episode-title {
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 20px;
    color: #ffffff;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    /* Stack on mobile, inline on desktop if desired but column is safer for long titles */
    gap: 5px;
}

.season-episode-tag {
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--text-muted);
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 5px;
}

.episode-name {
    display: block;
}

/* Breadcrumbs Refinement */
.breadcrumbs {
    background: rgba(0, 0, 0, 0.3);
    padding: 6px 12px;
    border-radius: var(--radius-full);
    backdrop-filter: blur(4px);
    margin-bottom: 25px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.breadcrumbs a,
.breadcrumbs span {
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    text-shadow: none;
}

.breadcrumbs a:hover {
    color: var(--primary);
}

.breadcrumbs .current {
    color: #fff;
    font-weight: 600;
}

/* Badge Tweaks */
.meta-badges-modern {
    margin-bottom: 25px;
}

.badge-modern {
    font-size: 0.85rem;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #eee;
}

.badge-modern i {
    margin-right: 4px;
    color: var(--secondary);
}

.badge-views {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(16, 185, 129, 0.05));
    border-color: rgba(16, 185, 129, 0.2);
    color: #a7f3d0;
}

.badge-views i {
    color: #10b981;
}

.badge-hd {
    background: #fff;
    color: #000;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 4px;
    /* Square-ish */
}

/* Synopsis */
.synopsis-preview {
    font-size: 1.1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    max-width: 700px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
    .movie-hero.episode-hero {
        min-height: auto;
        padding-top: 120px;
        padding-bottom: 80px;
        /* Space for player overlapping */
        align-items: flex-end;
        /* Bottom align content */
    }

    .hero-container {
        padding: 0 5%;
    }

    .hero-text-content {
        text-align: left;
        /* Keep left align usually looks better than center for long text */
    }

    .meta-badges-modern {
        gap: 8px;
    }

    .badge-modern {
        font-size: 0.75rem;
        padding: 4px 10px;
    }

    .hero-series-title {
        font-size: 1.1rem;
    }

    .hero-episode-title {
        font-size: 1.8rem;
    }

    .season-episode-tag {
        font-size: 0.9rem;
    }
}

/* ========== ERROR PAGE ========== */
.error-page-container {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
    margin-top: var(--header-height);
}

.error-icon {
    font-size: 5rem;
    color: var(--secondary);
    margin-bottom: 20px;
    text-shadow: 0 0 20px var(--secondary-glow);
    animation: float 3s ease-in-out infinite;
}

.error-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 15px;
    background: linear-gradient(to right, var(--primary), var(--secondary));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.error-message {
    font-size: 1.2rem;
    color: var(--text-secondary);
    max-width: 500px;
    margin-bottom: 30px;
}

.btn-home {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 28px;
    background: var(--primary);
    color: white;
    font-weight: 600;
    border-radius: var(--radius-full);
    transition: var(--transition);
    box-shadow: 0 4px 15px var(--primary-glow);
}

.btn-home:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px var(--primary-glow);
    background: var(--primary-hover);
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* 
   PeliSeriesPlus - Mobile Styles (Optimized)
   Consolidated & Refined 2025
*/

/* ========== TABLET & MOBILE (max-width: 768px) ========== */
@media (max-width: 768px) {
    :root {
        --header-height: 60px;
    }

    body {
        font-size: 15px;
        padding-bottom: 70px;
        /* Space for bottom nav */
    }

    /* --- HEADER & NAV --- */
    header {
        padding: 15px 4%;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, transparent 100%) !important;
        box-shadow: none !important;
        justify-content: center;
        height: auto;
        pointer-events: none;
        /* Let clicks pass through empty header */
    }

    header.scrolled {
        background: rgba(15, 23, 42, 0.95) !important;
        box-shadow: var(--shadow-lg) !important;
        padding: 8px 4%;
    }

    .logo {
        font-size: 1.8rem;
        margin-right: 0;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
        pointer-events: auto;
    }

    /* Hide Desktop Elements */
    .nav-principal,
    .nav-usuario,
    .search-trigger,
    .search-form,
    .desktop-only {
        display: none !important;
    }

    /* Mobile Top Bar */
    .mobile-top-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        pointer-events: auto;
        padding-top: 5px;
        /* Slight adjustment */
    }

    .top-bar-actions {
        display: flex;
        align-items: center;
    }

    /* Mobile Bottom Nav */
    .mobile-bottom-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        overflow-x: auto;
        justify-content: space-around !important;
        /* Better spacing */
        padding: 12px 15px;
        gap: 15px;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        background: rgba(15, 23, 42, 0.85);
        /* More transparent */
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.3);
        z-index: 99999 !important;
        pointer-events: auto !important;
    }

    .mobile-bottom-nav::-webkit-scrollbar {
        display: none;
    }

    .nav-item {
        flex: 1;
        /* Distribute space evenly */
        min-width: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        color: var(--text-secondary);
        transition: all 0.3s ease;
        position: relative;
    }

    .nav-item.active {
        color: var(--primary);
        transform: translateY(-2px);
    }

    .nav-item.active i {
        text-shadow: 0 0 10px rgba(124, 58, 237, 0.6);
    }

    .nav-item i {
        font-size: 1.3rem;
        margin-bottom: 4px;
    }

    .nav-item span {
        font-size: 0.7rem;
        font-weight: 500;
    }

    .nav-avatar {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        object-fit: cover;
        border: 2px solid transparent;
        margin-bottom: 4px;
    }

    .nav-item.active .nav-avatar {
        border-color: var(--primary);
    }

    /* Mobile Notification Dropdown */
    .mobile-notif-dropdown {
        position: fixed;
        top: 60px;
        right: 10px;
        left: 10px;
        background: #1f2937;
        border-radius: 8px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
        z-index: 100;
        max-height: 70vh;
        overflow-y: auto;
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    /* --- HERO SECTION --- */
    .hero-swiper {
        height: 85vh;
        margin-top: -60px;
    }

    .hero-slide-item {
        /* background-image is set inline in HTML, allow it to show */
        background-position: center top;
        background-size: cover;
        background-color: #000;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }

    .mobile-hero-poster-wrapper {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

    .mobile-hero-poster {
        width: 100%;
        height: 100%;
        object-fit: cover;
        mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
        -webkit-mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
    }

    .hero-container {
        padding-top: calc(var(--header-height) + 60px);
        padding-left: 4%;
        padding-right: 4%;
        padding-bottom: 30px;
        align-items: flex-end;
        justify-content: center;
        text-align: center;
        background: linear-gradient(to top, var(--bg-main) 5%, rgba(15, 23, 42, 0.8) 25%, transparent 60%);
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: auto;
        z-index: 10;
    }

    .hero-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
        gap: 10px;
        transform: translateY(0);
        opacity: 1;
    }

    .hero-title {
        font-size: clamp(1.8rem, 6vw, 2.5rem);
        line-height: 1;
        margin-bottom: 5px;
        text-align: center;
    }

    .hero-meta {
        font-size: 0.9rem;
        justify-content: center;
        margin-bottom: 15px;
        gap: 10px;
    }

    .hero-description {
        display: none;
    }

    .hero-actions {
        width: 100%;
        gap: 10px;
        justify-content: center;
        padding: 0 10px;
        flex-direction: row;
        margin-top: 15px;
    }

    .btn-hero-primary,
    .btn-hero-secondary {
        flex: 1;
        justify-content: center;
        padding: 10px 15px;
        font-size: 1rem;
        border-radius: 4px;
        max-width: 140px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .btn-hero-primary {
        background: white;
        color: black;
        font-weight: bold;
    }

    .btn-hero-secondary {
        background: rgba(255, 255, 255, 0.2);
        border: none;
        backdrop-filter: blur(5px);
        color: white;
        font-weight: bold;
    }

    /* --- DETAIL PAGES --- */
    .movie-hero {
        min-height: 85vh;
        padding-top: 120px !important;
        padding-bottom: 40px;
        margin-top: -80px;
        align-items: flex-end;
        z-index: 1;
        position: relative;
        overflow: hidden;
    }

    .hero-background {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center top !important;
        z-index: -1 !important;
    }

    .movie-hero::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(15, 23, 42, 0.95) 85%, var(--bg-main) 100%);
        z-index: 0;
    }

    /* Episode List Grid (Catalog) - Force 2 columns */
    .episodios-list-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .episode-card-catalog .episode-thumbnail {
        aspect-ratio: 16/9;
    }

    .episode-card-catalog .episode-info {
        padding: 10px !important;
    }

    .episode-card-catalog .episode-title {
        font-size: 0.9rem !important;
    }

    .hero-poster {
        display: none !important;
    }

    .hero-info {
        width: 100%;
        padding: 0 10px;
    }

    .hero-info h1 {
        font-size: clamp(1.5rem, 5vw, 2rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 15px !important;
        margin-top: 10px !important;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    }

    .hero-info h1 span {
        font-size: 1.2rem;
        display: block;
        margin-top: 5px;
    }

    .details {
        display: block;
        margin-top: 15px;
        font-size: 1rem;
        line-height: 1.5;
        color: #ccc;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
        display: -webkit-box;
        -webkit-line-clamp: 4;
        line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* --- GRIDS & CARDS --- */
    .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: 100% !important;
        overflow-x: hidden;
    }

    .episode-grid,
    .search-results-container,
    .lists-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }

    .movie-card {
        border-radius: 4px;
        box-shadow: none;
        background: transparent;
        border: none;
        max-width: 100%;
    }

    .movie-card .poster-wrapper {
        border-radius: 4px;
    }

    .card-info-overlay,
    .card-hover-info,
    .card-overlay,
    .list-overlay {
        display: none !important;
    }

    /* --- CAROUSELS --- */
    .swiper-container,
    .carousel-container {
        width: 100vw;
        margin-left: -15px;
        padding-left: 15px;
        padding-right: 15px;
        overflow: hidden;
    }

    .category-carousel {
        margin-bottom: 20px !important;
    }

    .carousel-header h2 {
        font-size: 1.1rem;
        border-left: none;
        padding-left: 0;
    }

    /* --- TOP 10 --- */
    .top-10-card {
        padding-left: 15px !important;
        margin-left: 0;
        overflow: visible !important;
        position: relative;
    }

    .rank-number {
        font-size: 1rem !important;
        line-height: 1 !important;
        position: absolute;
        top: 5px !important;
        left: 5px !important;
        bottom: auto !important;
        background-color: var(--primary);
        color: white;
        padding: 4px 10px;
        border-radius: 6px;
        z-index: 10;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
        font-family: 'Outfit', sans-serif;
        text-shadow: none;
        -webkit-text-stroke: 0;
        transform: none;
        font-weight: 800;
    }

    .rank-number::before {
        content: "#";
        margin-right: 1px;
        opacity: 0.8;
        font-weight: 400;
        font-size: 0.9em;
    }

    /* --- VIDEO PLAYER --- */
    .video-container-single,
    .video-responsive {
        width: 100% !important;
        max-width: 100vw !important;
        height: auto !important;
        aspect-ratio: 16/9 !important;
        margin-bottom: 15px !important;
        background: black;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
        display: block !important;
    }

    iframe {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
    }

    .player-controls {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 0 10px !important;
    }

    .btn-player-control {
        font-size: 0.8rem !important;
        padding: 8px 12px !important;
        flex-grow: 1 !important;
        justify-content: center !important;
    }

    /* --- SEARCH OVERLAY --- */
    .search-overlay {
        padding-top: 0;
        padding-bottom: 0;
        background: rgba(10, 10, 10, 0.85) !important;
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .search-box-card {
        width: 100%;
        height: 100%;
        max-height: 100%;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none !important;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding-top: 80px;
        /* Space for close button */
    }

    .search-bar-wrapper {
        opacity: 0;
        animation: slideDown 0.5s ease forwards 0.2s;
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-20px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .search-results-container {
        padding: 20px;
    }

    .search-bar-wrapper input {
        font-size: 1.5rem;
    }

    .close-search {
        top: 20px;
        right: 20px;
        font-size: 2rem;
    }

    /* --- FOOTER --- */
    footer {
        padding: 50px 4% 90px;
        margin-top: 50px;
        text-align: center;
    }

    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 35px;
    }

    .footer-logo {
        justify-content: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 0 auto 15px;
    }

    /* --- PAGES (Profile, Auth, Etc) --- */
    .page-content {
        padding-top: 80px !important;
        padding-bottom: 90px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .profile-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        margin-top: 10px !important;
    }

    .profile-sidebar {
        width: 100% !important;
        margin-bottom: 20px !important;
        text-align: center !important;
        position: relative !important;
        top: 0 !important;
        padding: 20px !important;
    }

    .profile-stats {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        justify-content: center !important;
    }

    .auth-wrapper {
        padding: 20px !important;
        min-height: calc(100vh - 170px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .auth-box {
        width: 100% !important;
        max-width: 100% !important;
        padding: 25px !important;
        margin: 0 !important;
    }

    .btn-login,
    .btn-registro {
        padding: 6px 16px;
        font-size: 0.85rem;
    }
}

/* ========== MOBILE LANDSCAPE (max-width: 640px) ========== */
@media (max-width: 640px) {
    .container {
        width: 94%;
    }

    h1 {
        font-size: 2.5rem;
    }

    .hero-swiper {
        height: 80vh;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
    }

    .btn-hero-primary,
    .btn-hero-secondary {
        width: 100%;
        justify-content: center;
    }

    .dropdown-content {
        min-width: 280px;
        grid-template-columns: 1fr;
    }
}

/* ========== SMALL MOBILE (max-width: 480px) ========== */
@media (max-width: 480px) {
    :root {
        --header-height: 55px;
    }

    body {
        font-size: 14px;
    }

    .logo {
        font-size: 1.2rem;
    }

    .hero-title {
        font-size: clamp(1.5rem, 7vw, 2rem);
    }

    .hero-container {
        padding-top: calc(var(--header-height) + 50px);
    }

    .carousel-header h2 {
        font-size: 1.2rem;
    }
}

/* ========== EXTRA SMALL MOBILE (max-width: 380px) ========== */
@media (max-width: 380px) {
    .hero-title {
        font-size: 2.2rem;
    }

    .episode-grid,
    .search-results-container {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 5px !important;
    }

    .nav-item span {
        font-size: 0.6rem;
    }
}

/* ========== TOUCH OPTIMIZATIONS ========== */
@media (hover: none) and (pointer: coarse) {
    .movie-card:hover {
        transform: none;
        box-shadow: var(--shadow-sm);
        border-color: rgba(255, 255, 255, 0.05);
    }

    .btn-registro:hover,
    .btn-login:hover,
    .btn-hero-primary:hover,
    .btn-hero-secondary:hover,
    .episode-card:hover {
        transform: none;
        box-shadow: none;
    }

    .nav-principal a,
    .server-btn,
    .btn-login,
    .btn-registro {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    .movie-card:active {
        transform: scale(0.98);
    }

    button,
    a {
        -webkit-tap-highlight-color: rgba(124, 58, 237, 0.3);
    }
}

/* ========== LANDSCAPE FIXES ========== */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-swiper {
        height: 100vh;
    }

    .hero-container {
        padding-top: 100px;
    }

    .auth-wrapper {
        padding: 40px 20px;
    }
}

/* ========== PREMIUM HERO STYLES (v2) ========== */
.hero-wrapper-premium {
    position: relative;
    width: 100%;
    height: 85vh;
    /* Taller hero */
    min-height: 600px;
    max-height: 1000px;
    background: #000;
    overflow: hidden;
}

.hero-wrapper-premium .hero-swiper {
    width: 100%;
    height: 100%;
}

.hero-wrapper-premium .hero-slide-item {
    width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    /* Center vertically */
}

.hero-bg-image {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    z-index: 0;
}

/* Video Background */
.hero-video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    /* Let clicks pass through to UI */
    opacity: 0;
    transition: opacity 1.5s ease;
    overflow: hidden;
}

.hero-video-container.fade-in {
    opacity: 1;
}

/* Ensure video covers */
.hero-video-container iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 110vw;
    /* Slight zoom to prevent black bars */
    height: 110vh;
    /* Aspect ratio lock 16:9 usually */
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* Trailer CTA */
.hero-video-cta {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    display: none;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    border-radius: 999px;
    background: rgba(2, 6, 23, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

.hero-slide-item.show-video-cta .hero-video-cta {
    display: inline-flex;
}

.hero-video-cta:hover {
    transform: translate(-50%, -50%) scale(1.03);
    background: rgba(30, 41, 59, 0.8);
}

/* Overlays */
.hero-wrapper-premium .hero-overlay-gradient {
    background: linear-gradient(to right,
            rgba(2, 6, 23, 0.95) 0%,
            rgba(2, 6, 23, 0.8) 40%,
            rgba(2, 6, 23, 0.4) 60%,
            rgba(2, 6, 23, 0.1) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

/* Also add bottom gradient */
.hero-wrapper-premium::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(to top, var(--bg-main) 0%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}

/* Content Layout */
.hero-wrapper-premium .hero-container {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    align-items: center;
    padding-left: 60px;
    /* Extra left padding */
}

.hero-wrapper-premium .hero-content {
    max-width: 600px;
    z-index: 4;
}

/* Logo */
.hero-logo {
    display: block;
    max-width: 350px;
    max-height: 150px;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: left bottom;
    margin-bottom: 20px;
    filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.5));
}

/* Vertical Thumbs Navigation */
.hero-thumbs-vertical {
    position: absolute;
    right: 24px;
    top: calc(var(--header-height) + 20px);
    bottom: 24px;
    width: 360px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow-y: auto;
    padding: 12px;
    background: rgba(2, 6, 23, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    z-index: 10;
}

.thumb-item-vertical {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    min-height: 62px;
    background: rgba(2, 6, 23, 0.45);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.thumb-item-vertical:hover {
    background: rgba(2, 6, 23, 0.7);
    transform: translateY(-2px);
}

.thumb-item-vertical.active {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    transform: scale(1.02);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.thumb-content-v {
    display: flex;
    flex-direction: column;
}

.thumb-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #e2e8f0;
    line-height: 1.15;
}

.thumb-meta {
    font-size: 0.72rem;
    color: #94a3b8;
}

/* Progress Bar in Thumb */
.thumb-progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.1);
}

.thumb-progress-bar .progress {
    width: 0%;
    height: 100%;
    background: var(--primary);
    box-shadow: 0 0 10px var(--primary);
}

/* Mute Button */
.btn-hero-glass {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    /* Fix centering */
    justify-content: center;
    /* Fix centering */
    cursor: pointer;
    transition: 0.3s;
}

.btn-hero-glass:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

/* Mobile Adjustments */
@media (max-width: 1024px) {
    .hero-wrapper-premium {
        height: 80vh;
        /* Reduced height for tablet */
        max-height: 800px;
    }

    .hero-wrapper-premium .hero-container {
        padding-left: 20px;
        align-items: flex-end;
        /* Bottom align on mobile */
        padding-bottom: 80px;
        /* Space for pagination */
    }

    .hero-wrapper-premium .hero-overlay-gradient {
        background: linear-gradient(to top,
                rgba(2, 6, 23, 1) 10%,
                rgba(2, 6, 23, 0.8) 40%,
                transparent 100%);
    }

    .hero-logo {
        max-width: 250px;
        /* Smaller logo */
    }

    .hero-video-container {
        display: none;
        /* Disable video on mobile for performance/data */
    }

    .hero-thumbs-vertical {
        display: none;
        /* Hide vertical thumbs */
    }
}

/* ========== HEADER / ACCOUNT EXPERIENCE ========== */
.menu-divider {
    height: 1px;
    margin: 8px 0;
    background: rgba(255, 255, 255, 0.08);
}

.menu-label {
    padding: 6px 12px;
    color: #93c5fd;
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.header-utility-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

.utility-link,
.account-hub-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    text-decoration: none;
    color: #e2e8f0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    transition: all 0.25s ease;
}

.utility-link:hover,
.account-hub-link:hover,
.account-hub-link.active {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.utility-link--store i,
.utility-link--tokens i {
    color: #fbbf24;
}

.account-hub-link i {
    color: #93c5fd;
}

/* ========== PROFILE / LISTS EXPERIENCE ========== */
.lists-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) auto auto;
    gap: 18px;
    align-items: center;
    padding: 28px;
    margin-bottom: 28px;
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(15, 23, 42, 0.84)),
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.18), transparent 42%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 60px -32px rgba(0, 0, 0, 0.8);
}

.lists-hero__eyebrow {
    display: inline-flex;
    margin-bottom: 12px;
    color: #93c5fd;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lists-hero__copy h1 {
    margin-bottom: 10px;
}

.lists-hero__copy p {
    max-width: 62ch;
    color: #94a3b8;
    line-height: 1.55;
}

.lists-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(90px, 1fr));
    gap: 12px;
}

.lists-hero__stat {
    min-width: 100px;
    padding: 14px 16px;
    border-radius: 18px;
    text-align: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.lists-hero__stat strong {
    display: block;
    font-size: 1.35rem;
    color: #fff;
}

.lists-hero__stat span {
    color: #94a3b8;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.lists-hero__cta {
    justify-self: end;
    white-space: nowrap;
}

.list-page-alert {
    margin-bottom: 20px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #46d369;
    color: #04110a;
    font-weight: 600;
}

.list-info__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.list-info__meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
}

.list-info__date {
    margin-top: 10px;
}

.lists-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding: 42px 22px;
    margin-top: 30px;
    border-radius: 24px;
    background: rgba(15, 23, 42, 0.72);
    border: 1px dashed rgba(255, 255, 255, 0.15);
}

.lists-empty-state__icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #93c5fd;
    background: rgba(59, 130, 246, 0.12);
}

.lists-empty-state p {
    max-width: 48ch;
    color: #94a3b8;
}

.list-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2000;
    align-items: center;
    justify-content: center;
    background: rgba(2, 6, 23, 0.84);
}

.list-modal__content {
    width: min(92vw, 420px);
    padding: 28px;
    border-radius: 20px;
    position: relative;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(15, 23, 42, 0.92));
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.list-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    background: transparent;
    border: 0;
    color: #94a3b8;
    font-size: 1.1rem;
    cursor: pointer;
}

.list-modal__title {
    margin-bottom: 18px;
    text-align: center;
}

.list-modal__group {
    margin-bottom: 18px;
}

.list-modal__label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-secondary);
}

.list-modal__input {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.list-modal__toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-secondary);
    cursor: pointer;
}

.list-modal__toggle input {
    width: 18px;
    height: 18px;
}

.list-modal__submit {
    width: 100%;
    padding: 12px;
    font-size: 1rem;
}

@media (max-width: 1200px) {
    .header-utility-links {
        display: none;
    }
}

@media (max-width: 900px) {
    .lists-hero {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .lists-hero__stats {
        width: 100%;
    }

    .lists-hero__cta {
        justify-self: start;
    }
}

@media (max-width: 640px) {
    .lists-hero {
        padding: 20px;
        border-radius: 20px;
    }

    .lists-hero__stats {
        grid-template-columns: 1fr;
    }

    .account-hub-link {
        display: none;
    }
}

/* ========== HOME UX REFINEMENTS ========== */
.section-heading {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 22px;
}

.section-heading__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #cbd5e1;
    background: rgba(15, 23, 42, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.section-heading__title {
    font-size: clamp(1.6rem, 3vw, 2.3rem);
    line-height: 1.08;
    max-width: 720px;
}

.home-discovery-hub {
    position: relative;
    z-index: 10;
    padding: 28px 0 8px;
}

.home-discovery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.discovery-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 170px;
    padding: 20px;
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.72)),
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.22), transparent 40%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 50px -30px rgba(0, 0, 0, 0.8);
}

.discovery-card:hover {
    transform: translateY(-4px);
    border-color: rgba(139, 92, 246, 0.4);
    box-shadow: 0 28px 60px -32px rgba(0, 0, 0, 0.9);
}

.discovery-card__eyebrow {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #93c5fd;
}

.discovery-card__title {
    font-size: 1.12rem;
    line-height: 1.18;
    color: #f8fafc;
}

.discovery-card__meta {
    font-size: 0.92rem;
    color: #94a3b8;
    line-height: 1.45;
}

.discovery-card--continue {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(15, 23, 42, 0.82)),
        radial-gradient(circle at top right, rgba(16, 185, 129, 0.24), transparent 42%);
}

.discovery-card--accent {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(15, 23, 42, 0.76)),
        radial-gradient(circle at top right, rgba(244, 63, 94, 0.24), transparent 42%);
}

.discovery-card__progress {
    width: 100%;
    height: 6px;
    margin-top: auto;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.discovery-card__progress-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #22c55e, #3b82f6);
}

.cta-random,
.cta-peticiones,
.cta-store,
.cta-affiliate {
    position: relative;
    z-index: 8;
}

.cta-random,
.cta-peticiones {
    margin-top: 8px;
}

.cta-random__container,
.cta-content {
    border-radius: 20px;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #cbd5e1;
}

.hero-kicker-sep {
    opacity: 0.5;
}

.hero-wrapper-premium .hero-content {
    max-width: 680px;
}

.hero-description {
    max-width: 60ch;
}

.hero-video-cta {
    display: none;
}

.carousel-header {
    gap: 16px;
}

.carousel-header__copy {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.carousel-header__copy p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    max-width: 680px;
}

.movie-card.--x3 .movie-card__title {
    gap: 10px;
}

.card-context {
    display: block;
    margin-top: 6px;
    font-size: 0.74rem;
    color: #93c5fd;
    line-height: 1.35;
    letter-spacing: 0.02em;
}

.movie-card.--x3 .movie-card__title span.badge-type {
    color: #cbd5e1;
}

.mobile-sidebar {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(15, 23, 42, 0.94)),
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.2), transparent 40%);
}

.sidebar-title {
    letter-spacing: 0.03em;
}

@media (max-width: 1024px) {
    .home-discovery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-description {
        max-width: 100%;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

@media (max-width: 640px) {
    .home-discovery-hub {
        padding-top: 18px;
    }

    .home-discovery-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .discovery-card {
        min-height: 140px;
        padding: 18px;
        border-radius: 18px;
    }

    .carousel-header {
        align-items: flex-start;
    }

    .carousel-header__copy p {
        font-size: 0.86rem;
    }

    .hero-kicker {
        margin-bottom: 10px;
        font-size: 0.74rem;
    }

    .card-context {
        font-size: 0.7rem;
    }
}

/* ========== DETAIL PAGE REFINEMENTS ========== */
#watch-player-section,
#temporadas {
    scroll-margin-top: 110px;
}

.detail-hero-actions {
    flex-wrap: wrap;
}

.detail-quick-panel {
    position: relative;
    z-index: 1;
    margin-top: 28px;
    margin-bottom: 28px;
    padding: 26px;
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(15, 23, 42, 0.82)),
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.16), transparent 42%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 50px -32px rgba(0, 0, 0, 0.85);
}

.detail-quick-panel__lead {
    margin-bottom: 20px;
}

.detail-quick-panel__eyebrow {
    display: inline-flex;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: #bfdbfe;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.detail-quick-panel__lead h2 {
    font-size: clamp(1.5rem, 2.6vw, 2.2rem);
    margin-bottom: 8px;
}

.detail-quick-panel__lead p {
    color: #94a3b8;
    max-width: 760px;
}

.detail-quick-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 14px;
}

.detail-quick-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 112px;
    padding: 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.detail-quick-card__label {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #93c5fd;
}

.detail-quick-card__value {
    font-size: 1rem;
    color: #f8fafc;
    line-height: 1.35;
}

.series-next-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.series-next-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 130px;
    padding: 18px;
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.78), rgba(15, 23, 42, 0.94)),
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 40%);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.series-next-card--continue {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.78), rgba(15, 23, 42, 0.94)),
        radial-gradient(circle at top right, rgba(16, 185, 129, 0.18), transparent 42%);
}

.series-next-card--upcoming {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.78), rgba(15, 23, 42, 0.94)),
        radial-gradient(circle at top right, rgba(244, 63, 94, 0.18), transparent 42%);
}

.series-next-card__eyebrow {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #c4b5fd;
}

.series-next-card__title {
    font-size: 1.05rem;
    color: #fff;
}

.series-next-card__meta {
    color: #94a3b8;
    font-size: 0.92rem;
    line-height: 1.45;
}

@media (max-width: 768px) {
    .detail-quick-panel {
        padding: 18px;
        border-radius: 18px;
    }

    .detail-quick-grid,
    .series-next-row {
        grid-template-columns: 1fr;
    }

    .detail-hero-actions .btn-hero-primary,
    .detail-hero-actions .btn-hero-secondary {
        flex: 1 1 calc(50% - 8px);
        justify-content: center;
    }
}

/* ========== PREMIUM HERO STYLES (v2) ========== */
.hero-wrapper-premium {
    position: relative;
    width: 100%;
    height: 85vh;
    /* Taller hero */
    min-height: 600px;
    max-height: 1000px;
    background: #000;
    overflow: hidden;
}

.hero-wrapper-premium .hero-swiper {
    width: 100%;
    height: 100%;
}

.hero-wrapper-premium .hero-slide-item {
    width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    /* Center vertically */
}

/* Video Background */
.hero-video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    /* Let clicks pass through to UI */
    opacity: 0;
    transition: opacity 1.5s ease;
    overflow: hidden;
}

.hero-video-container.fade-in {
    opacity: 1;
}

/* Ensure video covers */
.hero-video-container iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 110vw;
    /* Slight zoom to prevent black bars */
    height: 110vh;
    /* Aspect ratio lock 16:9 usually */
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* Overlays */
.hero-wrapper-premium .hero-overlay-gradient {
    background: linear-gradient(to right,
            rgba(2, 6, 23, 0.95) 0%,
            rgba(2, 6, 23, 0.8) 40%,
            rgba(2, 6, 23, 0.4) 60%,
            rgba(2, 6, 23, 0.1) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

/* Also add bottom gradient */
.hero-wrapper-premium::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(to top, var(--bg-main) 0%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}

/* Content Layout */
.hero-wrapper-premium .hero-container {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    align-items: center;
    padding-left: 60px;
    /* Extra left padding */
}

.hero-wrapper-premium .hero-content {
    max-width: 600px;
    z-index: 4;
}

/* Logo */
.hero-logo {
    display: block;
    max-width: 350px;
    max-height: 150px;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: left bottom;
    margin-bottom: 20px;
    filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.5));
}

/* Vertical Thumbs Navigation */
.hero-thumbs-vertical {
    position: absolute;
    right: 24px;
    top: calc(var(--header-height) + 20px);
    bottom: 24px;
    width: 360px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow-y: auto;
    padding: 12px;
    background: rgba(2, 6, 23, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    z-index: 10;
}

.thumb-item-vertical {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    min-height: 62px;
    background: rgba(2, 6, 23, 0.45);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.thumb-item-vertical:hover {
    background: rgba(2, 6, 23, 0.7);
    transform: translateY(-2px);
}

.thumb-item-vertical.active {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    transform: scale(1.02);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.thumb-content-v {
    display: flex;
    flex-direction: column;
}

.thumb-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #e2e8f0;
    line-height: 1.15;
}

.thumb-meta {
    font-size: 0.72rem;
    color: #94a3b8;
}

/* Progress Bar in Thumb */
.thumb-progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.1);
}

.thumb-progress-bar .progress {
    width: 0%;
    height: 100%;
    background: var(--primary);
    box-shadow: 0 0 10px var(--primary);
}

/* Mute Button */
.btn-hero-glass {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    /* Fix centering */
    justify-content: center;
    /* Fix centering */
    cursor: pointer;
    transition: 0.3s;
}

.btn-hero-glass:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

/* Mobile Adjustments */
@media (max-width: 1024px) {
    .hero-wrapper-premium {
        height: 80vh;
        /* Reduced height for tablet */
        max-height: 800px;
    }

    .hero-wrapper-premium .hero-container {
        padding-left: 20px;
        align-items: flex-end;
        /* Bottom align on mobile */
        padding-bottom: 80px;
        /* Space for pagination */
    }

    .hero-wrapper-premium .hero-overlay-gradient {
        background: linear-gradient(to top,
                rgba(2, 6, 23, 1) 10%,
                rgba(2, 6, 23, 0.8) 40%,
                transparent 100%);
    }

    .hero-logo {
        max-width: 250px;
        /* Smaller logo */
    }

    .hero-video-container {
        display: none;
        /* Disable video on mobile for performance/data */
    }

    .hero-thumbs-vertical {
        display: none;
        /* Hide vertical thumbs */
    }
}
