/* =========================================================
   INFINITY EVENTS - CABECERA DEFINITIVA
   ========================================================= */

header,
.nav {
    position: relative !important;
    z-index: 5000 !important;
    overflow: visible !important;
    background:
        linear-gradient(
            180deg,
            rgba(9, 8, 5, 0.99),
            rgba(16, 12, 6, 0.98)
        ) !important;
    border-bottom: 1px solid rgba(220, 170, 65, 0.30) !important;
}

.navin,
.header-flex {
    position: relative !important;
    min-height: 150px !important;
    height: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 22px !important;
    overflow: visible !important;
}

/* =========================================================
   CONJUNTO COMPLETO DE MARCA
   ========================================================= */

.infinity-brand-definitive,
.brand {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    gap: 18px !important;

    width: auto !important;
    min-width: 600px !important;
    max-width: calc(100% - 245px) !important;
    height: 142px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    isolation: isolate !important;
    flex-shrink: 0 !important;

    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Halo abierto y difuminado, sin caja */
.infinity-brand-definitive::before,
.brand::before {
    content: "" !important;

    position: absolute !important;
    z-index: 1 !important;

    left: -30px !important;
    top: 8px !important;

    width: 390px !important;
    height: 125px !important;

    pointer-events: none !important;

    background:
        radial-gradient(
            ellipse at center,
            rgba(234, 178, 53, 0.18),
            rgba(234, 178, 53, 0.06) 42%,
            transparent 73%
        ) !important;

    filter: blur(22px) !important;
}

/* =========================================================
   SÍMBOLO: SIN ASPECTO DE ICONO
   ========================================================= */

.infinity-square-logo,
.infinity-brand-definitive img,
.brand img {
    position: relative !important;
    z-index: 4 !important;

    display: block !important;

    width: 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;

    height: 138px !important;
    min-height: 138px !important;
    max-height: 138px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;

    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;

    opacity: 1 !important;
    visibility: visible !important;

    filter:
        brightness(1.08)
        contrast(1.08)
        saturate(1.08)
        drop-shadow(0 0 7px rgba(255, 238, 177, 0.24))
        drop-shadow(0 0 20px rgba(220, 157, 31, 0.24))
        drop-shadow(0 12px 25px rgba(0, 0, 0, 0.48)) !important;

    animation:
        infinityIntegratedLogo 5s ease-in-out infinite !important;
}

/* =========================================================
   TÍTULO INTEGRADO
   ========================================================= */

.infinity-brand-title,
.infinity-brand-copy {
    position: relative !important;
    z-index: 5 !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    min-width: 420px !important;
    max-width: 710px !important;

    margin: 0 !important;
    padding: 0 !important;

    flex-shrink: 1 !important;
    text-align: left !important;
}

/* Resplandor común detrás del título */
.infinity-brand-title::before,
.infinity-brand-copy::before {
    content: "" !important;

    position: absolute !important;
    z-index: -1 !important;

    inset: -22px -30px -24px -35px !important;

    pointer-events: none !important;

    background:
        radial-gradient(
            ellipse at 35% 48%,
            rgba(229, 175, 61, 0.16),
            transparent 65%
        ) !important;

    filter: blur(20px) !important;
}

/* Texto dorado legible de principio a fin */
.infinity-brand-title strong,
.infinity-brand-copy strong {
    position: relative !important;
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: transparent !important;

    border: 0 !important;
    outline: 0 !important;
    -webkit-text-stroke: 0 transparent !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(2.9rem, 4.5vw, 5rem) !important;
    font-weight: 500 !important;
    line-height: 0.88 !important;
    letter-spacing: 0.045em !important;
    white-space: nowrap !important;

    /*
       El gradiente nunca llega a blanco puro.
       Así EVENTS conserva definición.
    */
    background:
        linear-gradient(
            100deg,
            #8b5a0c 0%,
            #c98f27 14%,
            #edc465 27%,
            #ffe7a0 38%,
            #eec566 48%,
            #bd7d18 61%,
            #e5b64f 73%,
            #ffe49a 86%,
            #b97816 100%
        ) !important;

    background-size: 250% auto !important;
    background-position: 0 center !important;

    background-clip: text !important;
    -webkit-background-clip: text !important;

    text-shadow:
        0 0 8px rgba(255, 222, 132, 0.08),
        0 0 22px rgba(214, 151, 30, 0.10),
        0 0 42px rgba(214, 151, 30, 0.08) !important;

    animation:
        infinityGoldMovement 8s linear infinite,
        infinityGoldBreathing 4.4s ease-in-out infinite !important;
}

/* Subtítulo */
.infinity-brand-title small,
.infinity-brand-copy small {
    display: block !important;

    margin-top: 14px !important;
    padding: 0 !important;

    color: #d3af64 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;

    letter-spacing: 0.48em !important;
    line-height: 1.2 !important;

    white-space: nowrap !important;
    text-transform: uppercase !important;

    text-shadow:
        0 0 8px rgba(227, 174, 64, 0.22),
        0 0 18px rgba(227, 174, 64, 0.14) !important;
}

/* =========================================================
   BARRIDO REALISTA
   ========================================================= */

.infinity-brand-definitive::after,
.brand::after {
    content: "" !important;

    position: absolute !important;
    z-index: 12 !important;

    top: -38% !important;
    left: -24% !important;

    width: 10% !important;
    height: 185% !important;

    pointer-events: none !important;
    opacity: 0;

    transform: rotate(8deg) skewX(-16deg) !important;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255, 239, 186, 0.00) 15%,
            rgba(255, 226, 139, 0.18) 31%,
            rgba(255, 247, 214, 0.75) 45%,
            rgba(255, 255, 255, 0.92) 50%,
            rgba(255, 231, 160, 0.42) 58%,
            rgba(255, 239, 186, 0.00) 77%,
            transparent 100%
        ) !important;

    filter: blur(2.8px) !important;
    mix-blend-mode: screen !important;

    animation:
        infinityRealSweep 7.6s
        cubic-bezier(0.55, 0.02, 0.25, 1)
        infinite !important;
}

/* Segundo reflejo más estrecho */
.infinity-brand-title::after,
.infinity-brand-copy::after {
    content: "" !important;

    position: absolute !important;
    z-index: 11 !important;

    top: -30% !important;
    left: -15% !important;

    width: 5% !important;
    height: 165% !important;

    pointer-events: none !important;
    opacity: 0;

    transform: skewX(-14deg) !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 248, 216, 0.70),
            transparent
        ) !important;

    filter: blur(1.2px) !important;
    mix-blend-mode: screen !important;

    animation:
        infinityTextReflection 12.8s
        ease-in-out
        2.4s
        infinite !important;
}

/* =========================================================
   SELECTOR DE IDIOMAS SIEMPRE VISIBLE
   ========================================================= */

.infinity-language-selector {
    position: absolute !important;
    z-index: 99999 !important;

    top: 14px !important;
    right: 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 6px !important;

    opacity: 1 !important;
    visibility: visible !important;

    border: 1px solid rgba(221, 173, 70, 0.38) !important;
    border-radius: 999px !important;

    background: rgba(8, 7, 4, 0.92) !important;
    backdrop-filter: blur(14px) !important;

    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.40),
        0 0 15px rgba(210, 150, 30, 0.08) !important;
}

.infinity-language-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 5px !important;

    min-width: 54px !important;
    height: 37px !important;

    padding: 0 10px !important;

    border: 1px solid transparent !important;
    border-radius: 999px !important;

    color: #e5cca0 !important;
    background: transparent !important;

    cursor: pointer !important;

    font-size: 0.70rem !important;
    font-weight: 800 !important;
}

.infinity-language-button:hover {
    border-color: rgba(255, 221, 135, 0.38) !important;
    background: rgba(255, 255, 255, 0.06) !important;
}

.infinity-language-button.active {
    color: #151006 !important;

    border-color: rgba(255, 240, 188, 0.82) !important;

    background:
        linear-gradient(
            135deg,
            #f9e3a2,
            #c98e2a
        ) !important;

    box-shadow:
        0 0 12px rgba(255, 218, 119, 0.26),
        0 7px 18px rgba(0, 0, 0, 0.25) !important;
}

.infinity-language-flag {
    font-size: 1.16rem !important;
}

/* =========================================================
   ANIMACIONES
   ========================================================= */

@keyframes infinityIntegratedLogo {
    0%,
    100% {
        transform: translateY(0) scale(1);
        filter:
            brightness(1.06)
            contrast(1.07)
            saturate(1.07)
            drop-shadow(0 0 7px rgba(255, 238, 177, 0.22))
            drop-shadow(0 0 19px rgba(220, 157, 31, 0.22))
            drop-shadow(0 12px 25px rgba(0, 0, 0, 0.48));
    }

    50% {
        transform: translateY(-2px) scale(1.012);
        filter:
            brightness(1.10)
            contrast(1.08)
            saturate(1.10)
            drop-shadow(0 0 12px rgba(255, 244, 201, 0.38))
            drop-shadow(0 0 31px rgba(224, 160, 34, 0.37))
            drop-shadow(0 14px 27px rgba(0, 0, 0, 0.52));
    }
}

@keyframes infinityGoldMovement {
    to {
        background-position: -250% center;
    }
}

@keyframes infinityGoldBreathing {
    0%,
    100% {
        filter: brightness(0.97);
    }

    50% {
        filter: brightness(1.18);
    }
}

@keyframes infinityRealSweep {
    0%,
    10% {
        left: -24%;
        opacity: 0;
    }

    15% {
        opacity: 0.88;
    }

    31% {
        left: 108%;
        opacity: 0;
    }

    65% {
        left: 108%;
        opacity: 0;
    }

    70% {
        left: -24%;
        opacity: 0;
    }

    75% {
        opacity: 0.62;
    }

    87%,
    100% {
        left: 108%;
        opacity: 0;
    }
}

@keyframes infinityTextReflection {
    0%,
    22% {
        left: -15%;
        opacity: 0;
    }

    27% {
        opacity: 0.66;
    }

    38% {
        left: 108%;
        opacity: 0;
    }

    76% {
        left: 108%;
        opacity: 0;
    }

    81% {
        left: -15%;
        opacity: 0;
    }

    85% {
        opacity: 0.48;
    }

    94%,
    100% {
        left: 108%;
        opacity: 0;
    }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1150px) {
    .navin,
    .header-flex {
        min-height: 135px !important;
    }

    .infinity-brand-definitive,
    .brand {
        min-width: 485px !important;
        max-width: calc(100% - 190px) !important;
        height: 125px !important;
        gap: 13px !important;
    }

    .infinity-square-logo,
    .infinity-brand-definitive img,
    .brand img {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;

        height: 116px !important;
        min-height: 116px !important;
        max-height: 116px !important;
    }

    .infinity-brand-title,
    .infinity-brand-copy {
        min-width: 335px !important;
    }

    .infinity-brand-title strong,
    .infinity-brand-copy strong {
        font-size: 2.65rem !important;
    }

    .infinity-brand-title small,
    .infinity-brand-copy small {
        font-size: 0.64rem !important;
        letter-spacing: 0.32em !important;
    }
}

/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 760px) {
    .navin,
    .header-flex {
        min-height: 108px !important;
    }

    .infinity-brand-definitive,
    .brand {
        width: calc(100% - 56px) !important;
        min-width: 0 !important;
        max-width: calc(100% - 56px) !important;

        height: 100px !important;
        gap: 7px !important;
    }

    .infinity-square-logo,
    .infinity-brand-definitive img,
    .brand img {
        width: 91px !important;
        min-width: 91px !important;
        max-width: 91px !important;

        height: 91px !important;
        min-height: 91px !important;
        max-height: 91px !important;
    }

    .infinity-brand-title,
    .infinity-brand-copy {
        min-width: 0 !important;
        max-width: calc(100% - 99px) !important;
    }

    .infinity-brand-title strong,
    .infinity-brand-copy strong {
        font-size: clamp(1.08rem, 5.4vw, 1.72rem) !important;
        line-height: 0.90 !important;
        letter-spacing: 0.015em !important;
        white-space: normal !important;
    }

    .infinity-brand-title small,
    .infinity-brand-copy small {
        margin-top: 7px !important;

        font-size: 0.45rem !important;
        letter-spacing: 0.13em !important;
        white-space: normal !important;
    }

    .infinity-language-selector {
        top: 7px !important;
        right: 56px !important;
        gap: 3px !important;
        padding: 4px !important;
    }

    .infinity-language-button {
        min-width: 35px !important;
        width: 35px !important;
        height: 31px !important;
        padding: 0 !important;
    }

    .infinity-language-code {
        display: none !important;
    }

    .infinity-language-flag {
        font-size: 1.05rem !important;
    }

    .links {
        top: 108px !important;
    }
}
