

        /* ─── Tropical Nights Polish ─── */
        body.theme-tropical {
            --blue: #061B3D;
            --blue-deep: #020617;
            --purple: #250735;
            --magenta: #FF2CA3;
            --gold: #FFC83D;
            --gold-bright: #FFF06A;
            --neon-cyan: #24D9FF;
            --neon-green: #54FF8C;
            --sunset-orange: #FF7A18;
            --white-soft: #FFF7F0;
            --gray: #9AB5C9;
            --gray-light: #DDF7FF;
        }
        body.theme-tropical {
            background: linear-gradient(180deg, #020617 0%, #061b3d 38%, #1c0630 72%, #050713 100%);
        }

        body.theme-tropical .optredens-ticker {
            background:
                linear-gradient(90deg, rgba(2,6,23,0.96), rgba(15,18,72,0.94) 24%, rgba(255,44,163,0.74) 46%, rgba(36,217,255,0.46) 62%, rgba(5,33,73,0.96) 100%);
            background-size: 220% 100%;
            border-bottom: 1px solid rgba(36,217,255,0.3);
            box-shadow: 0 0 22px rgba(255,44,163,0.18), 0 10px 24px rgba(0,0,0,0.24);
        }
        body.theme-tropical .optredens-ticker::before {
            background: linear-gradient(to right, rgba(2,6,23,0.98) 0%, rgba(2,6,23,0.62) 55%, transparent 100%);
        }
        body.theme-tropical .optredens-ticker::after {
            background: linear-gradient(to left, rgba(5,33,73,0.98) 0%, rgba(5,33,73,0.62) 55%, transparent 100%);
        }
        body.theme-tropical .optredens-ticker .ticker-label {
            background: linear-gradient(135deg, #ff2ca3 0%, #24d9ff 100%);
            color: #fff;
            text-shadow: 0 0 10px rgba(255,255,255,0.25);
            box-shadow: 0 0 18px rgba(36,217,255,0.22);
        }
        body.theme-tropical .ticker-item {
            color: rgba(255,247,240,0.9);
        }
        body.theme-tropical .ticker-item:hover {
            color: #fff;
            text-shadow: 0 0 10px rgba(36,217,255,0.22);
        }
        body.theme-tropical .ticker-item .ticker-date {
            color: #06101c;
            background: linear-gradient(135deg, #fff06a, #ffc83d);
            box-shadow: 0 0 12px rgba(255,200,61,0.18);
        }
        body.theme-tropical .ticker-item .ticker-venue {
            color: #fff;
        }
        body.theme-tropical .ticker-item .ticker-city {
            color: #ddf7ff;
        }
        body.theme-tropical .ticker-item .ticker-sep {
            color: #24d9ff;
            opacity: 0.75;
        }
        body.theme-tropical .ticker-item .ticker-tickets {
            color: #54ff8c;
            border-color: rgba(84,255,140,0.38);
            background: rgba(84,255,140,0.08);
        }
        body.theme-tropical .ticker-item:hover .ticker-tickets {
            background: #54ff8c;
            color: #03101d;
        }
        body.theme-tropical .ticker-divider {
            background: #ff2ca3;
            box-shadow: 0 0 10px rgba(255,44,163,0.55);
        }

        body.theme-tropical .hero-img-wrap::after {
            content: '';
            position: absolute;
            inset: 0;
            z-index: 2;
            pointer-events: none;
            background: linear-gradient(110deg, transparent 0%, rgba(36,217,255,0) 38%, rgba(255,255,255,0.14) 48%, rgba(255,44,163,0.08) 54%, transparent 68%);
            transform: translateX(-120%);
            animation: tropicalLightSweep 9s ease-in-out infinite;
        }
        body.theme-tropical nav .logo,
        body.theme-tropical .section-title .subtitle,
        body.theme-tropical .music-release-badge,
        body.theme-tropical .promo-badge {
            animation: neonSoftPulse 3.6s ease-in-out infinite;
        }
        body.theme-tropical .btn-gold,
        body.theme-tropical .ticker-item .ticker-date {
            animation: goldWarmPulse 4.2s ease-in-out infinite;
        }
        body.theme-tropical .optredens-ticker::after {
            animation: tickerNeonSweep 5.5s linear infinite;
        }
        body.theme-tropical .music-card::after,
        body.theme-tropical .fun-card::after {
            background: radial-gradient(circle, rgba(36,217,255,0.14), transparent 70%);
            animation: cardNeonFloat 6s ease-in-out infinite;
        }
        body.theme-tropical .music-card:nth-child(3n)::after,
        body.theme-tropical .fun-card:nth-child(2n)::after {
            background: radial-gradient(circle, rgba(255,44,163,0.14), transparent 70%);
            animation-delay: -2s;
        }

        @keyframes tropicalLightSweep {
            0%, 58% { transform: translateX(-120%); opacity: 0; }
            64% { opacity: 0.65; }
            78% { transform: translateX(120%); opacity: 0; }
            100% { transform: translateX(120%); opacity: 0; }
        }
        @keyframes neonSoftPulse {
            0%, 100% { filter: drop-shadow(0 0 0 rgba(36,217,255,0)); }
            50% { filter: drop-shadow(0 0 10px rgba(36,217,255,0.25)) drop-shadow(0 0 14px rgba(255,44,163,0.18)); }
        }
        @keyframes goldWarmPulse {
            0%, 100% { box-shadow: 0 8px 24px rgba(255,200,61,0.16); }
            50% { box-shadow: 0 10px 30px rgba(255,200,61,0.3), 0 0 18px rgba(255,240,106,0.22); }
        }
        @keyframes tickerNeonSweep {
            0% { background-position: 0% 50%; }
            100% { background-position: 220% 50%; }
        }
        @keyframes cardNeonFloat {
            0%, 100% { transform: translate3d(0,0,0) scale(1); opacity: 0.42; }
            50% { transform: translate3d(-12px,10px,0) scale(1.08); opacity: 0.78; }
        }
        @media (prefers-reduced-motion: reduce) {
            body.theme-tropical .hero-img-wrap::after,
            body.theme-tropical nav .logo,
            body.theme-tropical .section-title .subtitle,
            body.theme-tropical .music-release-badge,
            body.theme-tropical .promo-badge,
            body.theme-tropical .btn-gold,
            body.theme-tropical .ticker-item .ticker-date,
            body.theme-tropical .optredens-ticker::after,
            body.theme-tropical .music-card::after,
            body.theme-tropical .fun-card::after {
                animation: none;
            }
        }
        @media (max-width: 768px) {
            body.theme-tropical .hero {
                min-height: auto;
            }
            body.theme-tropical .hero-img-wrap {
                min-height: 0;
                aspect-ratio: 1920 / 787;
                height: auto;
            }
            body.theme-tropical .hero-img-wrap img {
                object-position: center top;
            }
            body.theme-tropical .hero-content {
                margin-top: 0;
                padding: 14px 14px 22px;
            }
            body.theme-tropical .hero .cta-buttons .btn {
                padding: 10px 16px;
                font-size: 0.68rem;
            }
        }
        body.theme-tropical .spotify-embed iframe {
            border: 1px solid rgba(36,217,255,0.25) !important;
            box-shadow: 0 12px 35px rgba(36,217,255,0.15);
        }