/*==================================================
                GOOGLE FONTS
==================================================*/

:root {

    /*==============================
            COLORS
    ==============================*/

    --color-bg: #050505;
    --color-bg-secondary: #0d0d0d;
    --color-surface: rgba(20, 20, 20, 0.88);
    --color-surface-hover: rgba(30, 30, 30, 0.95);

    --color-primary: #d4af37;
    --color-primary-dark: #9c7920;
    --color-primary-light: #f4d979;

    --color-accent: #9f1f1f;
    --color-accent-light: #cf3b3b;

    --color-white: #ffffff;
    --color-text: #ededed;
    --color-text-muted: #b3b3b3;
    --color-border: rgba(212, 175, 55, 0.15);

    /*==============================
            TYPOGRAPHY
    ==============================*/

    --font-title: "Cinzel", serif;
    --font-body: "Inter", sans-serif;

    --fs-hero: clamp(3rem, 7vw, 6.5rem);
    --fs-title: clamp(2rem, 4vw, 4rem);
    --fs-subtitle: 1rem;
    --fs-body: 1rem;
    --fs-small: .875rem;

    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    --fw-black: 800;

    /*==============================
            SPACING
    ==============================*/

    --section-padding: 130px;
    --container-width: 1320px;

    --radius-xs: 8px;
    --radius-sm: 12px;
    --radius-md: 18px;
    --radius-lg: 28px;
    --radius-xl: 40px;

    /*==============================
            SHADOWS
    ==============================*/

    --shadow-soft:
        0 10px 35px rgba(0, 0, 0, .30);

    --shadow-card:
        0 18px 50px rgba(0, 0, 0, .45);

    --shadow-gold:
        0 0 20px rgba(212, 175, 55, .18);

    --shadow-gold-strong:
        0 0 35px rgba(212, 175, 55, .35);

    /*==============================
            TRANSITIONS
    ==============================*/

    --transition-fast: .25s ease;
    --transition: .35s ease;
    --transition-slow: .55s ease;

}


/*==================================================
                    RESET
==================================================*/

*,
*::before,
*::after {

    margin: 0;
    padding: 0;

    box-sizing: border-box;

}

html {

    scroll-behavior: smooth;
    scroll-padding-top: 90px;

}

body {

    overflow-x: hidden;

}

img {

    display: block;
    max-width: 100%;

}

picture {

    display: block;

}

a {

    color: inherit;
    text-decoration: none;

}

button,
input,
textarea,
select {

    font: inherit;
    border: none;
    outline: none;

}

button {

    cursor: pointer;
    background: transparent;

}

ul,
ol {

    list-style: none;

}

section {

    position: relative;

}

::selection {

    color: #000;
    background: var(--color-primary);

}


/*==================================================
                SCROLLBAR
==================================================*/

::-webkit-scrollbar {

    width: 10px;

}

::-webkit-scrollbar-track {

    background: #080808;

}

::-webkit-scrollbar-thumb {

    background: linear-gradient(
        180deg,
        var(--color-primary),
        var(--color-primary-dark)
    );

    border-radius: 999px;
    border: 2px solid #080808;

}

::-webkit-scrollbar-thumb:hover {

    background: var(--color-primary-light);

}


/*==================================================
                    BODY
==================================================*/

body {

    font-family: var(--font-body);
    font-size: var(--fs-body);
    font-weight: var(--fw-regular);

    line-height: 1.7;
    color: var(--color-text);

    background:
        radial-gradient(circle at top,
            rgba(212,175,55,.08),
            transparent 30%),
        radial-gradient(circle at bottom,
            rgba(159,31,31,.05),
            transparent 35%),
        var(--color-bg);

    min-height: 100vh;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    text-rendering: optimizeLegibility;

}


/*==================================================
                GLOBAL BACKGROUND
==================================================*/

.background {

    position: fixed;
    inset: 0;

    pointer-events: none;
    z-index: -2;

    background:
        radial-gradient(circle at center,
            rgba(212,175,55,.03),
            transparent 40%),
        linear-gradient(
            to bottom,
            rgba(255,255,255,.015),
            transparent 20%,
            transparent 80%,
            rgba(255,255,255,.015)
        );

}

.background::before {

    content: "";

    position: absolute;
    inset: 0;

    background-image:

        linear-gradient(
            rgba(255,255,255,.015) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.015) 1px,
            transparent 1px
        );

    background-size: 80px 80px;

    opacity: .20;

}

.background::after {

    content: "";

    position: absolute;

    inset: 0;

    background:

        radial-gradient(
            circle,
            transparent 0%,
            rgba(0,0,0,.15) 60%,
            rgba(0,0,0,.75) 100%
        );

}


/*==================================================
                TYPOGRAPHY
==================================================*/

h1,
h2,
h3,
h4,
h5,
h6 {

    font-family: var(--font-title);

    font-weight: var(--fw-bold);

    color: var(--color-white);

    line-height: 1.15;

}

p {

    color: var(--color-text-muted);

}


/*==================================================
                CONTAINER
==================================================*/

.container {

    width: min(
        calc(100% - 48px),
        var(--container-width)
    );

    margin-inline: auto;

}

section {

    padding-block: var(--section-padding);

}

@media (max-width: 992px) {

    :root {

        --section-padding: 100px;

    }

}

@media (max-width: 768px) {

    :root {

        --section-padding: 80px;

    }

    .container {

        width: min(
            calc(100% - 32px),
            var(--container-width)
        );

    }

}

@media (max-width: 480px) {

    .container {

        width: calc(100% - 24px);

    }

}

/*==================================================
                    NAVBAR
==================================================*/

.navbar {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 999999;

    padding: 22px 0;

    border-bottom: 1px solid transparent;

    background: #050505;

}

.navbar.scrolled {

    padding: 14px 0;

    background: #050505;

    backdrop-filter: none;

    border-bottom: 1px solid var(--color-border);

    box-shadow:
        0 18px 45px rgba(0, 0, 0, .45);

}


.navbar::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -1;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(212,175,55,.05),
            transparent
        );

    opacity: 0;

    pointer-events: none;

}


.navbar.scrolled::before {

    opacity: 1;

}


.navbar-container {

    position: relative;

    z-index: 1;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}

/*==================================================
            NAVBAR — CAPA SUPERIOR ABSOLUTA
==================================================*/

.navbar {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 999999 !important;

    background: #050505 !important;

}

/*==================================================
                    LOGO
==================================================*/

.logo {

    display: flex;

    align-items: center;

    gap: 18px;

    flex-shrink: 0;

}

.logo img {

    width: 200px;
    height: 200px;

    object-fit: contain;

    filter:
        drop-shadow(0 0 12px rgba(212,175,55,.18));

    transition:
        transform .45s ease,
        filter .45s ease;

}

.logo:hover img {

    transform:
        rotate(-6deg)
        scale(1.05);

    filter:
        drop-shadow(0 0 18px rgba(212,175,55,.40));

}

.logo h1 {

    font-size: clamp(1.8rem,2vw,2.6rem);

    letter-spacing: 2px;

    margin-bottom: 2px;

}

.logo span {

    display: block;

    font-size: .95rem;

    color: var(--color-text-muted);

    letter-spacing: .5px;

}

/*==================================================
                NAVIGATION LINKS
==================================================*/

.nav-links {

    display: flex;

    align-items: center;

    gap: 12px;

}

.nav-links li {

    position: relative;

}

.nav-links a {

    position: relative;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 12px 18px;

    font-size: .95rem;

    font-weight: var(--fw-semibold);

    letter-spacing: .3px;

    color: var(--color-text);

    transition:

        color var(--transition),
        transform var(--transition);

}

.nav-links a::before {

    content: "";

    position: absolute;

    left: 50%;
    bottom: 2px;

    transform:
        translateX(-50%)
        scaleX(0);

    width: 75%;
    height: 2px;

    border-radius: 999px;

    background:

        linear-gradient(
            90deg,
            transparent,
            var(--color-primary),
            transparent
        );

    transform-origin: center;

    transition:
        transform .35s ease;

}

.nav-links a::after {

    content: "";

    position: absolute;

    inset: 6px;

    border-radius: 999px;

    background:

        radial-gradient(
            circle,
            rgba(212,175,55,.10),
            transparent 75%
        );

    opacity: 0;

    transition: opacity .35s ease;

    z-index: -1;

}

.nav-links a:hover {

    color: var(--color-primary);

    transform: translateY(-2px);

}

.nav-links a:hover::before {

    transform:
        translateX(-50%)
        scaleX(1);

}

.nav-links a:hover::after {

    opacity: 1;

}

.nav-links a.hover {

    color: var(--color-primary);

}

.nav-links a.hover::before {

    transform:
        translateX(-50%)
        scaleX(1);

}


/*==================================================
                MOBILE PLACEHOLDERS
==================================================*/

.menu-toggle {

    display: none;

    width: 50px;
    height: 50px;

    border-radius: 12px;

    align-items: center;
    justify-content: center;

    color: var(--color-primary);

    background: rgba(255,255,255,.03);

    border: 1px solid var(--color-border);

    transition: var(--transition);

}

.menu-toggle:hover {

    background: rgba(212,175,55,.08);

    border-color: rgba(212,175,55,.35);

}

.menu-toggle i {

    font-size: 1.2rem;

}


/*==================================================
                RESPONSIVE NAVBAR
==================================================*/

@media (max-width:1100px){

    .navbar-container{

        gap:25px;

    }

    .logo img{

        width:60px;
        height:60px;

    }

    .logo h1{

        font-size:1.8rem;

    }

    .nav-links{

        gap:2px;

    }

    .nav-links a{

        padding:12px 14px;
        font-size:.9rem;

    }

}

@media (max-width:880px){

    .navbar{

        padding:18px 0;

    }

    .navbar-container{

        flex-direction:column;

        gap:18px;

    }

    .nav-links{

        flex-wrap:wrap;

        justify-content:center;

    }

}

@media (max-width:640px){

    .navbar{

        padding:12px 0;

    }

    .navbar-container{

        gap:10px;

    }

    .logo{

        flex-direction:row;

        gap:12px;

    }

    .logo img{

        width:44px;
        height:44px;

    }

    .logo h1{

        font-size:1.65rem;

    }

    .logo span{

        font-size:.88rem;

    }

    .nav-links{

        display:grid;

        grid-template-columns:repeat(4, minmax(0, 1fr));

        width:100%;

        gap:0;

    }

    .nav-links li{

        min-width:0;

    }

    .nav-links a{

        display:flex;

        width:100%;

        padding:10px 2px;

        font-size:clamp(.72rem, 3.4vw, .85rem);

        white-space:nowrap;

    }

}

/*==================================================
                    HERO
==================================================*/

.hero {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 100vh;

    overflow: hidden;

    isolation: isolate;

    padding-top: 120px;

}


/*==================================================
                HERO BACKGROUND
==================================================*/

.hero::before {

    content: "";

    position: absolute;
    inset: 0;

    background:

        linear-gradient(
            rgba(5,5,5,.55),
            rgba(5,5,5,.85)
        ),

        radial-gradient(
            circle at top,
            rgba(212,175,55,.08),
            transparent 35%
        ),

        radial-gradient(
            circle at bottom,
            rgba(159,31,31,.10),
            transparent 45%
        );

    z-index: -2;

}

.hero::after {

    content: "";

    position: absolute;

    inset: 0;

    background:

        radial-gradient(
            circle,
            transparent 45%,
            rgba(0,0,0,.65) 100%
        );

    z-index: -1;

}


/*==================================================
                HERO GLOW EFFECTS
==================================================*/

.hero .hero-glow,
.hero .hero-glow-left,
.hero .hero-glow-right{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    pointer-events:none;

}

.hero .hero-glow{

    width:520px;
    height:520px;

    top:-180px;
    left:50%;

    transform:translateX(-50%);

    background:rgba(212,175,55,.12);

    animation:heroPulse 8s ease-in-out infinite;

}

.hero .hero-glow-left{

    width:320px;
    height:320px;

    bottom:-120px;
    left:-80px;

    background:rgba(159,31,31,.10);

}

.hero .hero-glow-right{

    width:320px;
    height:320px;

    top:20%;

    right:-80px;

    background:rgba(212,175,55,.08);

}


/*==================================================
                HERO CONTENT
==================================================*/

.hero-content{

    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    max-width:900px;

    z-index:2;

}

.hero-subtitle{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:10px 22px;

    margin-bottom:26px;

    border-radius:999px;

    border:1px solid rgba(212,175,55,.25);

    background:rgba(255,255,255,.03);

    color:var(--color-primary);

    font-size:.85rem;

    letter-spacing:4px;

    font-weight:700;

    text-transform:uppercase;

    backdrop-filter:blur(12px);

}

.hero-subtitle::before,
.hero-subtitle::after{

    content:"";

    width:24px;
    height:1px;

    background:var(--color-primary);

    opacity:.7;

}

.hero-content h2{

    font-size:var(--fs-hero);

    font-weight:800;

    line-height:.9;

    letter-spacing:8px;

    text-transform:uppercase;

    margin-bottom:30px;

    color:var(--color-white);

    text-shadow:

        0 0 10px rgba(255,255,255,.08),

        0 0 30px rgba(212,175,55,.12),

        0 0 70px rgba(212,175,55,.08);

}

.hero-content p{

    width:min(700px,100%);

    margin-inline:auto;

    margin-bottom:42px;

    font-size:1.15rem;

    line-height:2;

    color:var(--color-text-muted);

}

.hero-content>*{

    animation:heroFadeUp .9s ease both;

}

.hero-content>*:nth-child(1){

    animation-delay:.15s;

}

.hero-content>*:nth-child(2){

    animation-delay:.3s;

}

.hero-content>*:nth-child(3){

    animation-delay:.45s;

}

.hero-content>*:nth-child(4){

    animation-delay:.6s;

}

.hero-content>*:nth-child(5){

    animation-delay:.8s;

}


/*==================================================
                DECORATIVE ELEMENTS
==================================================*/

.hero::before{

    background-image:

        linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px),

        linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px),

        linear-gradient(rgba(5,5,5,.55), rgba(5,5,5,.85));

    background-size:

        90px 90px,

        90px 90px,

        cover;

}

.hero-content::before{

    content:"";

    position:absolute;

    width:260px;
    height:260px;

    border:1px solid rgba(212,175,55,.08);

    border-radius:50%;

    top:-90px;

    left:50%;

    transform:translateX(-50%);

    z-index:-1;

}

.hero-content::after{

    content:"";

    position:absolute;

    width:420px;
    height:420px;

    border-radius:50%;

    border:1px solid rgba(212,175,55,.04);

    left:50%;

    top:-170px;

    transform:translateX(-50%);

    z-index:-1;

}


/*==================================================
                RESPONSIVE HERO
==================================================*/

@media (max-width:992px){

    .hero{

        min-height:auto;

        padding-top:180px;
        padding-bottom:120px;

    }

    .hero-content h2{

        letter-spacing:5px;

    }

    .hero-content p{

        font-size:1.05rem;

    }

}

@media (max-width:768px){

    .hero{

        padding-top:170px;
        padding-bottom:90px;

    }

    .hero-subtitle{

        letter-spacing:2px;

        padding:10px 18px;

    }

    .hero-content h2{

        margin-bottom:22px;

    }

    .hero-content p{

        font-size:1rem;

        line-height:1.9;

        margin-bottom:36px;

    }

}

@media (max-width:480px){

    .hero-content h2{

        letter-spacing:2px;

    }

    .hero-subtitle{

        font-size:.75rem;

    }

    .hero-content p{

        font-size:.95rem;

    }

}

@media (max-width:640px){

    .hero{

        padding-top:160px;
        padding-bottom:72px;

    }

    .hero-subtitle{

        margin-bottom:18px;

    }

    .hero-content h2{

        margin-bottom:18px;

    }

}

/*==================================================
            HERO BUTTONS
==================================================*/

.hero-buttons {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 22px;

}

.primary-btn,
.secondary-btn {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 220px;

    padding: 16px 34px;

    overflow: hidden;

    border-radius: 999px;

    font-size: .95rem;

    font-weight: var(--fw-bold);

    letter-spacing: 1px;

    text-transform: uppercase;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease,
        color .35s ease,
        background .35s ease;

}

.primary-btn::before,
.secondary-btn::before {

    content: "";

    position: absolute;

    inset: 0;

    transform: translateX(-105%) skewX(-25deg);

    background:

        linear-gradient(
            120deg,
            transparent,
            rgba(255,255,255,.35),
            transparent
        );

    transition: transform .8s ease;

}

.primary-btn:hover::before,
.secondary-btn:hover::before {

    transform: translateX(130%) skewX(-25deg);

}


/*==================================================
                PRIMARY BUTTON
==================================================*/

.primary-btn {

    color: #111;

    background:

        linear-gradient(
            135deg,
            var(--color-primary-light),
            var(--color-primary)
        );

    box-shadow:

        0 12px 35px rgba(212,175,55,.22),

        inset 0 1px 1px rgba(255,255,255,.45);

}

.primary-btn:hover {

    transform:

        translateY(-5px)
        scale(1.02);

    box-shadow:

        0 20px 50px rgba(212,175,55,.35),

        0 0 30px rgba(212,175,55,.25);

}

.primary-btn:active {

    transform: scale(.98);

}


/*==================================================
                SECONDARY BUTTON
==================================================*/

.secondary-btn {

    color: var(--color-white);

    border: 1px solid rgba(212,175,55,.30);

    background:

        rgba(255,255,255,.03);

    backdrop-filter: blur(12px);

}

.secondary-btn:hover {

    color: var(--color-primary);

    border-color: rgba(212,175,55,.70);

    background:

        rgba(212,175,55,.08);

    transform:

        translateY(-5px);

    box-shadow:

        0 18px 45px rgba(0,0,0,.35),

        0 0 22px rgba(212,175,55,.18);

}


/*==================================================
            SCROLL INDICATOR
==================================================*/

.scroll-indicator {

    display: flex;

    align-items: center;

    justify-content: center;

    margin-top: 70px;

    width: 58px;

    height: 58px;

    border-radius: 50%;

    border: 1px solid rgba(212,175,55,.20);

    background:

        rgba(255,255,255,.03);

    backdrop-filter: blur(12px);

    animation:

        floatIndicator 2.6s ease-in-out infinite;

}

.scroll-indicator i {

    color: var(--color-primary);

    font-size: 1.2rem;

    animation:

        bounceArrow 1.8s infinite;

}


/*==================================================
            HERO ANIMATIONS
==================================================*/

@keyframes heroFadeUp {

    from {

        opacity: 0;

        transform:

            translateY(45px);

    }

    to {

        opacity: 1;

        transform:

            translateY(0);

    }

}

@keyframes heroPulse {

    0% {

        transform:

            translateX(-50%)
            scale(1);

        opacity: .45;

    }

    50% {

        transform:

            translateX(-50%)
            scale(1.12);

        opacity: .70;

    }

    100% {

        transform:

            translateX(-50%)
            scale(1);

        opacity: .45;

    }

}

@keyframes floatIndicator {

    0%,
    100% {

        transform:

            translateY(0);

    }

    50% {

        transform:

            translateY(-10px);

    }

}

@keyframes bounceArrow {

    0%,
    100% {

        transform:

            translateY(0);

    }

    50% {

        transform:

            translateY(8px);

    }

}


/*==================================================
            BUTTON RESPONSIVE
==================================================*/

@media (max-width:768px){

    .hero-buttons{

        flex-direction:column;

        width:100%;

    }

    .primary-btn,
    .secondary-btn{

        width:min(100%,340px);

    }

    .scroll-indicator{

        margin-top:50px;

    }

}

@media (max-width:480px){

    .primary-btn,
    .secondary-btn{

        min-width:unset;

        width:100%;

        padding:15px 22px;

        font-size:.85rem;

    }

}

/*==================================================
                SECTION TITLE
==================================================*/

.section-title {

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    margin-bottom: 70px;

    position: relative;

}

.section-title::before {

    content: "";

    width: 80px;

    height: 2px;

    margin-bottom: 22px;

    background: linear-gradient(
        90deg,
        transparent,
        var(--color-primary),
        transparent
    );

    box-shadow: 0 0 18px rgba(212,175,55,.35);

}

.section-title h2 {

    position: relative;

    font-size: clamp(2rem, 4vw, 3.8rem);

    letter-spacing: 3px;

    text-transform: uppercase;

    margin-bottom: 18px;

}

.section-title h2::after {

    content: "";

    position: absolute;

    left: 50%;

    bottom: -14px;

    transform: translateX(-50%);

    width: 90px;

    height: 4px;

    border-radius: 999px;

    background: linear-gradient(
        90deg,
        transparent,
        var(--color-primary),
        transparent
    );

}

.section-title p {

    max-width: 700px;

    margin-top: 18px;

    font-size: 1.05rem;

    color: var(--color-text-muted);

    line-height: 1.9;

}


/*==================================================
                COUNTDOWN
==================================================*/

.countdown {

    position: relative;

    overflow: hidden;

}

.countdown::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        radial-gradient(
            circle at center,
            rgba(212,175,55,.05),
            transparent 55%
        );

    pointer-events: none;

}

.countdown-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 30px;

}

.time-card {

    position: relative;

    overflow: hidden;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-height: 220px;

    border-radius: var(--radius-lg);

    border: 1px solid rgba(212,175,55,.12);

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.015)
        );

    backdrop-filter: blur(14px);

    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;

}

.time-card::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            135deg,
            rgba(212,175,55,.08),
            transparent 45%
        );

    opacity: 0;

    transition: opacity .4s ease;

}

.time-card:hover {

    transform: translateY(-10px);

    border-color: rgba(212,175,55,.35);

    box-shadow:

        0 20px 45px rgba(0,0,0,.35),

        0 0 30px rgba(212,175,55,.15);

}

.time-card:hover::before {

    opacity: 1;

}

.time-card span {

    font-family: var(--font-title);

    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 800;

    color: var(--color-primary);

    line-height: 1;

    text-shadow:

        0 0 18px rgba(212,175,55,.18);

}

.time-card small {

    margin-top: 16px;

    font-size: .95rem;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: var(--color-text-muted);

}


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

@media (max-width:992px){

    .countdown-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:576px){

    .section-title{

        margin-bottom:50px;

    }

    .countdown-grid{

        grid-template-columns:1fr;

        gap:20px;

    }

    .time-card{

        min-height:170px;

    }

}

/*==================================================
                MATCH SCHEDULE
==================================================*/

.schedule {

    position: relative;

    overflow: hidden;

}

.schedule::before {

    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:

        radial-gradient(
            circle at top,
            rgba(212,175,55,.04),
            transparent 45%
        );

}

.schedule-group {

    position: relative;

    margin-bottom: 90px;

}

.schedule-group:last-child {

    margin-bottom: 0;

}


/*==================================================
                GROUP HEADER
==================================================*/

.group-header {

    display: inline-flex;

    align-items: center;

    gap: 16px;

    margin-bottom: 35px;

    padding: 16px 28px;

    border-radius: 999px;

    border: 1px solid rgba(212,175,55,.20);

    background:

        linear-gradient(
            135deg,
            rgba(212,175,55,.10),
            rgba(255,255,255,.02)
        );

    backdrop-filter: blur(12px);

    box-shadow:

        0 12px 30px rgba(0,0,0,.25);

}

.group-header.low {

    border-color: rgba(180,180,180,.18);

    background:

        linear-gradient(
            135deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.015)
        );

}

.group-header h2 {

    display: flex;

    align-items: center;

    gap: 14px;

    font-size: 1.3rem;

    letter-spacing: 2px;

    text-transform: uppercase;

}

.group-header i {

    color: var(--color-primary);

    font-size: 1.15rem;

}

.group-header.low i {

    color: #d4d4d4;

}


/*==================================================
                MATCH GRID
==================================================*/

.matches {

    display: grid;

    gap: 24px;

}


/*==================================================
                MATCH CARD
==================================================*/

.match-card {

    position: relative;

    overflow: hidden;

    display: grid;

    grid-template-columns: 150px 1fr 170px;

    align-items: center;

    gap: 35px;

    padding: 28px 32px;

    border-radius: var(--radius-md);

    border: 1px solid rgba(212,175,55,.12);

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.015)
        );

    backdrop-filter: blur(16px);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;

}

.match-card::before {

    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 4px;
    height: 100%;

    background: var(--color-primary);

    transform: scaleY(0);

    transform-origin: top;

    transition: transform .35s ease;

}

.match-card:hover {

    transform:

        translateY(-8px);

    border-color: rgba(212,175,55,.35);

    box-shadow:

        0 18px 45px rgba(0,0,0,.35),

        0 0 30px rgba(212,175,55,.10);

}

.match-card:hover::before {

    transform: scaleY(1);

}


/*==================================================
                MATCH DATE
==================================================*/

.match-date {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 6px;

}

.match-hour {

    font-family: var(--font-title);

    font-size: 2rem;

    font-weight: 700;

    color: var(--color-primary);

}

.match-date small {

    font-size: .9rem;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: var(--color-text-muted);

}


/*==================================================
                TEAMS
==================================================*/

.match-teams {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

}

.team {

    display: flex;

    align-items: center;

    gap: 16px;

    flex: 1;

}

.team:last-child {

    justify-content: flex-end;

    text-align: right;

}

.team img {

    width: 58px;
    height: 58px;

    object-fit: contain;

    transition:

        transform .35s ease,
        filter .35s ease;

}

.match-card:hover .team img {

    transform: scale(1.08);

    filter: drop-shadow(0 0 12px rgba(212,175,55,.28));

}

.team span {

    font-weight: 600;

    color: var(--color-white);

    font-size: 1rem;

}

.vs {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 54px;
    height: 54px;

    border-radius: 50%;

    font-size: .9rem;

    font-weight: 800;

    color: var(--color-primary);

    border: 1px solid rgba(212,175,55,.25);

    background: rgba(255,255,255,.03);

}


/*==================================================
                MATCH STATUS
==================================================*/

.match-status {

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 12px;

}

.bo {

    padding: 8px 16px;

    border-radius: 999px;

    background: rgba(212,175,55,.12);

    color: var(--color-primary);

    font-size: .8rem;

    font-weight: 700;

    letter-spacing: 1px;

}

.status {

    padding: 9px 16px;

    border-radius: 999px;

    font-size: .82rem;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

}

.status.upcoming {

    color: #79d77b;

    background: rgba(79,181,96,.14);

    border: 1px solid rgba(79,181,96,.20);

}

.status.live {
    color: #ff5c5c;
    background: rgba(255, 50, 50, .14);
    border: 1px solid rgba(255, 50, 50, .20);
}

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

@media (max-width:992px){

    .match-card{

        grid-template-columns:1fr;

        gap:26px;

        text-align:center;

    }

    .match-date,
    .match-status{

        align-items:center;

    }

    .match-teams{

        flex-direction:column;

        gap:22px;

    }

    .team,
    .team:last-child{

        justify-content:center;

        text-align:center;

    }

}

@media (max-width:576px){

    .group-header{

        width:100%;

        justify-content:center;

    }

    .match-card{

        padding:22px;

    }

    .team{

        flex-direction:column;

    }

    .vs{

        width:46px;
        height:46px;

    }

}

/*==================================================
                TEAMS SECTION
==================================================*/

.teams-section {

    position: relative;

    overflow: hidden;

}

.teams-section::before {

    content: "";

    position: absolute;

    inset: 0;

    pointer-events: none;

    background:

        radial-gradient(
            circle at center,
            rgba(212,175,55,.04),
            transparent 60%
        );

}

.teams-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 28px;

}


/*==================================================
                TEAM CARD
==================================================*/

.team-item {

    position: relative;

    overflow: hidden;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 38px 24px;

    border-radius: var(--radius-lg);

    border: 1px solid rgba(212,175,55,.12);

    background:

        linear-gradient(
            160deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.015)
        );

    backdrop-filter: blur(14px);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;

}

.team-item::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            135deg,
            rgba(212,175,55,.10),
            transparent 55%
        );

    opacity: 0;

    transition: opacity .4s ease;

}

.team-item::after {

    content: "";

    position: absolute;

    top: -80px;
    right: -80px;

    width: 180px;
    height: 180px;

    border-radius: 50%;

    background: rgba(212,175,55,.05);

    filter: blur(45px);

}

.team-item:hover {

    transform:

        translateY(-12px);

    border-color: rgba(212,175,55,.35);

    box-shadow:

        0 20px 45px rgba(0,0,0,.35),

        0 0 28px rgba(212,175,55,.14);

}

.team-item:hover::before {

    opacity: 1;

}


/*==================================================
                TEAM IMAGE
==================================================*/

.team-item img {

    position: relative;

    width: 120px;
    height: 120px;

    object-fit: contain;

    margin-bottom: 26px;

    transition:

        transform .45s ease,
        filter .45s ease;

}

.team-item:hover img {

    transform:

        scale(1.12)
        rotate(-4deg);

    filter:

        drop-shadow(0 0 18px rgba(212,175,55,.35));

}


/*==================================================
                TEAM NAME
==================================================*/

.team-item h3 {

    position: relative;

    font-size: 1.4rem;

    letter-spacing: 1px;

    text-transform: uppercase;

    color: var(--color-white);

    transition:

        color .35s ease,
        letter-spacing .35s ease;

}

.team-item:hover h3 {

    color: var(--color-primary);

    letter-spacing: 2px;

}


/*==================================================
                FOOTER
==================================================*/

.footer {

    position: relative;

    overflow: hidden;

    padding: 90px 0 45px;

    border-top: 1px solid rgba(212,175,55,.10);

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.02),
            rgba(0,0,0,.45)
        );

}

.footer::before {

    content: "";

    position: absolute;

    inset: 0;

    pointer-events: none;

    background:

        radial-gradient(
            circle at top,
            rgba(212,175,55,.05),
            transparent 50%
        );

}

.footer-content {

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

}

.footer-content img {

    width: 270px;

    margin-bottom: 22px;

    filter:

        drop-shadow(0 0 20px rgba(212,175,55,.25));

}

.footer-content h2 {

    font-size: 2rem;

    letter-spacing: 3px;

    margin-bottom: 8px;

}

.footer-content p {

    color: var(--color-text-muted);

    margin-bottom: 28px;

}


/*==================================================
                SOCIAL LINKS
==================================================*/

.social-links {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    margin-bottom: 28px;

}

.social-links a {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 56px;
    height: 56px;

    border-radius: 50%;

    border: 1px solid rgba(212,175,55,.15);

    background: rgba(255,255,255,.03);

    color: var(--color-text);

    font-size: 1.2rem;

    transition:
        transform .35s ease,
        border-color .35s ease,
        color .35s ease,
        box-shadow .35s ease;

}

.social-links a:hover {

    transform:

        translateY(-6px);

    color: var(--color-primary);

    border-color: rgba(212,175,55,.45);

    box-shadow:

        0 0 25px rgba(212,175,55,.18);

}

.footer span {

    font-size: .9rem;

    color: #8c8c8c;

}


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

@media (max-width:1100px){

    .teams-grid{

        grid-template-columns:repeat(3,1fr);

    }

}

@media (max-width:768px){

    .teams-grid{

        grid-template-columns:repeat(2,1fr);

        gap:20px;

    }

}

@media (max-width:480px){

    .teams-grid{

        grid-template-columns:1fr;

    }

    .team-item{

        padding:30px 20px;

    }

    .team-item img{

        width:95px;
        height:95px;

    }

    .footer{

        padding:70px 0 35px;

    }

}

/*==================================================
                REVEAL ANIMATIONS
==================================================*/

.reveal {

    opacity: 0;

    transform: translateY(70px);

    transition:

        opacity .9s ease,

        transform .9s cubic-bezier(.22,1,.36,1);

    will-change: transform, opacity;

}

.reveal.active {

    opacity: 1;

    transform: translateY(0);

}

.reveal-left {

    opacity: 0;

    transform: translateX(-80px);

    transition:

        opacity .9s ease,

        transform .9s cubic-bezier(.22,1,.36,1);

}

.reveal-left.active {

    opacity: 1;

    transform: translateX(0);

}

.reveal-right {

    opacity: 0;

    transform: translateX(80px);

    transition:

        opacity .9s ease,

        transform .9s cubic-bezier(.22,1,.36,1);

}

.reveal-right.active {

    opacity: 1;

    transform: translateX(0);

}

.reveal-scale {

    opacity: 0;

    transform: scale(.92);

    transition:

        opacity .9s ease,

        transform .9s cubic-bezier(.22,1,.36,1);

}

.reveal-scale.active {

    opacity: 1;

    transform: scale(1);

}


/*==================================================
                GLOBAL HOVER HELPERS
==================================================*/

.glow-hover {

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}

.glow-hover:hover {

    transform: translateY(-8px);

    box-shadow:

        0 18px 45px rgba(0,0,0,.35),

        0 0 25px rgba(212,175,55,.18);

}


/*==================================================
                GLASS PANEL
==================================================*/

.glass {

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.015)
        );

    border: 1px solid rgba(212,175,55,.12);

    backdrop-filter: blur(14px);

    -webkit-backdrop-filter: blur(14px);

}


/*==================================================
                GOLD DIVIDER
==================================================*/

.divider {

    width: 120px;

    height: 2px;

    margin-inline: auto;

    background:

        linear-gradient(
            90deg,
            transparent,
            var(--color-primary),
            transparent
        );

    box-shadow:

        0 0 16px rgba(212,175,55,.30);

}


/*==================================================
                UTILITIES
==================================================*/

.text-center {

    text-align: center;

}

.text-gold {

    color: var(--color-primary);

}

.text-muted {

    color: var(--color-text-muted);

}

.mb-0 {

    margin-bottom: 0;

}

.mb-1 {

    margin-bottom: 1rem;

}

.mb-2 {

    margin-bottom: 2rem;

}

.mb-3 {

    margin-bottom: 3rem;

}

.w-100 {

    width: 100%;

}

.hidden {

    display: none !important;

}

.fade {

    opacity: 0;

}

.visible {

    opacity: 1;

}


/*==================================================
                REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    * {

        animation-duration: .01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: .01ms !important;

        scroll-behavior: auto !important;

    }

}

/* ==================================================
                TWITCH LIVE STATUS
================================================== */

/* Estado EN VIVO */
.status.live {
    background: rgba(120, 0, 0, 0.35);
    border: 1px solid #ff3333;
    color: #ff5555;
}

/* Botón cuando está EN VIVO */
.match-button.is-live {
    border-color: transparent;
    box-shadow: none;
    transform: translateX(-32px);
}

/* Punto indicador EN VIVO */
.status-dot.live {
    background: #ff3333;
    box-shadow: 0 0 8px rgba(255, 0, 0, 0.8);
}
