
        /* ============ DYNAMIC THEME COLORS (LIGHT MODE) ============ */
        

        /* Interactive Background - Restricted to Hero */
        #sky-canvas {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            background: radial-gradient(ellipse at bottom, #1B2735 0%, #090A0F 100%);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: var(--font-family), sans-serif;
            background: var(--white);
            color: var(--dark);
            line-height: 1.6;
            overflow-x: hidden;
        }

        /* ============ CUSTOM SCROLLBAR ============ */
        ::-webkit-scrollbar {
            width: 10px;
            height: 10px;
        }

        ::-webkit-scrollbar-track {
            background: var(--light);
            border-radius: 10px;
        }

        ::-webkit-scrollbar-thumb {
            background: var(--primary);
            border-radius: 10px;
            border: 2px solid var(--white);
        }

        ::-webkit-scrollbar-thumb:hover {
            background: var(--primary-dark);
        }

        /* ============ TRANSPARENT NAVIGATION WITH SMOOTH SCROLL CHANGE ============ */
        .navbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            padding: 1.5rem 2rem;
            background: transparent;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .navbar.scrolled {
            background: #ffffff !important;
            box-shadow: 0 4px 25px rgba(0, 0, 0, 0.06);
            padding: 0.8rem 2rem;
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        }

        .nav-container {
            max-width: 1400px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .nav-logo {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            font-size: 1.6rem;
            font-weight: 800;
            letter-spacing: -0.5px;
            text-decoration: none;
            transition: var(--transition-smooth);
        }

        .navbar:not(.scrolled) .nav-logo i,
        .navbar:not(.scrolled) .nav-logo span {
            color: white;
            -webkit-text-fill-color: white;
            background: none;
            text-shadow: 0 2px 10px rgba(0,0,0,0.2);
        }

        .navbar.scrolled .nav-logo i,
        .navbar.scrolled .nav-logo span {
            background: var(--purple-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .nav-links {
            display: flex;
            gap: 2.5rem;
            align-items: center;
        }

        .nav-links a {
            text-decoration: none;
            font-weight: 600;
            position: relative;
            padding: 0.5rem 0;
            transition: var(--transition-smooth);
            font-size: 1rem;
        }

        .navbar:not(.scrolled) .nav-links a {
            color: #FFFFFF;
            font-weight: 600;
            text-shadow: 0 2px 8px rgba(0,0,0,0.6);
        }

        .navbar:not(.scrolled) .nav-links a:hover {
            color: #c4b5fd !important;
            text-shadow: 0 0 15px rgba(167, 139, 250, 0.65);
        }

        .navbar.scrolled .nav-links a {
            color: #1e293b !important;
            font-weight: 700;
        }

        .navbar.scrolled .nav-links a:hover {
            color: var(--primary);
        }

        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2.5px;
            background: var(--purple-gradient);
            transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            border-radius: 2px;
        }

        .navbar:not(.scrolled) .nav-links a::after {
            background: linear-gradient(90deg, #FFFFFF, #c4b5fd);
            box-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
        }

        .navbar.scrolled .nav-links a::after {
            background: var(--purple-gradient);
        }

        .nav-links a:hover::after,
        .nav-links a.active::after {
            width: 100%;
        }

        .navbar.scrolled .nav-links a.active {
            color: var(--primary);
        }

        .navbar:not(.scrolled) .nav-links a.active {
            color: white;
        }

        .btn-check {
            padding: 0.7rem 1.8rem !important;
            border-radius: 50px;
            transition: var(--transition-smooth) !important;
        }

        .navbar:not(.scrolled) .btn-check {
            background: rgba(255,255,255,0.15);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.2);
            color: white !important;
            box-shadow: 0 8px 20px rgba(0,0,0,0.1);
        }

        .navbar.scrolled .btn-check {
            background: var(--purple-gradient);
            color: white !important;
            box-shadow: 0 8px 20px rgba(139, 92, 246, 0.2);
        }

        .btn-check:hover {
            transform: translateY(-2px);
        }

        .navbar:not(.scrolled) .btn-check:hover {
            background: rgba(255,255,255,0.25);
            border-color: rgba(255,255,255,0.3);
        }

        .navbar.scrolled .btn-check:hover {
            box-shadow: 0 12px 25px rgba(139, 92, 246, 0.3);
        }

        .btn-check::after {
            display: none !important;
        }

        .nav-toggle {
            display: none;
            font-size: 1.8rem;
            cursor: pointer;
            transition: var(--transition-smooth);
            width: 45px;
            height: 45px;
            border-radius: 50%;
            display: none;
            align-items: center;
            justify-content: center;
        }

        .navbar:not(.scrolled) .nav-toggle {
            color: white;
            background: rgba(255,255,255,0.1);
            border: 1px solid rgba(255,255,255,0.2);
        }

        .navbar.scrolled .nav-toggle {
            color: var(--dark);
            background: var(--light);
            border: 1px solid var(--gray-light);
        }

        .nav-toggle:hover {
            transform: rotate(90deg);
        }

        .navbar:not(.scrolled) .nav-toggle:hover {
            background: rgba(255,255,255,0.2);
        }

        .navbar.scrolled .nav-toggle:hover {
            background: var(--purple-gradient);
            color: white;
        }

        /* ============ DARK THEME NAVBAR NAVIGATION EFFECTS ============ */
        body.dark-page {
            background: #090A0F !important;
            color: var(--white);
        }
        body.dark-page .navbar.scrolled {
            background: rgba(15, 23, 42, 0.85) !important;
            backdrop-filter: blur(20px);
            box-shadow: 0 4px 25px rgba(0, 0, 0, 0.4);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }
        body.dark-page .navbar.scrolled .nav-logo i,
        body.dark-page .navbar.scrolled .nav-logo span {
            background: var(--purple-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent !important;
        }
        body.dark-page .navbar.scrolled .nav-links a {
            color: #F8FAFC !important;
        }
        body.dark-page .navbar.scrolled .nav-links a:hover {
            color: var(--primary) !important;
        }
        body.dark-page .navbar.scrolled .nav-toggle {
            color: white !important;
        }

        /* ============ DARK HERO WITH MOTION BACKGROUND ============ */
        .hero {
            background: transparent;
            color: white;
            padding: 10rem 2rem 8rem;
            text-align: center;
            position: relative;
            overflow: hidden;
            isolation: isolate;
            margin-top: 0;
        }

        /* Moving Stars */
        .hero-stars {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
        }

        .star {
            position: absolute;
            background: white;
            border-radius: 50%;
            opacity: 0.3;
            animation: starFloat linear infinite;
        }

        @keyframes starFloat {
            0% {
                transform: translateY(0) translateX(0);
                opacity: 0.3;
            }
            50% {
                opacity: 0.8;
            }
            100% {
                transform: translateY(-100px) translateX(100px);
                opacity: 0;
            }
        }

        /* Motion Circles */
        .hero-circles {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
        }

        .circle {
            position: absolute;
            border-radius: 50%;
            background: radial-gradient(circle at 30% 30%, rgba(139, 92, 246, 0.2), rgba(124, 58, 237, 0.1));
            filter: blur(60px);
            animation: circleMove 20s ease-in-out infinite;
        }

        .circle-1 {
            width: 600px;
            height: 600px;
            top: -200px;
            left: -200px;
            animation-delay: 0s;
        }

        .circle-2 {
            width: 500px;
            height: 500px;
            bottom: -200px;
            right: -200px;
            animation-delay: -5s;
            background: radial-gradient(circle at 70% 70%, rgba(139, 92, 246, 0.15), rgba(124, 58, 237, 0.05));
        }

        .circle-3 {
            width: 400px;
            height: 400px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            animation-delay: -10s;
            background: radial-gradient(circle at 50% 50%, rgba(139, 92, 246, 0.1), rgba(124, 58, 237, 0.05));
        }

        @keyframes circleMove {
            0%, 100% {
                transform: translate(0, 0) scale(1);
            }
            33% {
                transform: translate(50px, -30px) scale(1.1);
            }
            66% {
                transform: translate(-30px, 50px) scale(0.9);
            }
        }

        .hero-content {
            max-width: 900px;
            margin: 0 auto;
            position: relative;
            z-index: 10;
            animation: fadeInUp 1s ease;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes pulse {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.85; transform: scale(1.05); }
        }

        .hero h1 {
            font-size: 4rem;
            margin-bottom: 1.2rem;
            font-weight: 800;
            line-height: 1.1;
            letter-spacing: -2px;
            text-shadow: 0 5px 30px rgba(0,0,0,0.3);
        }

        .hero-highlight {
            background: var(--purple-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            display: inline-block;
        }

        .hero p {
            font-size: 1.2rem;
            margin-bottom: 2.5rem;
            color: #FFFFFF;
            font-weight: 500;
            text-shadow: 0 2px 10px rgba(0,0,0,0.5);
            max-width: 700px;
            margin-left: auto;
            margin-right: auto;
        }

        .hero-stats {
            display: flex;
            justify-content: center;
            gap: 4rem;
            margin-top: 3rem;
            position: relative;
            z-index: 10;
        }

        .stat {
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
        }

        .stat::after {
            content: '';
            position: absolute;
            right: -2rem;
            top: 20%;
            height: 60%;
            width: 1px;
            background: rgba(255,255,255,0.2);
        }

        .stat:last-child::after {
            display: none;
        }

        .stat-number {
            font-size: 3rem;
            font-weight: 800;
            line-height: 1;
            margin-bottom: 0.3rem;
            background: var(--purple-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            filter: drop-shadow(0 4px 12px rgba(139, 92, 246, 0.4));
        }

        .stat-label {
            font-size: 0.95rem;
            color: #FFFFFF;
            font-weight: 700;
            letter-spacing: 1px;
            text-transform: uppercase;
            text-shadow: 0 2px 8px rgba(0,0,0,0.5);
        }

        /* ============ SEARCH & FILTER SECTION ============ */
        .search-filter-section {
            max-width: 1400px;
            margin: 3rem auto 2rem;
            padding: 0 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1.5rem;
        }

        .filter-group {
            display: flex;
            align-items: center;
            position: relative;
            background: var(--light);
            border: 1px solid var(--gray-light);
            border-radius: 35px;
            padding: 0.3rem;
            z-index: 1;
            box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
        }

        .filter-slider-bg {
            position: absolute;
            top: 0.3rem;
            bottom: 0.3rem;
            left: 0.3rem;
            width: calc(50% - 0.3rem);
            background: var(--purple-gradient);
            border-radius: 35px;
            z-index: -1;
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            box-shadow: 0 4px 12px rgba(139, 92, 246, 0.25);
        }

        .filter-btn {
            padding: 0.7rem 1.5rem;
            border: none;
            background: transparent;
            color: #1E293B;
            font-weight: 700;
            font-size: 0.95rem;
            border-radius: 35px;
            cursor: pointer;
            transition: color 0.3s;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex: 1;
            justify-content: center;
        }

        .filter-btn i {
            font-size: 0.9rem;
        }

        .filter-btn.active {
            color: white;
        }

        .filter-btn:hover:not(.active) {
            color: var(--primary);
        }

        .search-wrapper {
            position: relative;
            width: 350px;
        }

        .search-icon {
            position: absolute;
            left: 1.2rem;
            top: 50%;
            transform: translateY(-50%);
            color: var(--gray);
            font-size: 1rem;
            z-index: 1;
        }

        .search-input {
            width: 100%;
            padding: 1rem 1rem 1rem 3rem;
            background: var(--white);
            border: 1px solid var(--gray-light);
            border-radius: 50px;
            color: var(--dark);
            font-size: 0.95rem;
            transition: var(--transition);
        }

        select.search-input {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            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%236b7280%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 1.5rem top 50%;
            background-size: 0.65rem auto;
            padding: 1rem 3rem 1rem 1.5rem !important;
            cursor: pointer;
        }

        .search-input:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
            background: var(--white);
        }

        .search-input::placeholder {
            color: #475569;
            opacity: 1;
            font-weight: 500;
        }

        .search-clear {
            position: absolute;
            right: 1.2rem;
            top: 50%;
            transform: translateY(-50%);
            color: var(--gray);
            cursor: pointer;
            display: none;
        }

        .search-clear:hover {
            color: var(--primary);
        }

        /* ============ EVENTS SECTION ============ */
        .events-section {
            padding: 2rem 2rem 6rem;
            max-width: 1400px;
            margin: 0 auto;
        }

        .events-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 2rem;
        }

        .events-header h2 {
            font-size: 2rem;
            font-weight: 700;
            color: var(--dark);
            letter-spacing: -0.5px;
        }

        .events-count {
            color: var(--gray);
            font-size: 0.95rem;
            background: var(--light);
            padding: 0.5rem 1.2rem;
            border-radius: 50px;
            border: 1px solid var(--gray-light);
        }

        .events-count span {
            color: var(--primary);
            font-weight: 700;
            margin-left: 0.3rem;
        }

        .events-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
            gap: 2rem;
        }

        /* ============ REDESIGNED EVENT CARD ============ */
        .event-card {
            background: var(--white);
            border: 1px solid var(--gray-light);
            border-radius: var(--border-radius);
            overflow: hidden;
            transition: var(--transition);
            position: relative;
            box-shadow: var(--shadow-sm);
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        .event-card:hover {
            transform: translateY(-8px) perspective(1000px) rotateX(2deg);
            border-color: var(--primary-light);
            box-shadow: 0 20px 40px rgba(0,0,0,0.2);
            z-index: 10;
        }

        .event-image-wrapper {
            position: relative;
            height: 280px;
            overflow: hidden;
            transform-style: preserve-3d;
        }

        .event-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s ease;
        }

        .event-card:hover .event-image {
            transform: scale(1.08);
        }

        /* Dark overlay fading down */
        .event-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(to bottom, 
                rgba(0,0,0,0.7) 0%,
                rgba(0,0,0,0.15) 35%,
                rgba(0,0,0,0.15) 60%,
                rgba(0,0,0,0.8) 100%);
            opacity: 0.8;
            transition: var(--transition);
        }

        .event-card:hover .event-overlay {
            opacity: 0.9;
        }

        /* Event title on top left */
        .event-title-overlay {
            position: absolute;
            top: 1.5rem;
            left: 1.5rem;
            right: 1.5rem;
            z-index: 15;
            color: white;
            text-shadow: 0 2px 10px rgba(0,0,0,0.3);
            transform: translateZ(20px);
        }

        .event-title-overlay h3 {
            font-size: 1.6rem;
            font-weight: 800;
            line-height: 1.2;
            letter-spacing: -0.5px;
            margin-bottom: 0.3rem;
            text-shadow: 0 4px 12px rgba(0,0,0,0.6);
        }

        /* Event Ribbon */
        .event-ribbon {
            position: absolute;
            top: 25px;
            right: -35px;
            background: linear-gradient(135deg, #ef4444, #b91c1c); /* Red for Sold Out */
            color: white;
            padding: 6px 40px;
            font-size: 0.75rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 1px;
            transform: rotate(45deg);
            box-shadow: 0 4px 12px rgba(220, 38, 38, 0.4);
            z-index: 20;
            pointer-events: none;
            text-align: center;
        }
        .event-ribbon.hurry {
            background: linear-gradient(135deg, #f59e0b, #d97706); /* Orange for Hurry */
            box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
            animation: pulseHurry 1.5s infinite;
        }
        @keyframes pulseHurry {
            0% { transform: rotate(45deg) scale(1); }
            50% { transform: rotate(45deg) scale(1.05); }
            100% { transform: rotate(45deg) scale(1); }
        }

        /* Badge on top right */
        .event-badge-top {
            position: absolute;
            top: 0.8rem;
            right: 0.8rem;
            z-index: 15;
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
            justify-content: flex-end;
            transform: translateZ(20px);
        }

        .badge-pill {
            padding: 0.3rem 0.8rem;
            border-radius: 50px;
            font-size: 0.65rem;
            font-weight: 800;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border: 1px solid rgba(255,255,255,0.2);
            color: white;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }

        .badge-pill.public {
            background: rgba(16, 185, 129, 0.9);
        }

        .badge-pill.private {
            background: linear-gradient(135deg, #F59E0B, #D97706);
            border-color: rgba(251, 191, 36, 0.3);
            color: white;
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
        }

        .badge-pill.full {
            background: rgba(239, 68, 68, 0.9);
        }

        /* Price on bottom left */
        .event-price-bottom {
            position: absolute;
            bottom: 1.5rem;
            left: 1.5rem;
            z-index: 15;
            background: rgba(0, 0, 0, 0.6);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.2);
            border-radius: 50px;
            padding: 0.6rem 1.2rem;
            color: #F59E0B;
            font-weight: 700;
            font-size: 1.1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transform: translateZ(20px);
        }

        .event-price-bottom i {
            color: #F59E0B;
        }

        /* Date on bottom right */
        .event-date-bottom {
            position: absolute;
            bottom: 1.5rem;
            right: 1.5rem;
            z-index: 15;
            background: rgba(0, 0, 0, 0.6);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.2);
            border-radius: 12px;
            padding: 0.6rem 1.2rem;
            text-align: center;
            color: white;
        }

        .event-date-bottom .month {
            font-size: 0.75rem;
            color: rgba(255,255,255,0.8);
            display: block;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .event-date-bottom .day {
            font-size: 1.4rem;
            font-weight: 700;
            color: white;
            line-height: 1;
            margin-top: 0.2rem;
        }

        /* Event content below image */
        .event-content {
            padding: 1.8rem;
            display: flex;
            flex-direction: column;
            gap: 1.2rem;
            flex: 1;
        }

        .event-venue {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            color: #1E293B;
            font-weight: 600;
            font-size: 0.95rem;
        }

        .event-venue i {
            color: var(--primary);
        }

        .event-description-short {
            color: #334155;
            font-size: 0.95rem;
            line-height: 1.6;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .event-stats-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .event-stat {
            display: flex;
            flex-direction: column;
        }

        .event-stat-label {
            font-size: 0.75rem;
            color: #475569;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .event-stat-value {
            font-size: 1.15rem;
            font-weight: 800;
            color: var(--dark);
        }

        .capacity-indicator {
        }

        .capacity-text {
            display: flex;
            justify-content: space-between;
            font-size: 0.85rem;
            color: #1E293B;
            margin-bottom: 0.4rem;
            font-weight: 700;
        }

        .capacity-bar {
            width: 100%;
            height: 6px;
            background: var(--gray-light);
            border-radius: 3px;
            overflow: hidden;
        }

        .capacity-fill {
            height: 100%;
            background: var(--purple-gradient);
            border-radius: 3px;
            transition: width 0.6s ease;
        }

        /* ============ BUTTON STYLES ============ */
        .event-actions {
            display: flex;
            gap: 1rem;
            align-items: center;
            margin-top: auto;
            padding-top: 0.5rem;
        }

        .btn-details {
            width: 52px;
            height: 52px;
            border: none;
            border-radius: 50%;
            background: var(--light);
            border: 1px solid var(--gray-light);
            color: var(--primary);
            font-size: 1.2rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
            flex: 0 0 auto;
        }

        .btn-details:hover {
            background: var(--purple-gradient);
            color: white;
            border-color: transparent;
            transform: scale(1.1);
            box-shadow: 0 8px 20px rgba(139, 92, 246, 0.2);
        }

        .btn-reserve {
            flex: 1;
            padding: 1rem 1.5rem;
            border: none;
            border-radius: 50px;
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.8rem;
            transition: var(--transition);
            background: var(--purple-gradient);
            color: white;
            box-shadow: 0 8px 20px rgba(139, 92, 246, 0.2);
            position: relative;
            overflow: hidden;
        }

        .btn-reserve::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            border-radius: 50%;
            background: rgba(255,255,255,0.3);
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }

        .btn-reserve:hover::before {
            width: 300px;
            height: 300px;
        }

        .btn-reserve:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 25px rgba(139, 92, 246, 0.3);
        }

        .btn-reserve i {
            font-size: 1.1rem;
        }

        .btn-reserve:disabled {
            background: #475569 !important;
            color: #94a3b8 !important;
            opacity: 0.8;
            cursor: not-allowed;
            transform: none;
            box-shadow: none;
            border: none;
        }

        .btn-reserve:disabled::before {
            display: none;
        }

        .btn-outline {
            background: transparent;
            border: 1px solid var(--primary);
            color: var(--primary);
            box-shadow: none;
        }

        .btn-outline:hover {
            background: var(--primary);
            color: white;
        }

        /* ============ PREMIUM MODAL - ENHANCED STYLING ============ */
        .modal {
            display: none;
            position: fixed;
            z-index: 9999;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.8);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            animation: modalFadeIn 0.3s ease;
        }

        @keyframes modalFadeIn {
            from { opacity: 0; backdrop-filter: blur(0); }
            to { opacity: 1; backdrop-filter: blur(10px); }
        }

        .modal-content {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90%;
            max-width: 700px;
            max-height: 85vh;
            overflow-y: auto;
            background: var(--white);
            border-radius: 32px;
            padding: 2.5rem;
            color: var(--dark);
            box-shadow: var(--shadow-xl);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            animation: modalSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            border: 1px solid rgba(139, 92, 246, 0.1);
        }

        @keyframes modalSlideIn {
            from {
                opacity: 0;
                transform: translate(-50%, -40%);
            }
            to {
                opacity: 1;
                transform: translate(-50%, -50%);
            }
        }

        .modal-close {
            position: absolute;
            top: 20px;
            right: 20px;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--light);
            border: 1px solid var(--gray-light);
            color: var(--gray);
            font-size: 1.5rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
            z-index: 30;
        }

        .modal-close:hover {
            background: var(--purple-gradient);
            color: white;
            border-color: transparent;
            transform: rotate(90deg);
        }

        /* ============ ENHANCED EVENT DETAILS MODAL ============ */
        .modal-gallery {
            margin-bottom: 2rem;
            border-radius: 20px;
            overflow: hidden;
            position: relative;
            box-shadow: var(--shadow-lg);
        }

        .swiper {
            width: 100%;
            height: 350px;
            border-radius: 20px;
        }

        .swiper-slide {
            position: relative;
            border-radius: 20px;
            overflow: hidden;
        }

        .swiper-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s ease;
        }

        .swiper-slide:hover img {
            transform: scale(1.05);
        }

        .swiper-slide::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
            pointer-events: none;
        }

        .swiper-pagination-bullet {
            background: white !important;
            opacity: 0.5;
            width: 8px;
            height: 8px;
            transition: var(--transition);
        }

        .swiper-pagination-bullet-active {
            opacity: 1;
            background: var(--primary) !important;
            width: 24px;
            border-radius: 4px;
        }

        .swiper-button-next,
        .swiper-button-prev {
            color: white !important;
            background: rgba(0,0,0,0.3);
            width: 44px !important;
            height: 44px !important;
            border-radius: 50%;
            backdrop-filter: blur(4px);
            border: 1px solid rgba(255,255,255,0.2);
            transition: var(--transition);
        }

        .swiper-button-next:hover,
        .swiper-button-prev:hover {
            background: var(--primary);
            border-color: transparent;
            transform: scale(1.1);
        }

        .swiper-button-next:after,
        .swiper-button-prev:after {
            font-size: 1.2rem !important;
        }

        .modal-event-header {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
            margin-bottom: 1.5rem;
        }

        .modal-event-badge {
            padding: 0.5rem 1.2rem;
            border-radius: 50px;
            font-size: 0.8rem;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: var(--light);
            color: var(--gray);
            border: 1px solid var(--gray-light);
        }

        .modal-event-badge i {
            color: var(--primary);
        }

        .modal-event-badge.highlight {
            background: var(--purple-gradient);
            color: white;
        }

        .modal-event-badge.highlight i {
            color: white;
        }

        .modal-title {
            font-size: 2rem;
            font-weight: 700;
            color: var(--dark);
            margin-bottom: 1rem;
            line-height: 1.2;
            letter-spacing: -0.5px;
        }

        .modal-info-grid {
            display: flex;
            gap: 2rem;
            color: #334155;
            font-weight: 500;
            flex-wrap: wrap;
            border-bottom: 1px solid var(--gray-light);
            padding-bottom: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .modal-info-item {
            display: flex;
            align-items: center;
            gap: 0.8rem;
        }

        .modal-info-item i {
            color: var(--primary);
            font-size: 1.1rem;
        }

        .modal-description {
            margin-bottom: 2rem;
            background: var(--light);
            padding: 1.5rem;
            border-radius: 16px;
            border-left: 4px solid var(--primary);
        }

        .modal-description h3 {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--dark);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .modal-description h3 i {
            color: var(--primary);
        }

        .modal-description p {
            color: #334155;
            line-height: 1.8;
            font-size: 0.97rem;
            font-weight: 500;
        }

        .modal-pricing-grid {
            display: flex;
            gap: 1.5rem;
            margin: 2rem 0;
            flex-wrap: wrap;
        }

        .modal-pricing-card {
            flex: 1;
            min-width: 200px;
            background: var(--white);
            padding: 1.5rem;
            border-radius: 16px;
            border: 1px solid var(--gray-light);
            transition: var(--transition);
            box-shadow: var(--shadow-sm);
        }

        .modal-pricing-card:hover {
            border-color: var(--primary);
            box-shadow: var(--shadow);
            transform: translateY(-2px);
        }

        .modal-pricing-label {
            font-size: 0.8rem;
            color: #475569;
            font-weight: 700;
            margin-bottom: 0.5rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .modal-pricing-value {
            font-size: 2rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 0.3rem;
        }

        .modal-pricing-sub {
            color: #475569;
            font-size: 0.85rem;
            font-weight: 500;
        }

        .modal-reserve-btn {
            width: 100%;
            padding: 1.2rem;
            border: none;
            border-radius: 50px;
            font-size: 1.1rem;
            font-weight: 700;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.8rem;
            transition: var(--transition);
            background: var(--purple-gradient);
            color: white;
            box-shadow: 0 8px 20px rgba(139, 92, 246, 0.2);
            margin-top: 1rem;
        }

        .modal-reserve-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 25px rgba(139, 92, 246, 0.3);
        }

        .modal-reserve-btn:disabled {
            background: #475569 !important;
            color: #94a3b8 !important;
            opacity: 0.8;
            cursor: not-allowed;
            transform: none;
            box-shadow: none;
            border: none;
        }

        /* ============ EXISTING RESERVATION CARD ============ */
        .existing-reservation-card {
            background: linear-gradient(135deg, #FEF3C7, #FDE68A);
            border-left: 6px solid var(--warning);
            border-radius: 20px;
            padding: 2rem;
            margin-bottom: 2rem;
            text-align: center;
            animation: slideIn 0.5s ease;
            box-shadow: var(--shadow);
        }

        .existing-reservation-card.confirmed {
            background: linear-gradient(135deg, #D1FAE5, #A7F3D0);
            border-left-color: var(--success);
        }

        .existing-reservation-card.expired {
            background: linear-gradient(135deg, #FEE2E2, #FECACA);
            border-left-color: var(--danger);
        }

        .existing-reservation-icon {
            font-size: 3.5rem;
            color: var(--warning);
            margin-bottom: 0.8rem;
        }

        .existing-reservation-card.confirmed .existing-reservation-icon {
            color: var(--success);
        }

        .existing-reservation-card.expired .existing-reservation-icon {
            color: var(--danger);
        }

        .existing-reservation-title {
            font-size: 1.6rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: #92400E;
        }

        .existing-reservation-card.confirmed .existing-reservation-title {
            color: #065F46;
        }

        .existing-reservation-card.expired .existing-reservation-title {
            color: #B91C1C;
        }

        .existing-reservation-code {
            background: rgba(255,255,255,0.8);
            padding: 1.2rem;
            border-radius: 16px;
            font-size: 1.6rem;
            font-weight: 700;
            color: var(--dark);
            letter-spacing: 4px;
            font-family: monospace;
            margin: 1.2rem 0;
            border: 2px dashed var(--warning);
        }

        .existing-reservation-card.confirmed .existing-reservation-code {
            border-color: var(--success);
        }

        .existing-reservation-card.expired .existing-reservation-code {
            border-color: var(--danger);
        }

        .reservation-status-badge {
            display: inline-block;
            padding: 0.5rem 1.5rem;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 700;
            margin-bottom: 1rem;
        }

        .status-pending {
            background: rgba(245, 158, 11, 0.2);
            color: #92400E;
            border: 1px solid var(--warning);
        }

        .status-confirmed {
            background: rgba(16, 185, 129, 0.2);
            color: #065F46;
            border: 1px solid var(--success);
        }

        .status-expired {
            background: rgba(239, 68, 68, 0.2);
            color: #B91C1C;
            border: 1px solid var(--danger);
        }

        /* ============ ENHANCED RESERVATION FLOW STEPS ============ */
        .reservation-flow {
            display: flex;
            flex-direction: column;
            gap: 1.8rem;
        }

        .flow-step {
            display: none;
            animation: fadeSlideIn 0.4s ease;
        }

        .flow-step.active {
            display: block;
        }

        @keyframes fadeSlideIn {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .step-indicator {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 2rem;
            position: relative;
        }

        .step-indicator::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            height: 2px;
            background: var(--gray-light);
            transform: translateY(-50%);
            z-index: 1;
        }

        .step-dot {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--white);
            border: 2px solid var(--gray-light);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: var(--gray);
            position: relative;
            z-index: 2;
            transition: var(--transition);
        }

        .step-dot.active {
            background: var(--primary);
            border-color: var(--primary);
            color: white;
        }

        .step-dot.completed {
            background: var(--success);
            border-color: var(--success);
            color: white;
        }

        .event-summary-card {
            background: var(--light);
            padding: 1.8rem;
            border-radius: 20px;
            margin-bottom: 2rem;
            border-left: 4px solid var(--primary);
            box-shadow: var(--shadow-sm);
        }

        .event-summary-card h4 {
            color: var(--dark);
            margin-bottom: 0.8rem;
            font-size: 1.4rem;
            font-weight: 700;
        }

        .event-summary-card p {
            color: var(--gray);
            margin-bottom: 0.3rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        /* ============ VERIFICATION CODE INPUT - AUTOMATIC ============ */
        .verification-container {
            text-align: center;
            padding: 1rem 0;
        }

        .verification-title {
            font-size: 1.3rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: var(--dark);
        }

        .verification-subtitle {
            color: var(--gray);
            margin-bottom: 1.5rem;
            font-size: 0.95rem;
        }

        .demo-code-box {
            background: linear-gradient(135deg, #FEF3C7, #FDE68A);
            border: 1px solid var(--warning);
            border-radius: 20px;
            padding: 1.2rem;
            margin-bottom: 2rem;
            text-align: center;
            box-shadow: var(--shadow);
        }

        .demo-code-label {
            font-size: 0.8rem;
            color: #92400E;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 0.3rem;
        }

        .demo-code {
            font-size: 2.5rem;
            font-weight: 800;
            color: #92400E;
            letter-spacing: 8px;
            font-family: monospace;
        }

        .code-input-group {
            display: flex;
            gap: 0.8rem;
            justify-content: center;
            margin-bottom: 1.5rem;
        }

        .code-digit {
            width: 70px;
            height: 80px;
            border: 2px solid var(--gray-light);
            border-radius: 16px;
            font-size: 2.2rem;
            font-weight: 700;
            text-align: center;
            color: var(--dark);
            transition: var(--transition);
            background: var(--white);
        }

        .code-digit:focus {
            border-color: var(--primary);
            outline: none;
            box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
        }

        .code-digit.error {
            border-color: var(--danger);
            animation: shake 0.3s ease;
        }

        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-5px); }
            75% { transform: translateX(5px); }
        }

        .resend-link {
            color: var(--primary);
            cursor: pointer;
            font-size: 0.95rem;
            display: inline-flex;
            align-items: center;
            gap: 0.3rem;
            transition: var(--transition);
            margin-top: 0.5rem;
        }

        .resend-link:hover {
            color: var(--primary-dark);
            text-decoration: underline;
        }

        .resend-timer {
            color: var(--gray);
            font-size: 0.95rem;
        }

        /* ============ FORM STYLES ============ */
        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-group label {
            display: block;
            margin-bottom: 0.6rem;
            font-weight: 600;
            color: var(--dark);
            font-size: 0.95rem;
        }

        .form-group label i {
            color: var(--primary);
            margin-right: 0.5rem;
        }

        .form-control {
            width: 100%;
            padding: 1rem 1.2rem;
            background: var(--white);
            border: 1px solid var(--gray-light);
            border-radius: 12px;
            color: var(--dark);
            font-size: 1rem;
            transition: var(--transition);
        }

        .form-control:hover {
            border-color: var(--primary);
        }

        .form-control:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
        }

        .form-control::placeholder {
            color: #64748B;
            opacity: 0.9;
        }

        .radio-group {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            margin-top: 0.5rem;
        }

        .radio-label {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            cursor: pointer;
            padding: 0.8rem 1.5rem;
            background: var(--light);
            border: 1px solid var(--gray-light);
            border-radius: 40px;
            color: #334155;
            font-weight: 600;
            transition: var(--transition);
        }

        .radio-label:hover {
            border-color: var(--primary);
            background: rgba(139, 92, 246, 0.05);
        }

        .radio-label input[type="radio"] {
            accent-color: var(--primary);
            width: 18px;
            height: 18px;
        }

        .form-actions {
            display: flex;
            gap: 1rem;
            margin-top: 2rem;
        }

        /* ============ SUCCESS ANIMATION ============ */
        .success-checkmark {
            width: 100px;
            height: 100px;
            margin: 0 auto 2rem;
            position: relative;
        }

        .check-icon {
            width: 100px;
            height: 100px;
            border-radius: 50%;
            background: var(--success);
            display: flex;
            align-items: center;
            justify-content: center;
            animation: scaleIn 0.5s ease;
            box-shadow: 0 10px 30px rgba(16, 185, 129, 0.3);
        }

        .check-icon i {
            font-size: 3.5rem;
            color: white;
        }

        @keyframes scaleIn {
            from {
                transform: scale(0);
                opacity: 0;
            }
            to {
                transform: scale(1);
                opacity: 1;
            }
        }

        /* ============ ALERTS ============ */
        .alert {
            padding: 1.2rem 1.5rem;
            border-radius: 12px;
            margin-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            animation: slideIn 0.3s ease;
        }

        .alert-success {
            background: #D1FAE5;
            border-left: 4px solid var(--success);
            color: #065F46;
        }

        .alert-error {
            background: #FEE2E2;
            border-left: 4px solid var(--danger);
            color: #B91C1C;
        }

        .alert-info {
            background: #DBEAFE;
            border-left: 4px solid var(--info);
            color: #1E40AF;
        }

        .alert-warning {
            background: #FEF3C7;
            border-left: 4px solid var(--warning);
            color: #92400E;
        }

        /* ============ NO EVENTS ============ */
        .no-events {
            grid-column: 1 / -1;
            text-align: center;
            padding: 5rem;
            background: var(--light);
            border: 1px solid var(--gray-light);
            border-radius: var(--border-radius);
            color: var(--dark);
        }

        .no-events i {
            font-size: 4rem;
            color: var(--gray-light);
            margin-bottom: 1.5rem;
        }

        .no-events h3 {
            font-size: 1.8rem;
            margin-bottom: 0.5rem;
            color: var(--dark);
        }

        .no-events p {
            color: var(--gray);
        }

        /* ============ HOST YOUR OWN EVENT SECTION ============ */
        .host-section {
            position: relative;
            padding: 10rem 2rem;
            text-align: center;
            overflow: hidden;
            background: #020617;
            color: white;
            margin-top: 4rem;
        }

        #host-canvas {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            pointer-events: none;
        }

        .host-content {
            position: relative;
            z-index: 10;
            max-width: 900px;
            margin: 0 auto;
        }

        .host-badge {
            display: inline-block;
            background: rgba(139, 92, 246, 0.2);
            border: 1px solid rgba(139, 92, 246, 0.4);
            color: #C4B5FD;
            padding: 0.5rem 1.5rem;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 700;
            margin-bottom: 2rem;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .host-section h2 {
            font-size: 3.5rem;
            font-weight: 800;
            margin-bottom: 1.5rem;
            line-height: 1.1;
            letter-spacing: -1.5px;
        }

        .host-section p {
            font-size: 1.2rem;
            color: rgba(255,255,255,0.85);
            margin-bottom: 3rem;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        .host-actions {
            display: flex;
            justify-content: center;
            gap: 1.5rem;
            align-items: center;
            margin-top: 1rem;
        }

        .host-actions .btn-get-started {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: linear-gradient(135deg, #8B5CF6, #6D28D9);
            color: white !important;
            padding: 1rem 2.5rem;
            border-radius: 50px;
            font-weight: 700;
            font-size: 1.05rem;
            letter-spacing: 0.5px;
            text-decoration: none;
            box-shadow: 0 8px 30px rgba(139, 92, 246, 0.35);
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            border: 1px solid rgba(139, 92, 246, 0.2);
        }

        .host-actions .btn-get-started:hover {
            transform: translateY(-4px) scale(1.03);
            box-shadow: 0 15px 35px rgba(139, 92, 246, 0.5);
            background: linear-gradient(135deg, #A78BFA, #7C3AED);
        }

        .host-actions .btn-learn-more {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: transparent;
            color: white !important;
            padding: 1rem 2.5rem;
            border-radius: 50px;
            font-weight: 700;
            font-size: 1.05rem;
            letter-spacing: 0.5px;
            text-decoration: none;
            border: 2px solid rgba(255, 255, 255, 0.25);
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        .host-actions .btn-learn-more:hover {
            transform: translateY(-4px) scale(1.03);
            background: rgba(255, 255, 255, 0.08);
            border-color: white;
            box-shadow: 0 10px 25px rgba(255, 255, 255, 0.1);
        }

        /* ============ FOOTER ============ */
        .footer {
            background: var(--dark);
            color: white;
            padding: 4rem 2rem 2rem;
            position: relative;
            overflow: hidden;
        }

        .footer::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--primary), transparent);
        }

        .footer-content {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 3rem;
            position: relative;
            z-index: 10;
        }

        .footer-section h3 {
            margin-bottom: 1.2rem;
            font-size: 1.1rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.8rem;
            color: white;
        }

        .footer-section h3 i {
            color: var(--primary);
        }

        .footer-section p,
        .footer-section a {
            color: rgba(255,255,255,0.82);
            text-decoration: none;
            line-height: 1.8;
            transition: var(--transition);
        }

        .footer-section a:hover {
            color: white;
        }

        .footer-section ul {
            list-style: none;
        }

        .footer-section ul li {
            margin-bottom: 0.8rem;
        }

        .footer-section ul li a {
            display: flex;
            align-items: center;
            gap: 0.8rem;
        }

        .footer-bottom {
            max-width: 1400px;
            margin: 0 auto;
            padding-top: 2rem;
            margin-top: 2rem;
            border-top: 1px solid rgba(255,255,255,0.1);
            text-align: center;
            color: rgba(255,255,255,0.5);
            font-size: 0.9rem;
        }

        /* ============ RESPONSIVE ============ */
        @media (max-width: 1024px) {
            .hero h1 { font-size: 3.2rem; }
            .hero { padding: 9rem 2rem 7rem; }
            .events-grid { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
            .search-wrapper { width: 300px; }
        }

        @media (max-width: 768px) {
            .nav-toggle {
                display: flex;
            }
            
            .nav-links {
                display: flex !important;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                flex-direction: column;
                padding: 0 1.5rem;
                max-height: 0;
                opacity: 0;
                overflow: hidden;
                transform: translateY(-12px);
                visibility: hidden;
                pointer-events: none;
                transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease, transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), padding 0.35s ease, visibility 0.45s;
                border-bottom: 1px solid transparent;
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
                z-index: 999;
            }
            
            .navbar:not(.scrolled) .nav-links {
                background: rgba(15, 23, 42, 0.96);
                backdrop-filter: blur(25px);
                -webkit-backdrop-filter: blur(25px);
            }
            
            .navbar.scrolled .nav-links {
                background: rgba(255, 255, 255, 0.98);
                backdrop-filter: blur(25px);
                -webkit-backdrop-filter: blur(25px);
                box-shadow: var(--shadow-lg);
            }
            
            .nav-links.active {
                max-height: 480px;
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                transform: translateY(0);
                padding: 1.25rem 1.5rem;
                border-bottom: 1px solid rgba(203, 213, 225, 0.2);
            }

            .nav-links a {
                padding: 0.85rem 1.2rem;
                margin: 0.25rem 0;
                border-radius: 14px;
                font-size: 1.05rem;
                display: flex;
                align-items: center;
                gap: 0.5rem;
                transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            }

            .navbar:not(.scrolled) .nav-links a:hover,
            .navbar:not(.scrolled) .nav-links a.active {
                background: rgba(255, 255, 255, 0.1);
                color: #fff !important;
                transform: translateX(6px);
            }

            .navbar.scrolled .nav-links a:hover,
            .navbar.scrolled .nav-links a.active {
                background: rgba(139, 92, 246, 0.1);
                color: var(--primary) !important;
                transform: translateX(6px);
            }
            
            .hero { padding: 8rem 1.5rem 6rem; }
            .hero h1 { font-size: 2.5rem; }
            .hero p { font-size: 1rem; }
            .hero-stats { flex-direction: column; gap: 1.5rem; }
            .stat::after { display: none; }
            
            .search-filter-section {
                flex-direction: column;
                align-items: stretch;
                margin-top: 2rem;
            }
            
            .filter-group {
                width: 100%;
                justify-content: center;
            }
            
            .search-wrapper {
                width: 100%;
            }
            
            .events-grid { grid-template-columns: 1fr; }
            .events-header { flex-direction: column; gap: 1rem; text-align: center; }
            
            .modal-content {
                width: 95%;
                padding: 1.8rem;
                max-width: 95%;
            }
            
            .code-digit {
                width: 55px;
                height: 65px;
                font-size: 1.8rem;
            }
            
            .demo-code {
                font-size: 2rem;
            }
            
            .step-dot {
                width: 40px;
                height: 40px;
            }
            
            .swiper {
                height: 250px;
            }

            .filter-location-wrapper {
                margin: 0.5rem 0;
            }

            .event-image-wrapper { height: 240px; }

            .host-section { padding: 6rem 1.5rem; }
            .host-section h2 { font-size: 2.2rem; }
            .host-actions { flex-direction: column; gap: 1rem; }
            .host-actions .btn-get-started,
            .host-actions .btn-learn-more { width: 100%; justify-content: center; }

            .footer-content { grid-template-columns: 1fr; gap: 2rem; }
        }

        @media (max-width: 480px) {
            .hero { padding: 7rem 1rem 5rem; }
            .hero h1 { font-size: 2rem; letter-spacing: -1px; }
            .hero p { font-size: 0.95rem; }
            .hero-stats { gap: 1rem; }
            .stat-number { font-size: 2.2rem; }
            .stat-label { font-size: 0.8rem; }

            .events-header h2 { font-size: 1.5rem; }
            .events-grid { grid-template-columns: 1fr; gap: 1.2rem; }

            .event-image-wrapper { height: 200px; }
            .event-title-overlay h3 { font-size: 1.2rem; }
            .event-content { padding: 1.2rem; gap: 0.8rem; }
            .event-venue { font-size: 0.85rem; }
            .event-description-short { font-size: 0.85rem; }
            .event-stat-value { font-size: 0.95rem; }
            .event-stat-label { font-size: 0.65rem; }

            .btn-reserve { padding: 0.8rem 1rem; font-size: 0.9rem; }
            .btn-details { width: 44px; height: 44px; font-size: 1rem; }

            .modal-content { padding: 1.2rem; border-radius: 20px; }
            .modal-close { top: 0.8rem; right: 0.8rem; width: 36px; height: 36px; font-size: 1.1rem; }

            .search-filter-section { gap: 0.8rem; padding: 0 1rem; }
            .smooth-dropdown-header { padding: 0.75rem 1.2rem; font-size: 0.9rem; }

            .nav-logo { font-size: 1.3rem; }
            .nav-toggle { width: 40px; height: 40px; font-size: 1.4rem; }

            .code-digit { width: 44px; height: 55px; font-size: 1.5rem; }

            .host-section { padding: 5rem 1rem; }
            .host-section h2 { font-size: 1.8rem; }
            .host-section p { font-size: 1rem; }
        }

        .filter-location-wrapper {
            position: relative;
            min-width: 150px;
        }

        .filter-location-wrapper::after {
            content: '\f107';
            font-family: 'Font Awesome 5 Free';
            font-weight: 900;
            position: absolute;
            right: 1.2rem;
            top: 50%;
            transform: translateY(-50%);
            color: var(--primary);
            pointer-events: none;
        }

        .search-filter-section {
            display: flex;
            align-items: center;
            gap: 1.5rem;
            max-width: 1400px;
            margin: 0 auto 3rem;
            padding: 0 2rem;
        }

        .invite-card {
            padding: 1rem 1.5rem;
            border-radius: 12px;
            margin-bottom: 0.8rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            transition: var(--transition);
        }

        .invite-card-purple {
            background: rgba(139, 92, 246, 0.08);
            border-left: 4px solid #8B5CF6;
        }

        .invite-card-yellow {
            background: rgba(245, 158, 11, 0.08);
            border-left: 4px solid #F59E0B;
        }

        .invite-card-green {
            background: rgba(16, 185, 129, 0.08);
            border-left: 4px solid #10B981;
        }

        .invite-card-red {
            background: rgba(239, 68, 68, 0.08);
            border-left: 4px solid #EF4444;
        }

        .invite-card-name {
            font-weight: 600;
            color: var(--dark);
            font-size: 1rem;
        }

        .invite-card-status {
            font-size: 0.85rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .text-purple { color: #7C3AED; }
        .text-yellow { color: #B45309; }
        .text-green { color: #047857; }
        .text-red { color: #B91C1C; }

        /* ============ BETA BADGE ON NAVBAR LOGO ============ */
        .beta-badge {
            display: inline-block;
            background: linear-gradient(135deg, #8B5CF6, #EC4899);
            color: #fff;
            font-size: 0.45em;
            padding: 0.15em 0.55em;
            border-radius: 6px;
            font-weight: 700;
            letter-spacing: 1.5px;
            transform: rotate(-12deg);
            margin-left: 0.3em;
            vertical-align: super;
            line-height: 1;
            animation: betaPulse 2.5s ease-in-out infinite;
            box-shadow: 0 2px 8px rgba(139, 92, 246, 0.4);
            text-shadow: none;
            -webkit-text-fill-color: #fff !important;
            background-clip: initial !important;
            -webkit-background-clip: initial !important;
        }

        @keyframes betaPulse {
            0%, 100% { transform: rotate(-12deg) scale(1); box-shadow: 0 2px 8px rgba(139, 92, 246, 0.4); }
            50% { transform: rotate(-12deg) scale(1.08); box-shadow: 0 4px 16px rgba(139, 92, 246, 0.6); }
        }

        /* ============ LOADING OVERLAY (BOUNCING BALLS) ============ */
        .loading-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.7);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            display: none;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            z-index: 99999;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .loading-overlay.active {
            display: flex;
            opacity: 1;
        }

        .loading-wrapper {
            width: 200px;
            height: 60px;
            position: relative;
            z-index: 1;
        }

        .loading-wrapper .ball {
            width: 20px;
            height: 20px;
            position: absolute;
            border-radius: 50%;
            background-color: #A78BFA;
            left: 15%;
            transform-origin: 50%;
            animation: loadingBounce .5s alternate infinite ease;
        }

        .loading-wrapper .ball:nth-child(1) { background-color: #8B5CF6; }
        .loading-wrapper .ball:nth-child(2) { left: 45%; animation-delay: .2s; background-color: #A78BFA; }
        .loading-wrapper .ball:nth-child(3) { left: auto; right: 15%; animation-delay: .3s; background-color: #C4B5FD; }

        @keyframes loadingBounce {
            0% { top: 60px; height: 5px; border-radius: 50px 50px 25px 25px; transform: scaleX(1.7); }
            40% { height: 20px; border-radius: 50%; transform: scaleX(1); }
            100% { top: 0%; }
        }

        .loading-wrapper .ball-shadow {
            width: 20px;
            height: 4px;
            border-radius: 50%;
            background-color: rgba(139, 92, 246, 0.3);
            position: absolute;
            top: 62px;
            transform-origin: 50%;
            z-index: -1;
            left: 15%;
            filter: blur(1px);
            animation: loadingShadow .5s alternate infinite ease;
        }

        .loading-wrapper .ball-shadow:nth-child(4) { left: 45%; animation-delay: .2s; }
        .loading-wrapper .ball-shadow:nth-child(5) { left: auto; right: 15%; animation-delay: .3s; }

        @keyframes loadingShadow {
            0% { transform: scaleX(1.5); }
            40% { transform: scaleX(1); opacity: .7; }
            100% { transform: scaleX(.2); opacity: .4; }
        }

        .loading-text {
            color: rgba(255, 255, 255, 0.9);
            font-size: 1rem;
            font-weight: 500;
            margin-top: 1.5rem;
            letter-spacing: 1px;
        }

        /* ============ ENHANCED INVITE FRIEND BUTTON ============ */
        .invite-friend-card {
            background: linear-gradient(135deg, rgba(139, 92, 246, 0.08), rgba(236, 72, 153, 0.08));
            border: 1px solid rgba(139, 92, 246, 0.2);
            border-radius: 20px;
            padding: 2rem;
            text-align: center;
            margin-bottom: 2rem;
            transition: var(--transition);
        }

        .invite-friend-card:hover {
            border-color: rgba(139, 92, 246, 0.4);
            box-shadow: 0 8px 32px rgba(139, 92, 246, 0.12);
        }

        .invite-icon-wrap {
            width: 64px;
            height: 64px;
            background: linear-gradient(135deg, #8B5CF6, #EC4899);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
            font-size: 1.5rem;
            color: white;
            animation: inviteIconFloat 3s ease-in-out infinite;
        }

        @keyframes inviteIconFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-6px); }
        }

        .btn-invite-friend {
            background: linear-gradient(135deg, #8B5CF6, #7C3AED);
            color: white;
            border: none;
            padding: 1rem 2rem;
            border-radius: 50px;
            cursor: pointer;
            font-weight: 600;
            font-size: 1.05rem;
            display: inline-flex;
            align-items: center;
            gap: 0.8rem;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            box-shadow: 0 4px 15px rgba(139, 92, 246, 0.3);
            position: relative;
            overflow: hidden;
        }

        .btn-invite-friend::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: left 0.6s ease;
        }

        .btn-invite-friend:hover {
            transform: translateY(-3px) scale(1.02);
            box-shadow: 0 8px 25px rgba(139, 92, 246, 0.4);
        }

        .btn-invite-friend:hover::before {
            left: 100%;
        }

        .btn-invite-friend i {
            transition: transform 0.3s ease;
        }

        .btn-invite-friend:hover i {
            transform: scale(1.2) rotate(-10deg);
        }

        .invite-count-badge {
            background: rgba(255, 255, 255, 0.25);
            padding: 0.2rem 0.6rem;
            border-radius: 20px;
            font-size: 0.85rem;
            letter-spacing: 0.5px;
        }

        .invite-friend-subtitle {
            color: var(--gray);
            font-size: 0.9rem;
            margin-top: 0.8rem;
        }

        /* ============ CHECKOUT & PAYMENT STYLES ============ */
        .qty-btn {
            width: 40px;
            height: 40px;
            border-radius: 12px;
            border: 1px solid var(--gray-light);
            background: white;
            color: var(--primary);
            cursor: pointer;
            transition: var(--transition);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .qty-btn:hover {
            background: var(--primary);
            color: white;
            border-color: var(--primary);
        }
        .payment-card {
            cursor: pointer;
            position: relative;
        }
        .payment-card input {
            position: absolute;
            opacity: 0;
        }
        .payment-card-content {
            border: 2px solid var(--gray-light);
            border-radius: 15px;
            padding: 1.5rem 1rem;
            text-align: center;
            transition: var(--transition);
            display: flex;
            flex-direction: column;
            gap: 0.8rem;
            background: white;
        }
        .payment-card-content i {
            font-size: 1.5rem;
            color: var(--gray);
        }
        .payment-card input:checked + .payment-card-content {
            border-color: var(--primary);
            background: rgba(139, 92, 246, 0.05);
        }
        .payment-card input:checked + .payment-card-content i {
            color: var(--primary);
        }
        @keyframes pulseSuccess {
            0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); }
            70% { transform: scale(1.05); box-shadow: 0 0 0 20px rgba(16, 185, 129, 0); }
            100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
        }

/* ==========================================
   ABOUT PAGE STYLES
   ========================================== */
.main-container {
    max-width: 900px;
    margin: 120px auto 80px;
    padding: 0 24px;
    position: relative;
    z-index: 10;
}
.about-card {
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 32px;
    padding: 48px 40px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    color: #F8FAFC;
}
.about-card h1 {
    font-size: 2.75rem;
    font-weight: 800;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #A78BFA, #EC4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.vision-text {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #CBD5E1;
    margin-bottom: 24px;
}
.founders-section {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 40px;
    padding: 28px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
}
.founders-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(135deg, #8B5CF6, #EC4899);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: white;
    flex-shrink: 0;
}
.founders-text h3 {
    font-size: 1.4rem;
    font-weight: 700;
    color: white;
    margin-bottom: 6px;
}
.founders-text p {
    font-size: 1.05rem;
    color: #94A3B8;
    margin: 0;
}
.highlight {
    color: #F472B6;
    font-weight: 700;
}

/* ==========================================
   MY TICKETS PORTAL STYLES
   ========================================== */
.wrap {
    max-width: 1080px;
    margin: 110px auto 80px;
    padding: 0 20px;
    position: relative;
    z-index: 10;
}
.auth-wrap {
    max-width: 480px;
    margin: 40px auto;
}
.auth-wrap .card {
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 28px;
    padding: 40px 36px;
    text-align: center;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.4);
    color: #F8FAFC;
}
.auth-wrap .card-icon {
    font-size: 3rem;
    margin-bottom: 16px;
}
.auth-wrap h1 {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 12px;
    color: white;
}
.auth-wrap .sub {
    color: #94A3B8;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 28px;
}
.lbl {
    display: block;
    text-align: left;
    font-size: 0.85rem;
    font-weight: 600;
    color: #CBD5E1;
    margin-bottom: 8px;
}
.inp-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.inp-wrap i {
    position: absolute;
    left: 16px;
    color: #64748B;
}
.inp {
    width: 100%;
    padding: 14px 16px 14px 44px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    color: white;
    font-size: 1rem;
    transition: all 0.3s;
}
.inp:focus {
    outline: none;
    border-color: #8B5CF6;
    background: rgba(255, 255, 255, 0.1);
}
.btn-main {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #8B5CF6, #EC4899);
    color: white;
    border: none;
    border-radius: 14px;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.35);
}
.btn-main:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(139, 92, 246, 0.45);
}
.otp-row {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 28px;
}
.otp-box {
    width: 50px;
    height: 58px;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    color: white;
}
.otp-box:focus {
    outline: none;
    border-color: #A78BFA;
}
.section-hdr {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 32px;
    flex-wrap: wrap;
    gap: 16px;
}
.section-hdr h1 {
    font-size: 2.2rem;
    font-weight: 800;
    color: white;
}
.ev-group {
    background: rgba(15, 23, 42, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 32px;
}
.ev-banner {
    position: relative;
    height: 140px;
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}
.ev-banner img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.4;
}
.ev-banner-overlay {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 24px;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.95), transparent);
}
.ev-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: white;
    margin-bottom: 6px;
}
.ev-meta {
    display: flex;
    gap: 16px;
    color: #CBD5E1;
    font-size: 0.85rem;
}
.bundle-body {
    padding: 24px;
}
.ticket-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.tkt-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.qr-wrap {
    background: white;
    padding: 16px;
    border-radius: 16px;
    display: flex;
    justify-content: center;
}
.qr-img {
    width: 160px;
    height: 160px;
}
.tkt-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.tkt-name {
    font-weight: 700;
    color: white;
    font-size: 1.1rem;
}
.tkt-code {
    font-family: monospace;
    color: #A78BFA;
    font-size: 0.9rem;
}
.status-pill {
    background: rgba(16, 185, 129, 0.2);
    color: #10B981;
    padding: 4px 10px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
}
.tkt-btns {
    display: flex;
}
.btn-tkt {
    padding: 10px 16px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    color: white;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
}
.btn-tkt.dl {
    background: linear-gradient(135deg, #8B5CF6, #EC4899);
}
.btn-tkt:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}
.bundle-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* ==========================================
   BILLING & PRICING PAGE STYLES
   ========================================== */
.page-wrapper {
    max-width: 1200px;
    margin: 110px auto 80px;
    padding: 0 24px;
    position: relative;
    z-index: 10;
}
.billing-hero {
    text-align: center;
    margin-bottom: 50px;
}
.billing-hero .badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    background: rgba(139, 92, 246, 0.15);
    color: #A78BFA;
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 16px;
}
.billing-hero h1 {
    font-size: 3rem;
    font-weight: 800;
    color: white;
    margin-bottom: 16px;
}
.billing-hero p {
    color: #94A3B8;
    font-size: 1.15rem;
    max-width: 600px;
    margin: 0 auto;
}
.steps-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 48px;
}
.steps {
    display: flex;
    align-items: center;
    gap: 32px;
    background: rgba(15, 23, 42, 0.6);
    padding: 12px 28px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.step {
    display: flex;
    align-items: center;
    gap: 10px;
    opacity: 0.4;
    transition: all 0.3s;
}
.step.active {
    opacity: 1;
}
.step-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 700;
}
.step.active .step-dot {
    background: linear-gradient(135deg, #8B5CF6, #EC4899);
}
.step-label {
    color: white;
    font-size: 0.9rem;
    font-weight: 600;
}
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
}
.plan-card {
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 28px;
    padding: 36px 30px;
    position: relative;
    display: flex;
    flex-direction: column;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}
.plan-card:hover {
    transform: translateY(-6px);
    border-color: rgba(139, 92, 246, 0.5);
    box-shadow: 0 20px 40px rgba(139, 92, 246, 0.2);
}
.plan-card.popular {
    border: 2px solid #8B5CF6;
    background: rgba(139, 92, 246, 0.08);
}
/* Package Color Bounded Themes */
.plan-card.theme-cyan {
    border: 2px solid #06B6D4;
    box-shadow: 0 0 25px rgba(6, 182, 212, 0.22);
    background: linear-gradient(180deg, rgba(6, 182, 212, 0.1) 0%, rgba(15, 23, 42, 0.85) 100%);
}
.plan-card.theme-cyan:hover {
    border-color: #22d3ee;
    box-shadow: 0 15px 40px rgba(6, 182, 212, 0.4);
}
.plan-card.theme-cyan .plan-attendees { color: #22d3ee; }
.plan-card.theme-cyan .btn-select-plan {
    background: rgba(6, 182, 212, 0.15);
    border-color: #06B6D4;
}
.plan-card.theme-cyan:hover .btn-select-plan {
    background: linear-gradient(135deg, #06B6D4, #3B82F6);
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(6, 182, 212, 0.4);
}

.plan-card.theme-emerald {
    border: 2px solid #10B981;
    box-shadow: 0 0 25px rgba(16, 185, 129, 0.22);
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.1) 0%, rgba(15, 23, 42, 0.85) 100%);
}
.plan-card.theme-emerald:hover {
    border-color: #34d399;
    box-shadow: 0 15px 40px rgba(16, 185, 129, 0.4);
}
.plan-card.theme-emerald .plan-attendees { color: #34d399; }
.plan-card.theme-emerald .btn-select-plan {
    background: rgba(16, 185, 129, 0.15);
    border-color: #10B981;
}
.plan-card.theme-emerald:hover .btn-select-plan {
    background: linear-gradient(135deg, #10B981, #059669);
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.4);
}

.plan-card.theme-purple {
    border: 2px solid #A855F7;
    box-shadow: 0 0 30px rgba(168, 85, 247, 0.28);
    background: linear-gradient(180deg, rgba(168, 85, 247, 0.12) 0%, rgba(15, 23, 42, 0.85) 100%);
}
.plan-card.theme-purple:hover {
    border-color: #c084fc;
    box-shadow: 0 15px 45px rgba(168, 85, 247, 0.45);
}
.plan-card.theme-purple .plan-attendees { color: #c084fc; }
.plan-card.theme-purple .btn-select-plan {
    background: rgba(168, 85, 247, 0.15);
    border-color: #A855F7;
}
.plan-card.theme-purple:hover .btn-select-plan {
    background: linear-gradient(135deg, #8B5CF6, #EC4899);
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(168, 85, 247, 0.45);
}

.plan-card.theme-amber {
    border: 2px solid #F59E0B;
    box-shadow: 0 0 30px rgba(245, 158, 11, 0.25);
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.1) 0%, rgba(15, 23, 42, 0.85) 100%);
}
.plan-card.theme-amber:hover {
    border-color: #fbbf24;
    box-shadow: 0 15px 45px rgba(245, 158, 11, 0.45);
}
.plan-card.theme-amber .plan-attendees { color: #fbbf24; }
.plan-card.theme-amber .btn-select-plan {
    background: rgba(245, 158, 11, 0.15);
    border-color: #F59E0B;
}
.plan-card.theme-amber:hover .btn-select-plan {
    background: linear-gradient(135deg, #F59E0B, #D97706);
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(245, 158, 11, 0.45);
}

.popular-badge, .enterprise-badge {
    position: absolute;
    top: -14px;
    right: 28px;
    background: linear-gradient(135deg, #8B5CF6, #EC4899);
    color: white;
    padding: 4px 14px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}
.theme-amber .enterprise-badge {
    background: linear-gradient(135deg, #F59E0B, #D97706);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}
.theme-cyan .popular-badge {
    background: linear-gradient(135deg, #06B6D4, #3B82F6);
    box-shadow: 0 4px 12px rgba(6, 182, 212, 0.4);
}
.plan-icon {
    font-size: 2.5rem;
    margin-bottom: 20px;
}
.plan-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: white;
    margin-bottom: 6px;
}
.plan-attendees {
    font-size: 0.85rem;
    color: #A78BFA;
    font-weight: 600;
    margin-bottom: 20px;
}
.plan-price {
    margin-bottom: 16px;
    color: white;
}
.plan-price .symbol {
    font-size: 1.2rem;
    font-weight: 600;
    vertical-align: top;
}
.plan-price .amount {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1;
}
.plan-price .period {
    color: #94A3B8;
    font-size: 0.9rem;
}
.plan-description {
    color: #CBD5E1;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 24px;
    min-height: 44px;
}
.plan-features {
    list-style: none;
    padding: 0;
    margin: 0 0 32px 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.plan-features li {
    color: #E2E8F0;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 10px;
}
.plan-features li i {
    color: #10B981;
}
.btn-select-plan {
    width: 100%;
    padding: 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.plan-card:hover .btn-select-plan, .plan-card.popular .btn-select-plan {
    background: linear-gradient(135deg, #8B5CF6, #EC4899);
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(139, 92, 246, 0.35);
}

/* Form Validation & UI Enhancement Styles */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-6px); }
    40%, 80% { transform: translateX(6px); }
}
.shake-anim {
    animation: shake 0.4s ease-in-out;
}
.form-input.input-error {
    border-color: #EF4444 !important;
    background: rgba(239, 68, 68, 0.08) !important;
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.35) !important;
}
.form-input.input-success {
    border-color: #10B981 !important;
    background: rgba(16, 185, 129, 0.05) !important;
}
.validation-msg {
    font-size: 0.8rem;
    margin-top: 6px;
    display: none;
}
.validation-msg.error {
    color: #F87171;
    display: block;
}
.validation-msg.success {
    color: #34D399;
    display: block;
}

/* Step 4 Billing Details Form */
.billing-details-form {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: left;
}
.billing-details-form h3 {
    font-size: 1.1rem;
    color: white;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 768px) {
    .about-card { padding: 32px 20px; border-radius: 24px; }
    .about-card h1 { font-size: 2.2rem; }
    .founders-section { flex-direction: column; text-align: center; }
    .auth-wrap .card { padding: 30px 20px; }
    .section-hdr { flex-direction: column; align-items: flex-start; }
    .ticket-cards { grid-template-columns: 1fr; }
    .tkt-info { flex-direction: column; gap: 8px; }
    .steps-wrapper { margin: 0.5rem auto 1.5rem; padding: 0.25rem 0.5rem; width: 100%; max-width: 100%; }
    .steps { flex-direction: row !important; align-items: flex-start; justify-content: space-between; gap: 4px; border-radius: 0; }
    .step { flex-direction: column; align-items: center; gap: 0.35rem; flex: 1; min-width: 0; }
    .step-dot { width: 34px; height: 34px; font-size: 0.85rem; flex-shrink: 0; }
    .step::before { top: 17px; }
    .step-label { font-size: 0.72rem; white-space: normal; line-height: 1.15; padding: 0 2px; text-align: center; }
    .form-row-2 { grid-template-columns: 1fr; }
}

/* ============ MY TICKETS INTACT STYLES ============ */
.orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}
.orb1{width:600px;height:600px;background:radial-gradient(circle,rgba(139,92,246,.15),transparent 70%);top:-200px;left:-100px;animation:drift1 12s ease-in-out infinite alternate}
.orb2{width:500px;height:500px;background:radial-gradient(circle,rgba(236,72,153,.12),transparent 70%);bottom:-150px;right:-100px;animation:drift2 15s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(80px,60px)}}
@keyframes drift2{to{transform:translate(-60px,-80px)}}
.logo-box{width:36px;height:36px;background:linear-gradient(135deg,var(--p,#8B5CF6),var(--s,#EC4899));border-radius:10px;display:flex;align-items:center;justify-content:center}
.btn-sm{padding:.45rem 1rem;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#94A3B8;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}
.btn-sm:hover{color:#fff;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}
.wrap{position:relative;z-index:1;max-width:960px;margin:0 auto;padding:2rem 1.5rem}
.auth-wrap{max-width:460px;margin:5rem auto}
.auth-wrap .card{background:rgba(255,255,255,.04);backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:2.5rem;box-shadow:0 40px 80px rgba(0,0,0,.5);animation:fadeUp .6s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.card-icon{width:64px;height:64px;background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(236,72,153,.2));border:1px solid rgba(139,92,246,.3);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 1.5rem}
.auth-wrap .card h1{font-size:1.7rem;font-weight:900;text-align:center;margin-bottom:.5rem;color:#fff}
.auth-wrap .card p.sub{color:#94A3B8;font-size:.9rem;text-align:center;margin-bottom:2rem;line-height:1.6}
label.lbl{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#94A3B8;margin-bottom:.5rem}
.inp-wrap{position:relative}
.inp-wrap i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94A3B8;font-size:.9rem}
input.inp{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem 1rem 1rem 2.8rem;color:#fff;font-size:.97rem;font-family:var(--font-family,'Inter'),sans-serif;transition:all .3s}
input.inp:focus{outline:none;border-color:#8B5CF6;background:rgba(139,92,246,.06);box-shadow:0 0 20px rgba(139,92,246,.4)}
.btn-main{width:100%;padding:1.05rem;background:linear-gradient(135deg,#8B5CF6,#EC4899);border:none;border-radius:14px;color:#fff;font-weight:700;font-size:.97rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-family,'Inter'),sans-serif}
.btn-main:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 30px rgba(139,92,246,.4)}
.btn-main:disabled{opacity:.5;cursor:not-allowed}
.otp-row{display:flex;gap:.6rem;justify-content:center;margin:1.8rem 0}
.otp-box{width:48px;height:58px;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.08);border-radius:12px;text-align:center;font-size:1.5rem;font-weight:800;color:#fff;transition:all .3s;font-family:var(--font-family,'Inter'),sans-serif}
.otp-box:focus{border-color:#8B5CF6;outline:none;box-shadow:0 0 16px rgba(139,92,246,.4);background:rgba(139,92,246,.08)}
.otp-box.filled{border-color:rgba(139,92,246,.5)}
.resend-link{color:#8B5CF6;font-weight:600;cursor:pointer;background:none;border:none;font-size:.87rem;font-family:var(--font-family,'Inter'),sans-serif}
.section-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.section-hdr h1{font-size:2.2rem;font-weight:900;color:#fff}
.ev-group{margin-bottom:2.5rem;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);backdrop-filter:blur(20px)}
.ev-banner{height:140px;position:relative;overflow:hidden}
.ev-banner img{width:100%;height:100%;object-fit:cover;filter:brightness(.7);transition:transform .4s ease}
.ev-banner-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(5,7,16,.9) 0%,rgba(5,7,16,.3) 100%);padding:1.2rem 1.5rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem;cursor:pointer}
.ev-title{font-size:1.2rem;font-weight:800;color:#fff}
.ev-meta{font-size:.8rem;color:rgba(255,255,255,.7);display:flex;gap:1rem}
.tickets-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:rgba(255,255,255,.08)}
.tkt{background:#050710;padding:1.3rem 1.5rem;display:flex;flex-direction:column;gap:.8rem;transition:all .3s}
.tkt:hover{background:rgba(139,92,246,.05)}
.tkt-code{font-size:.75rem;color:#94A3B8;font-family:monospace;letter-spacing:1px}
.tkt-name{font-weight:700;font-size:1rem;color:#fff}
.status-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;border-radius:50px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.s-confirmed{background:rgba(16,185,129,.15);color:#10B981;border:1px solid rgba(16,185,129,.3)}
.s-pending{background:rgba(245,158,11,.15);color:#F59E0B;border:1px solid rgba(245,158,11,.3)}
.tkt-btns{display:flex;gap:.6rem;flex-wrap:wrap}
.btn-tkt{padding:.5rem 1rem;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#F8FAFC;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:all .3s;font-family:var(--font-family,'Inter'),sans-serif}
.btn-tkt:hover{background:rgba(255,255,255,.1)}
.btn-tkt.dl{background:linear-gradient(135deg,#8B5CF6,#EC4899);border:none;color:#fff}
.btn-tkt.dl:hover{opacity:.85;transform:translateY(-1px)}
.ev-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end}
.empty{text-align:center;padding:5rem 2rem;color:#94A3B8}
.empty i{font-size:3rem;margin-bottom:1rem;opacity:.25;display:block}
.spin{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}

/* ============ BILLING INTACT STYLES ============ */
#starCanvas { position: fixed; top:0; left:0; width:100%; height:100%; z-index:0; pointer-events: none; }
.billing-hero { text-align: center; padding: 4rem 2rem 3rem; }
.billing-hero .badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(139,92,246,0.15); border: 1px solid rgba(139,92,246,0.3); color: #A78BFA; padding: 0.4rem 1.2rem; border-radius: 50px; font-size: 0.85rem; font-weight: 600; margin-bottom: 1.5rem; }
.billing-hero h1 { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; background: linear-gradient(to bottom, #fff 0%, #94A3B8 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: fadeInUp 0.8s ease; }
.billing-hero p { font-size: 1.1rem; color: #94A3B8; max-width: 600px; margin: 0 auto; animation: fadeInUp 0.8s ease 0.1s both; }
.steps-wrapper { max-width: 600px; margin: 1rem auto 3rem; padding: 0.5rem 1rem; background: transparent; border: none; box-shadow: none; }
.steps { display: flex; align-items: center; justify-content: space-between; position: relative; }
.step { display: flex; flex-direction: column; align-items: center; gap: 0.6rem; flex: 1; position: relative; z-index: 2; }
.step::before { content:''; position: absolute; top:20px; left:50%; width:100%; height: 2px; background: rgba(255,255,255,0.08); z-index: -1; transition: all 0.4s ease; }
.step:last-child::before { display: none; }
.step.active::before, .step.done::before { background: linear-gradient(90deg, #8B5CF6, #EC4899); opacity: 0.6; }
.step-dot { width: 42px; height: 42px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255,255,255,0.12); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 700; color: #94A3B8; transition: all .3s cubic-bezier(0.4, 0, 0.2, 1); backdrop-filter: blur(15px); }
.step.active .step-dot { background: rgba(139, 92, 246, 0.15); border-color: rgba(139, 92, 246, 0.5); color: #fff; transform: scale(1.08); box-shadow: 0 0 15px rgba(139, 92, 246, 0.25); }
.step.done .step-dot { background: rgba(16, 185, 129, 0.15); border-color: rgba(16, 185, 129, 0.4); color: #10B981; }
.step-label { font-size: 0.78rem; color: #94A3B8; text-align: center; font-weight: 500; white-space: nowrap; transition: color 0.3s; }
.step.active .step-label { color: #fff; font-weight: 700; }
.step.done .step-label { color: #34D399; }
.pricing-section { max-width: 1400px; margin: 0 auto; padding: 1rem 1.5rem 6rem; }
.pricing-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.plan-card { background: rgba(255, 255, 255, 0.035); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 24px; padding: 1.75rem 1.3rem; display: flex; flex-direction: column; transition: all .3s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; position: relative; overflow: hidden; backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); animation: fadeInUp 0.8s ease both; }
.plan-card::before { content:''; position: absolute; top:0; left:0; right:0; height:2px; background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%); opacity: 0; transition: all .3s; }
.plan-card.popular::before { opacity:0.8; }
.plan-card:hover { transform: translateY(-6px); background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.15); box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35); }
.plan-card:hover::before { opacity:1; }
.plan-card.popular { background: rgba(255, 255, 255, 0.05); border-color: rgba(139, 92, 246, 0.3); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3); transform: scale(1.02); z-index: 2; }
.plan-card.popular:hover { transform: scale(1.02) translateY(-6px); background: rgba(255, 255, 255, 0.07); }
.plan-card.selected-card { border-color: #8B5CF6 !important; background: rgba(139, 92, 246, 0.15) !important; box-shadow: 0 0 35px rgba(139, 92, 246, 0.4) !important; transform: translateY(-6px) scale(1.02); }
.popular-badge { position: absolute; top:1.2rem; right:1.2rem; background: rgba(139, 92, 246, 0.2); border: 1px solid rgba(139, 92, 246, 0.4); color: #c4b5fd; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.8rem; border-radius: 50px; text-transform: uppercase; letter-spacing: 1px; }
.plan-icon { width: 52px; height: 52px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 1.2rem; }
.plan-name { font-size: 1.35rem; font-weight: 800; margin-bottom: 0.3rem; color: #fff; }
.plan-attendees { font-size: 0.82rem; color: #94A3B8; margin-bottom: 1.3rem; font-weight: 500; display: flex; align-items: center; gap: 6px; }
.plan-price { margin-bottom: 1.3rem; }
.plan-price .symbol { font-size: 1.2rem; font-weight: 600; vertical-align: top; color: #A78BFA; margin-top: 0.3rem; display: inline-block; }
.plan-price .amount { font-size: 2.8rem; font-weight: 900; line-height: 1; color: #fff; }
.plan-price .period { color: #94A3B8; font-size: 0.85rem; font-weight: 500; }
.plan-description { color: #94A3B8; font-size: 0.88rem; margin-bottom: 1.5rem; line-height: 1.6; }
.plan-features { list-style: none; margin-bottom: 2rem; flex: 1; }
.plan-features li { display: flex; align-items: center; gap: 0.7rem; padding: 0.55rem 0; font-size: 0.88rem; color: #cbd5e1; border-bottom: 1px solid rgba(255,255,255,0.04); }
.plan-features li:last-child { border-bottom: none; }
.plan-features li i { color: #10B981; font-size: 0.9rem; flex-shrink: 0; }
.btn-select-plan { width: 100%; padding: 0.9rem; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 14px; color: #fff; font-weight: 600; font-size: 0.95rem; cursor: pointer; transition: all .3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; justify-content: center; gap: 0.6rem; }
.btn-select-plan:hover, .plan-card:hover .btn-select-plan, .plan-card.popular .btn-select-plan { background: rgba(139, 92, 246, 0.25); border-color: rgba(139, 92, 246, 0.5); color: #fff; }
@media (max-width: 1100px) { .pricing-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .pricing-grid { grid-template-columns: 1fr; } .steps-wrapper { padding: 0.35rem 0.2rem; margin: 0.5rem auto 1.25rem; } .step-dot { width: 32px; height: 32px; font-size: 0.8rem; } .step::before { top: 16px; } .step-label { font-size: 0.65rem; line-height: 1.1; padding: 0 1px; } .billing-hero { padding: 2.5rem 1rem 1.5rem; } .billing-hero h1 { font-size: 2rem; } }
@media (max-width: 480px) { .steps-wrapper { margin: 0.25rem auto 1rem; padding: 0.2rem 0.1rem; } .steps { gap: 2px; } .step-dot { width: 28px; height: 28px; font-size: 0.72rem; } .step::before { top: 14px; } .step-label { font-size: 0.58rem; line-height: 1.1; letter-spacing: -0.2px; padding: 0; } }
.flow-panel { display: none; max-width: 580px; margin: 0 auto 6rem; padding: 0 1.5rem; }
.flow-panel.active { display: block; }
.flow-card { background: rgba(15,23,42,0.8); border: 1px solid rgba(255,255,255,0.08); border-radius: 20px; padding: 2.5rem; backdrop-filter: blur(30px); animation: fadeInUp 0.5s ease; }
.flow-card h2 { font-size: 1.8rem; font-weight: 800; margin-bottom: 0.5rem; color: #fff; }
.flow-card .subtitle { color: #94A3B8; font-size: 0.95rem; margin-bottom: 2rem; line-height: 1.6; }
.selected-plan-badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(139,92,246,0.1); border: 1px solid rgba(139,92,246,0.3); color: #A78BFA; padding: 0.4rem 1rem; border-radius: 50px; font-size: 0.85rem; font-weight: 600; margin-bottom: 2rem; }
.form-group { margin-bottom: 1.5rem; }
.form-label { display: block; margin-bottom: 0.5rem; font-size: 0.85rem; color: #94A3B8; font-weight: 500; }
.input-wrap { position: relative; }
.input-wrap i.icon { position: absolute; left:1rem; top:50%; transform: translateY(-50%); color: #94A3B8; font-size: 1rem; }
.form-input { width: 100%; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 1rem 1rem 1rem 3rem; color: white; font-size: 1rem; transition: all .3s; }
.form-input:focus { outline: none; border-color: #8B5CF6; background: rgba(139,92,246,0.05); box-shadow: 0 0 0 3px rgba(139,92,246,0.1); }
.otp-inputs { display: flex; gap: 0.8rem; justify-content: center; margin: 1.5rem 0; }
.otp-digit { width: 56px; height: 64px; background: rgba(255,255,255,0.04); border: 2px solid rgba(255,255,255,0.1); border-radius: 14px; text-align: center; font-size: 1.8rem; font-weight: 800; color: white; transition: all .3s; }
.otp-digit:focus { outline: none; border-color: #8B5CF6; background: rgba(139,92,246,0.08); box-shadow: 0 0 20px rgba(139,92,246,0.2); }
.btn-primary { width: 100%; padding: 1rem; background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%); border: none; border-radius: 12px; color: white; font-weight: 700; font-size: 1rem; cursor: pointer; transition: all .3s; display: flex; align-items: center; justify-content: center; gap: 0.7rem; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 15px 35px rgba(139,92,246,0.4); }
.btn-secondary { background: none; border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 0.7rem 1.5rem; color: #94A3B8; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: all .3s; }
.btn-secondary:hover { border-color: rgba(255,255,255,0.2); color: white; }
.pay-summary { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); border-radius: 14px; padding: 1.5rem; margin-bottom: 2rem; }
.pay-row { display: flex; justify-content: space-between; align-items: center; padding: 0.6rem 0; border-bottom: 1px solid rgba(255,255,255,0.05); font-size: 0.9rem; }
.pay-row:last-child { border-bottom: none; font-weight: 700; font-size: 1rem; }
.pay-row .label { color: #94A3B8; }
.pay-row .value { color: white; }
.pay-row:last-child .value { color: #A78BFA; font-size: 1.3rem; }

    
