/* =========================================================
   BONYEL DIRECTOS
========================================================= */

.bonyel-directos-page {
    --blue: #087cff;
    --blue-light: #16a4ff;
    --dark: #02050c;

    min-height: 100vh;

    color: #fff;
    background:
        radial-gradient(circle at 50% 20%, rgba(0,78,255,.12), transparent 35%),
        #02050c;

    overflow-x: hidden;
}

.directos-container {
    width: min(1480px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   NAV
========================================================= */

.directos-topbar {
    height: 64px;

    border-bottom: 1px solid rgba(255,255,255,.08);

    background: rgba(2,5,12,.96);
}

.directos-topbar-inner {
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.directos-brand {
    color: #fff;

    font-size: 25px;
    font-weight: 900;
    letter-spacing: 1px;

    text-decoration: none;
}

.directos-nav {
    height: 100%;

    display: flex;
    align-items: center;

    gap: 44px;
}

.directos-nav a {
    position: relative;

    display: flex;
    align-items: center;

    height: 100%;

    color: rgba(255,255,255,.72);

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
}

.directos-nav a:hover,
.directos-nav a.active {
    color: #168cff;
}

.directos-nav a.active::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 3px;

    background: #087cff;

    box-shadow: 0 0 14px rgba(8,124,255,.9);
}


/* =========================================================
   HERO
========================================================= */

.directos-hero {
    position: relative;

    overflow: hidden;

    background:
        radial-gradient(circle at 72% 40%, rgba(0,99,255,.22), transparent 28%),
        linear-gradient(90deg, #02050c 0%, #031025 60%, #02050c 100%);
}

.directos-hero-inner {
    min-height: 455px;

    display: grid;
    grid-template-columns: .85fr 1.15fr;

    align-items: center;

    gap: 40px;
}

.directos-hero-copy {
    position: relative;

    z-index: 5;

    padding: 55px 0;
}

.directos-live-label {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 12px;

    font-size: 16px;
    letter-spacing: 5px;
}

.directos-live-label span {
    width: 13px;
    height: 13px;

    border-radius: 50%;

    background: var(--blue);

    box-shadow:
        0 0 8px var(--blue),
        0 0 22px var(--blue);
}

.directos-hero h1 {
    margin: 0;

    font-size: clamp(58px, 6vw, 90px);
    line-height: .9;

    font-style: italic;
    font-weight: 950;

    letter-spacing: -4px;
}

.directos-stroke {
    width: 420px;
    max-width: 85%;

    height: 7px;

    margin: 14px 0 22px;

    background: linear-gradient(
        90deg,
        transparent,
        var(--blue) 12%,
        var(--blue-light) 70%,
        transparent
    );

    transform: rotate(-2deg);

    box-shadow: 0 0 20px rgba(8,124,255,.5);
}

.directos-hero h2 {
    margin: 0 0 17px;

    font-size: 18px;
    letter-spacing: 4px;
}

.directos-hero-copy > p {
    margin: 0 0 26px;

    color: rgba(255,255,255,.78);

    font-size: 15px;
    line-height: 1.45;
}


/* =========================================================
   BOTÓN STREAM
========================================================= */

.directos-stream-button {
    width: min(390px, 100%);

    min-height: 67px;

    display: flex;
    align-items: center;

    gap: 17px;

    padding: 0 23px;

    color: #fff;

    border: 2px solid var(--blue);
    border-radius: 13px;

    background:
        linear-gradient(
            100deg,
            rgba(8,124,255,.18),
            rgba(8,124,255,.04)
        );

    box-shadow:
        inset 0 0 24px rgba(8,124,255,.12),
        0 0 18px rgba(8,124,255,.5);

    text-decoration: none;

    box-sizing: border-box;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.directos-stream-button:hover {
    transform: translateY(-2px);

    box-shadow:
        inset 0 0 28px rgba(8,124,255,.18),
        0 0 30px rgba(8,124,255,.75);
}

.stream-signal {
    color: var(--blue-light);

    font-size: 27px;
}

.directos-stream-button strong {
    flex: 1;

    font-size: 15px;
}

.stream-arrow {
    color: var(--blue-light);

    font-size: 22px;
}


/* =========================================================
   FOTO HERO
========================================================= */

.directos-hero-photo {
    position: relative;

    align-self: stretch;

    min-width: 0;
}

.directos-photo-placeholder {
    position: absolute;

    inset: 28px 0 0;

    display: flex;
    align-items: center;
    justify-content: center;

    color: rgba(255,255,255,.3);

    border-radius: 30px 30px 0 0;

    background:
        radial-gradient(circle at 50% 50%, rgba(0,119,255,.25), transparent 35%),
        linear-gradient(135deg, #061126, #02050c);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}


/* =========================================================
   MIS DIRECTOS
========================================================= */

.directos-content {
    position: relative;

    padding: 35px 0 45px;
}

.directos-content-box {
    position: relative;

    margin-top: -1px;

    padding: 20px;

    border: 1px solid rgba(8,124,255,.4);
    border-radius: 22px;

    background: rgba(2,6,15,.93);

    box-shadow: 0 20px 50px rgba(0,0,0,.35);
}

.directos-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 18px;
}

.directos-section-heading h2 {
    display: flex;
    align-items: center;

    gap: 13px;

    margin: 0;

    font-size: 25px;
}

.directos-section-heading h2 span {
    width: 14px;
    height: 14px;

    border-radius: 50%;

    background: var(--blue);

    box-shadow: 0 0 18px var(--blue);
}

.directos-section-heading small {
    color: var(--blue-light);

    font-size: 11px;
}


/* =========================================================
   CARDS
========================================================= */

.directos-grid {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;
}

.directos-card {
    position: relative;

    overflow: hidden;

    min-width: 0;

    border: 1px solid rgba(38,119,255,.38);
    border-radius: 15px;

    background:
        linear-gradient(
            180deg,
            rgba(7,17,37,.98),
            rgba(3,7,17,.98)
        );
}

.directos-card-image {
    aspect-ratio: 16 / 8;

    display: flex;
    align-items: center;
    justify-content: center;

    color: rgba(255,255,255,.24);

    background:
        radial-gradient(circle at center, rgba(8,124,255,.23), transparent 45%),
        #061126;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.directos-card-body {
    position: relative;

    min-height: 110px;

    padding: 19px;
}

.directos-card-icon {
    position: absolute;

    left: 18px;
    top: -27px;

    color: var(--blue-light);

    font-size: 25px;
}

.directos-card h3 {
    margin: 0 0 8px;

    font-size: 17px;
}

.directos-card p {
    max-width: 220px;

    margin: 0;

    color: rgba(255,255,255,.73);

    font-size: 12px;
    line-height: 1.35;
}

.directos-number {
    position: absolute;

    right: 14px;
    bottom: 8px;

    color: rgba(52,101,169,.22);

    font-size: 34px;
    font-weight: 900;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .directos-container {
        width: calc(100% - 40px);
    }

    .directos-nav {
        gap: 18px;
    }

    .directos-hero-inner {
        grid-template-columns: 1fr 1fr;
    }

    .directos-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 650px) {

    .directos-container {
        width: calc(100% - 28px);
    }

    .directos-topbar {
        height: 58px;
    }

    .directos-brand {
        font-size: 20px;
    }

    .directos-nav {
        gap: 11px;
    }

    .directos-nav a {
        font-size: 6px;
    }


    /* HERO */

    .directos-hero-inner {
        display: flex;
        flex-direction: column;

        gap: 0;
    }

    .directos-hero-copy {
        width: 100%;

        padding: 45px 0 30px;
    }

    .directos-live-label {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .directos-hero h1 {
        font-size: 53px;
        letter-spacing: -2px;
    }

    .directos-stroke {
        margin: 11px 0 18px;
    }

    .directos-hero h2 {
        font-size: 12px;
        letter-spacing: 2px;
    }

    .directos-hero-copy > p {
        font-size: 12px;
    }

    .directos-stream-button {
        min-height: 58px;

        padding: 0 16px;
    }

    .directos-stream-button strong {
        font-size: 11px;
    }


    /* FOTO */

    .directos-hero-photo {
        width: 100%;
        height: 260px;

        align-self: auto;
    }

    .directos-photo-placeholder {
        inset: 0;

        border-radius: 14px 14px 0 0;
    }


    /* DIRECTOS */

    .directos-content {
        padding-bottom: 25px;
    }

    .directos-content-box {
        padding: 13px;

        border-radius: 15px;
    }

    .directos-section-heading h2 {
        font-size: 17px;
    }

    .directos-section-heading small {
        font-size: 8px;
    }

    .directos-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

    .directos-card {
        border-radius: 10px;
    }

    .directos-card-image {
        aspect-ratio: 16 / 10;
    }

    .directos-card-body {
        min-height: 100px;

        padding: 13px 10px;
    }

    .directos-card-icon {
        left: 10px;
        top: -21px;

        font-size: 19px;
    }

    .directos-card h3 {
        font-size: 11px;
    }

    .directos-card p {
        font-size: 8px;
    }

    .directos-number {
        font-size: 24px;
    }

}
/* =========================================================
   HERO FINAL — BANNER DIRECTOS
========================================================= */

.directos-hero-banner {
    position: relative;

    width: 100%;

    overflow: hidden;

    background: #02050c;
}

.directos-banner-wrap {
    position: relative;

    width: 100%;
    max-width: 1920px;

    margin: 0 auto;

    line-height: 0;
}

.directos-banner-image {
    display: block;

    width: 100%;
    height: auto;

    object-fit: cover;
}


/* =========================================================
   BOTÓN INVISIBLE SOBRE "PLATAFORMA DE STREAM"
========================================================= */

.directos-banner-stream-link {
    position: absolute;

    /*
     * Posición aproximada del botón
     * dentro de la imagen.
     */

    left: 7.5%;
    top: 65%;

    width: 35%;
    height: 17%;

    z-index: 10;

    border-radius: 15px;

    cursor: pointer;
}


/* Pequeño brillo al pasar el mouse */

.directos-banner-stream-link:hover {
    background: rgba(0, 128, 255, .05);

    box-shadow:
        0 0 25px rgba(0, 128, 255, .18);
}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 600px) {

    .directos-hero-banner {
        width: 100%;
    }

    .directos-banner-wrap {
        width: 100%;
    }

    .directos-banner-image {
        width: 100%;
        height: auto;
    }

}
/* =========================================================
   IMÁGENES REALES — TARJETAS DIRECTOS
========================================================= */

.directos-card-image {
    position: relative;
    overflow: hidden;
}

.directos-card-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform .35s ease;
}


/* Zoom sutil al pasar el mouse */

.directos-card:hover .directos-card-image img {
    transform: scale(1.035);
}
/* =========================================================
   BANNER COMPLETO CLICABLE
========================================================= */

.directos-banner-full-link {
    display: block;
    width: 100%;

    text-decoration: none;
    cursor: pointer;
}

.directos-banner-full-link .directos-banner-image {
    display: block;

    width: 100%;
    height: auto;
}