.elementor-1672 .elementor-element.elementor-element-5a80706d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-486e7654 */body{
    background: linear-gradient(to bottom, #16162B, #1a1a2e, #16162B)
}/* End custom CSS */
/* Start custom CSS */<style>
         * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Inter', system-ui, sans-serif;
            background: #0a0a0f;
            color: white;
            min-height: 100vh;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
        }

        /* Navigation Header */
        .nav-header {
            background: rgba(22, 22, 43, 0.8);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            position: sticky;
            top: 0;
            z-index: 50;
        }

        .nav-content {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 0;
        }

        .nav-left {
            display: flex;
            align-items: center;
            gap: 32px;
        }

        .logo {
            font-size: 24px;
            font-weight: 900;
            color: #E72448;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 24px;
        }

        .nav-links a {
            color: white;
            text-decoration: none;
            font-weight: 500;
            transition: color 0.3s;
        }

        .nav-links a:hover {
            color: #C7FD50;
        }

        .nav-right {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        .btn {
            padding: 8px 16px;
            border: none;
            border-radius: 6px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
        }

        .btn-ghost {
            background: transparent;
            color: white;
        }

        .btn-ghost:hover {
            color: #C7FD50;
        }

        .btn-primary {
            background: #E72448;
            color: white;
        }

        .btn-primary:hover {
            background: #dc2626;
        }

        /* Back Button */
        .back-section {
            padding: 24px 0;
        }

        .back-btn {
            display: inline-flex;
            align-items: center;
            color: #C7FD50;
            text-decoration: none;
            font-weight: 600;
            transition: color 0.3s;
        }

        .back-btn:hover {
            color: white;
        }

        .back-icon {
            margin-right: 8px;
            transition: transform 0.3s;
        }

        .back-btn:hover .back-icon {
            transform: translateX(-4px);
        }

        /* Hero Section - Fixed spacing */
        .hero-section {
            position: relative;
            overflow: hidden;
            background: linear-gradient(to bottom right, #16162B, #374151, #000000);
        }

        .hero-bg-image {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 100%;
            background-image: url('https://virtuocityesportsleague.com/wp-content/uploads/2025/06/SSBU-Web-copy.webp');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 100%;
            background: linear-gradient(to right, rgba(0,0,0,0.7), rgba(0,0,0,0.4), rgba(0,0,0,0.6));
        }

        .hero-blend {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 200px;
            background: linear-gradient(to top, #0a0a0f 0%, rgba(10, 10, 15, 0.9) 50%, transparent 100%);
        }

        .hero-content {
            position: relative;
            z-index: 10;
            padding: 80px 0;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .hero-title {
            font-size: clamp(3rem, 8vw, 4rem);
            font-weight: 900;
            margin-bottom: 40px;
            color: #D1D5DB;
            line-height: 0.9;
            letter-spacing: -0.02em;
        }

        .register-btn {
            background: linear-gradient(to right, #E72448, #dc2626);
            color: white;
            padding: 16px 48px;
            font-size: 18px;
            font-weight: 900;
            letter-spacing: 0.1em;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            transition: all 0.3s;
            margin-bottom: 32px;
            align-self: flex-start;
        }

        .register-btn:hover {
            background: linear-gradient(to right, #b91c1c, #991b1b);
            transform: scale(1.05);
            box-shadow: 0 25px 50px -12px rgba(220, 38, 38, 0.25);
        }

        /* Tournament Schedule Section */
        .schedule-section {
            background: rgba(0, 0, 0, 0.4);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 24px;
            margin-bottom: 32px;
            max-width: 600px;
        }

        .schedule-title {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 20px;
            color: #C7FD50;
            font-weight: 700;
            font-size: 16px;
            letter-spacing: 0.05em;
        }

        .schedule-icon {
            width: 20px;
            height: 20px;
            display: inline-block;
            color: currentColor !important;
        }

        .schedule-list {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .schedule-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 16px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 8px;
            border-left: 3px solid #E72448;
            transition: all 0.3s;
        }

        .schedule-item:hover {
            background: rgba(255, 255, 255, 0.1);
            transform: translateX(4px);
        }

        .schedule-date {
            display: flex;
            align-items: center;
            gap: 12px;
            font-weight: 600;
            color: white;
        }

        .schedule-time {
            color: #9ca3af;
            font-size: 14px;
            font-weight: 500;
        }

        .schedule-event {
            color: #C7FD50;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 0.05em;
        }

        .calendar-icon {
            width: 16px;
            height: 16px;
            display: inline-block;
            color: currentColor !important;
            flex-shrink: 0;
        }

        /* Tabs */
        .tabs-container {
            margin-bottom: 0;
        }

        .tabs-list {
            background: rgba(0, 0, 0, 0.6);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 8px;
            display: inline-flex;
            padding: 4px;
        }

        .tab-trigger {
            background: transparent;
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s;
            display: flex;
            align-items: center;
            gap: 8px;
            font-weight: 600;
        }

        .tab-trigger.active {
            background: #E72448;
            color: white;
        }

        .tab-trigger:hover:not(.active) {
            background: rgba(255, 255, 255, 0.1);
        }

        .tab-icon {
            width: 16px;
            height: 16px;
            fill: currentColor;
        }

        /* Tab Content */
        .tab-content {
            display: none;
        }

        .tab-content.active {
            display: block;
        }

        /* Main Content - No gap */
        .main-content {
            background: linear-gradient(to bottom, #0a0a0f, #0f0f1a, #0a0a0f);
            padding: 48px 24px;
            margin-top: 0;
        }

        .content-section {
            margin-bottom: 48px;
        }

        .description {
            font-size: 18px;
            color: #d1d5db;
            line-height: 1.6;
            margin-bottom: 48px;
            max-width: 800px;
        }

        /* Tournament Info Cards - Proper Icons */
        .cards-grid-4 {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
            margin-bottom: 48px;
        }

        .info-card {
            background: rgba(31, 41, 55, 0.8);
            backdrop-filter: blur(24px);
            border: 1px solid rgba(55, 65, 81, 0.5);
            border-radius: 12px;
            padding: 24px;
            text-align: center;
        }

        .card-header {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            margin-bottom: 12px;
        }

        .card-icon {
            width: 24px;
            height: 24px;
            display: inline-block;
            color: currentColor !important;
            vertical-align: middle;
        }

        .card-label {
            color: #22d3ee;
            font-weight: 700;
            font-size: 12px;
            letter-spacing: 0.1em;
        }

        .card-value {
            color: white;
            font-weight: 700;
            font-size: 20px;
        }

        /* Prize Pool - Proper Trophy Icons */
        .prize-section {
            text-align: center;
            margin-bottom: 64px;
        }

        .section-title {
            font-size: 48px;
            font-weight: 900;
            margin-bottom: 48px;
            color: #D1D5DB;
            background: none;
            -webkit-background-clip: initial;
            -webkit-text-fill-color: initial;
        }

        .prize-podium {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 48px;
            max-width: 800px;
            margin: 0 auto;
        }

        .prize-place {
            text-align: center;
        }

        .prize-place.first {
            transform: scale(1.4);
            margin: 37px 40px;
        }

        .prize-icon {
            width: 128px;
            height: 128px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 12px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
        }

        .prize-place.first .prize-icon {
            border: 3px solid #E72448;
        }

        .prize-place.second .prize-icon {
            border: 3px solid #FF5833;
        }

        .prize-place.third .prize-icon {
            border: 3px solid #33FF6C;
        }

        .prize-place:not(.first):not(.second):not(.third) .prize-icon {
            border: 3px solid #9ca3af;
        }

        .prize-icon.second {
            background: linear-gradient(to bottom right, #6b7280, #4b5563);
        }

        .prize-icon.third {
            background: linear-gradient(to bottom right, #d97706, #b45309);
        }

        .prize-icon.fourth {
            background: linear-gradient(to bottom right, #97c42c, #63604b);
        }

        .trophy-icon {
            width: 48px;
            height: 48px;
            fill: currentColor;
        }

        .trophy-icon.first {
            width: 64px;
            height: 64px;
            fill: #92400e;
        }

        .trophy-icon.second,
        .trophy-icon.fourth {
            fill: #d1d5db;
        }

        .trophy-icon.third {
            fill: #f59e0b;
        }

        .prize-label {
            font-size: 12px;
            color: #9ca3af;
            margin-bottom: 8px;
            font-weight: 600;
        }

        .prize-label.first {
            color: #C7FD50;
        }

        .prize-amount {
            font-size: 32px;
            font-weight: 900;
            color: white;
        }

        .prize-amount.first {
            font-size: 40px;
        }

        /* Format & Rules - Proper Icons */
        .rules-section {
            text-align: center;
            margin-bottom: 64px;
        }

        .rules-title {
            font-size: 48px;
            font-weight: 900;
            margin-bottom: 48px;
            color: #D1D5DB;
            background: none;
            -webkit-background-clip: initial;
            -webkit-text-fill-color: initial;
        }

        .rules-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 24px;
            max-width: 1000px;
            margin: 0 auto 32px;
        }

        .rule-card {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 24px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            transition: all 0.3s;
            text-align: left;
        }

        .rule-card:hover {
            background: rgba(255, 255, 255, 0.1);
            border-color: rgba(255, 255, 255, 0.2);
        }

        .rule-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 20px;
            line-height: 1;
        }

        .rule-header h3 {
            font-size: 20px;
            font-weight: 900;
            letter-spacing: 0.05em;
        }

        .rule-header.red h3 {
            color: #E72448;
        }

        .rule-header.lime h3 {
            color: #C7FD50;
        }

        .rule-header.orange h3 {
            color: #FF5833;
        }

        .rule-header-icon {
            width: 24px;
            height: 24px;
            fill: currentColor;
        }

        .rule-item {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            color: #d1d5db;
            margin-bottom: 12px;
            font-size: 14px;
        }

        .rule-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            flex-shrink: 0;
            margin-top: 6px;
        }

        .rule-dot.red {
            background: #E72448;
        }

        .rule-dot.lime {
            background: #C7FD50;
        }

        .settings-card {
            grid-column: 1 / -1;
            margin-top: 16px;
        }

        .settings-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 16px;
        }

        .setting-item {
            display: flex;
            align-items: center;
            gap: 12px;
            color: #d1d5db;
            font-size: 14px;
        }

        .check-icon {
            width: 16px;
            height: 16px;
            fill: #33FF6C;
            flex-shrink: 0;
        }

        /* Procedural Rules */
        .procedural-rules {
            max-width: 1200px;
            margin: 0 auto;
        }

        .rules-content {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 32px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
        }

        .rules-list {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
        }

        .rule-text {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            color: #d1d5db;
            font-size: 14px;
            line-height: 1.5;
        }

        /* Code of Conduct */
        .conduct-section {
            margin-top: 64px;
        }

        .conduct-content {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 32px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
        }

        .conduct-intro {
            color: #d1d5db;
            font-size: 16px;
            line-height: 1.6;
            margin-bottom: 24px;
        }

        .conduct-list {
            display: grid;
            grid-template-columns: 1fr;
            gap: 12px;
        }

        /* Placeholder Content for Bracket and Stream */
        .placeholder-content {
            text-align: center;
            padding: 80px 20px;
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            margin: 48px 0;
        }

        .placeholder-icon {
            width: 96px;
            height: 96px;
            fill: #9ca3af;
            margin: 0 auto 24px;
            opacity: 0.7;
        }

        .placeholder-title {
            font-size: 48px;
            font-weight: 900;
            color: white;
            margin-bottom: 16px;
        }

        .placeholder-text {
            font-size: 18px;
            color: #9ca3af;
            max-width: 500px;
            margin: 0 auto;
        }

        /* Stream Videos Section */
        .stream-videos-container {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 32px;
            margin: 48px 0;
        }

        .stream-videos-title {
            font-size: 48px;
            font-weight: 900;
            color: white;
            margin-bottom: 32px;
            text-align: center;
        }

        .videos-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 32px;
            max-width: 1000px;
            margin: 0 auto;
        }

        .video-embed-wrapper {
            position: relative;
            width: 100%;
            height: 0;
            padding-bottom: 56.25%; /* 16:9 aspect ratio */
            overflow: hidden;
            border-radius: 12px;
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
        }

        .video-embed-wrapper iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
            border-radius: 12px;
        }

        /* Responsive adjustments for videos */
        @media (max-width: 768px) {
            .stream-videos-container {
                padding: 24px 16px;
            }

            .stream-videos-title {
                font-size: 36px;
                margin-bottom: 24px;
            }

            .videos-grid {
                gap: 24px;
            }
        }

        /* Footer */
        .footer {
            background: rgba(0, 0, 0, 0.5);
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding: 48px 0;
            margin-top: 64px;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 32px;
        }

        .footer-section h3 {
            font-size: 18px;
            font-weight: 900;
            color: white;
            margin-bottom: 16px;
        }

        .footer-section p {
            color: #9ca3af;
            margin-bottom: 4px;
        }

        .social-links {
            display: flex;
            gap: 16px;
        }

        .social-btn {
            background: transparent;
            border: none;
            color: #9ca3af;
            cursor: pointer;
            transition: color 0.3s;
            padding: 8px;
        }

        .social-btn:hover {
            color: white;
        }

        .social-icon {
            width: 20px;
            height: 20px;
            fill: currentColor;
        }

        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            margin-top: 32px;
            padding-top: 32px;
            text-align: center;
        }

        .footer-bottom p {
            color: #9ca3af;
            font-size: 14px;
        }

        /* Prize Place Colors */
        .prize-place.first .prize-label,
        .prize-place.first .prize-amount {
            color: #E72448;
        }

        .prize-place.second .prize-label,
        .prize-place.second .prize-amount {
            color: #FF5833;
        }

        .prize-place.third .prize-label,
        .prize-place.third .prize-amount {
            color: #33FF6C;
        }

        .prize-place:not(.first):not(.second):not(.third) .prize-label,
        .prize-place:not(.first):not(.second):not(.third) .prize-amount {
            color: #9ca3af;
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .cards-grid-4 {
                grid-template-columns: repeat(2, 1fr);
            }
            
            .rules-grid {
                grid-template-columns: 1fr;
            }
            
            .rules-list {
                grid-template-columns: 1fr;
            }

            .conduct-list {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 768px) {
            .nav-links {
                display: none;
            }
            
            .cards-grid-4 {
                grid-template-columns: 1fr;
            }
            
            .prize-podium {
                flex-direction: column;
                align-items: center;
                gap: 24px;
            }
            
            .prize-place.first {
                transform: none;
                order: -1;
                margin: auto;
            }
            
            .footer-grid {
                grid-template-columns: 1fr;
            }

            .schedule-item {
                flex-direction: column;
                align-items: flex-start;
                gap: 8px;
            }

            .rules-content {
                padding: 16px;
            }

            .rules-grid {
                display: grid !important;
                gap: 32px;
            }
        }

        @media (max-width: 600px) {
            .rules-list {
                flex-direction: column !important;
                gap: 16px !important;
            }
            
            .rules-list .rule-card {
                min-width: 0 !important;
                width: 100% !important;
                flex: 1 1 100% !important;
            }
            
            .rules-content {
                padding: 16px;
            }
            
            .rules-grid {
                display: grid !important;
                gap: 32px;
            }
        }
        
        
        @media (max-width: 768px) {
  .tabs-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }

  .tab-trigger {
    width: 100%;
    text-align: left;
  }
}

/* Winners Tab Custom Styles */
.vt-tournament-container {
    min-height: 100vh;
    color: white;
    font-family: 'Inter', system-ui, sans-serif;
}

/* Winners Table Section */
.vt-winners-schedule-section {
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    padding: 2rem;
    margin-bottom: 5rem;
    max-width: 100%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
}

.vt-winners-schedule-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    color: #84cc16;
    font-weight: 700;
    font-size: 1.125rem;
    letter-spacing: 0.05em;
}

.vt-schedule-icon {
    width: 1.5rem;
    height: 1.5rem;
    color: #84cc16;
}

.vt-winners-table-wrapper {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.vt-winners-table {
    width: 100%;
    border-collapse: collapse;
}

.vt-winners-table th {
    background: rgba(0, 0, 0, 0.3);
    padding: 1rem 1.5rem;
    text-align: left;
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    color: #84cc16;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.vt-winners-table td {
    padding: 1rem 1.5rem;
}

table td, table th {
    border: none !important;
}

.vt-winner-row {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vt-winner-row:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateX(4px);
}

.vt-winner-row:last-child td {
    border-bottom: none;
}

.vt-place-cell {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
    color: white;
}

.vt-team-cell {
    font-weight: 600;
    color: white;
}

.vt-prize-cell {
    font-weight: 700;
}

.vt-first-prize { color: #ffffff; }
.vt-second-prize { color: #ffffff; }
.vt-third-prize { color: #ffffff; }

/* Gallery Section */
.vt-winners-gallery-section {
    margin-bottom: 5rem;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.vt-gallery-title {
    font-size: clamp(2rem, 5vw, 2.5rem);
    font-weight: 900;
    color: #e5e7eb;
    text-align: center;
    margin-bottom: 3rem;
    letter-spacing: -0.02em;
}

.vt-winners-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.vt-gallery-item {
    position: relative;
    aspect-ratio: 4/3;
    border-radius: 0.75rem;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.vt-gallery-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4);
}

.vt-gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vt-gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vt-gallery-item:hover .vt-gallery-overlay {
    opacity: 1;
}

.vt-gallery-item:hover .vt-gallery-image {
    transform: scale(1.1);
}

.vt-expand-icon {
    width: 2rem;
    height: 2rem;
    color: white;
}

/* Video Section */
.vt-tournament-video-section {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.vt-video-title {
    font-size: clamp(2rem, 5vw, 2.5rem);
    font-weight: 900;
    color: #e5e7eb;
    margin-bottom: 3rem;
    letter-spacing: -0.02em;
}

.vt-video-item {
    position: relative;
    aspect-ratio: 16/9;
    border-radius: 0.75rem;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.vt-video-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4);
}

.vt-video-thumbnail {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vt-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vt-video-item:hover .vt-video-overlay {
    background: rgba(0, 0, 0, 0.6);
}

.vt-video-item:hover .vt-video-thumbnail {
    transform: scale(1.05);
}

.vt-play-button {
    width: 5rem;
    height: 5rem;
    background: rgba(220, 38, 38, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 30px rgba(220, 38, 38, 0.3);
}

.vt-video-item:hover .vt-play-button {
    background: #dc2626;
    transform: scale(1.1);
    box-shadow: 0 15px 40px rgba(220, 38, 38, 0.5);
}

.vt-play-icon {
    width: 2rem;
    height: 2rem;
    color: white;
    margin-left: 0.25rem;
}

/* Lightbox */
.vt-lightbox {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(10px);
}

.vt-lightbox-content {
    position: relative;
    margin: auto;
    padding: 1.25rem;
    width: 90%;
    max-width: 50rem;
    top: 50%;
    transform: translateY(-50%);
}

.vt-lightbox-image,
.vt-lightbox-video {
    width: 100%;
    height: auto;
    max-height: 80vh;
    border-radius: 0.75rem;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}

.vt-lightbox-close {
    position: absolute;
    top: -2.5rem;
    right: 0;
    color: white;
    font-size: 2.5rem;
    font-weight: bold;
    cursor: pointer;
    z-index: 1001;
    transition: color 0.3s;
    background: rgba(0, 0, 0, 0.5);
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vt-lightbox-close:hover {
    color: #dc2626;
    background: rgba(0, 0, 0, 0.8);
}
</style>/* End custom CSS */