/* CARNIVAL THEME */

:root {
    --bg-base: #0f1020;
    --bg-elevated: #17192b;
    --bg-panel: #1d2035;
    --bg-soft: #252844;
    --text-main: #f6f3ff;
    --text-soft: #ddd6f5;
    --text-muted: #b7b0cc;
    --text-faint: #8e88a8;
    --primary: #8b5cf6;
    --secondary: #ec4899;
    --accent: #f59e0b;
    --accent-soft: #67e8f9;
    --success: #22c55e;
    --border-soft: rgba(255, 255, 255, 0.08);
    --border-strong: rgba(255, 255, 255, 0.14);
    --shadow-sm: 0 6px 18px rgba(0, 0, 0, 0.18);
    --shadow-md: 0 12px 30px rgba(0, 0, 0, 0.22);
    --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.28);
    --radius-sm: 14px;
    --radius-md: 18px;
    --radius-lg: 22px;
    --radius-xl: 28px;
}

body {
    background:
        radial-gradient(circle at top right, rgba(236, 72, 153, 0.10), transparent 24%),
        radial-gradient(circle at top left, rgba(139, 92, 246, 0.12), transparent 28%),
        linear-gradient(180deg, #0f1020 0%, #111327 38%, #0d1021 100%);
    color: var(--text-main);
}

.site-header {
    background: rgba(15, 16, 32, 0.78);
}

.hero__shell {
    background:
        radial-gradient(circle at 18% 22%, rgba(245, 158, 11, 0.18), transparent 26%),
        radial-gradient(circle at 82% 18%, rgba(236, 72, 153, 0.18), transparent 20%),
        radial-gradient(circle at 72% 74%, rgba(139, 92, 246, 0.22), transparent 28%),
        linear-gradient(135deg, rgba(29, 32, 53, 0.96), rgba(20, 22, 39, 0.96));
}

.hero__shell::before { opacity: 0.18; }
.hero__shell::after { background: rgba(245, 158, 11, 0.18); }

.hero-art__card--main {
    background: linear-gradient(145deg, rgba(236,72,153,0.65), rgba(139,92,246,0.75) 55%, rgba(103,232,249,0.35));
}

.hero-art__card--sub {
    background: linear-gradient(145deg, rgba(245,158,11,0.35), rgba(255,255,255,0.08));
}

.hero-art__orb { background: rgba(255,255,255,0.16); }
.hero-art__orb--two { background: rgba(255,255,255,0.12); }

.eyebrow,
.hero-art__chip,
.quiz-panel__kicker,
.footer-link,
.hero__spotlight,
.hero__stat {
    background: rgba(255, 255, 255, 0.08);
}

.media-card__bg {
    background:
        linear-gradient(155deg, rgba(255,255,255,0.16), transparent 30%),
        linear-gradient(135deg, rgba(139,92,246,0.45), rgba(236,72,153,0.35), rgba(103,232,249,0.22));
}
.media-card__bg--two {
    background: linear-gradient(135deg, rgba(245,158,11,0.38), rgba(236,72,153,0.34), rgba(139,92,246,0.32));
}
.media-card__bg--three {
    background: linear-gradient(135deg, rgba(103,232,249,0.30), rgba(139,92,246,0.40), rgba(236,72,153,0.24));
}
.media-card__bg--four {
    background: linear-gradient(135deg, rgba(236,72,153,0.30), rgba(245,158,11,0.34), rgba(255,255,255,0.10));
}

.media-card::after {
    background: linear-gradient(to top, rgba(8, 10, 20, 0.88) 10%, rgba(8, 10, 20, 0.20) 45%, transparent 72%);
}

.badge--new { background: linear-gradient(135deg, var(--secondary), var(--primary)); }
.badge--viewed { background: rgba(18, 21, 36, 0.76); }
.badge--popular { background: linear-gradient(135deg, var(--accent), #f97316); }

.ticker {
    background: linear-gradient(135deg, rgba(236,72,153,0.14), rgba(139,92,246,0.10), rgba(255,255,255,0.03));
}
.ticker__icon {
    background: linear-gradient(135deg, rgba(236,72,153,0.22), rgba(139,92,246,0.22));
}

.quiz-panel {
    background:
        radial-gradient(circle at top left, rgba(245,158,11,0.14), transparent 24%),
        linear-gradient(135deg, rgba(29,32,53,0.96), rgba(20,22,39,0.96));
}

.bottom-nav {
    background: rgba(23, 25, 43, 0.92);
}
.bottom-nav__item.is-active {
    background: linear-gradient(135deg, rgba(139,92,246,0.28), rgba(236,72,153,0.18));
}
/* =========================================================
   CARNIVAL MENU + MODAL OVERRIDES
   ========================================================= */

.portal-menu {
    background: rgba(22, 25, 43, 0.98);
    border-inline-end: 1px solid rgba(255,255,255,0.08);
    box-shadow: 20px 0 46px rgba(0, 0, 0, 0.28);
}

.portal-menu__link,
.language-option,
.portal-modal {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--text-soft);
    box-shadow: var(--shadow-sm);
}

.portal-menu__link:hover,
.portal-menu__link:focus-visible,
.language-option:hover,
.language-option:focus-visible {
    background: rgba(255,255,255,0.08);
    border-color: var(--border-strong);
}

.language-option.is-active {
    background: linear-gradient(135deg, rgba(139,92,246,0.18), rgba(236,72,153,0.12));
    color: var(--text-main);
}

.portal-modal {
    background:
        linear-gradient(135deg, rgba(29,32,53,0.98), rgba(20,22,39,0.99));
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.32);
}

.modal-backdrop {
    background: rgba(10, 8, 20, 0.46);
}

.menu-backdrop {
    background: rgba(10, 8, 20, 0.40);
}

.hero--carnival .hero__overlay {
    background: radial-gradient(
        circle at center,
        rgba(0,0,0,0.2),
        rgba(0,0,0,0.6)
    );
}

.hero__title {
    color: var(--text-main);
}

.hero__desc {
    color: var(--text-soft);
}