/* ===========================
   ACTIVA RADIO
   style.css
=========================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {

    font-family: 'Poppins', sans-serif;

    background:
        linear-gradient(135deg, #04111f, #071d39, #0c2b4d, #08131f);

    color: #fff;

    overflow-x: hidden; 

}

/* Fondo animado */

body::before {

    content: "";

    position: fixed;

    width: 200%;

    height: 200%;

    left: -50%;

    top: -50%;

    background:
        radial-gradient(circle, #19ffd640 0%, transparent 20%),
        radial-gradient(circle, #3aa8ff30 0%, transparent 25%),
        radial-gradient(circle, #ff008030 0%, transparent 18%);

    animation: fondo 18s linear infinite;

    z-index: -2;

}

@keyframes fondo {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}

/* HEADER */

header {

    position: fixed;

    top: 0;

    width: 100%;

    padding: 18px 60px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    background: rgba(41, 65, 126, 0.93);

    backdrop-filter: blur(18px);

    z-index: 1000;

}

.logo img {

    height: 75px;

    transition: .4s;

    filter: drop-shadow(0 0 15px #4af7ff);

}

.logo img:hover {

    transform: scale(1.06);

}

nav {

    display: flex;

    gap: 30px;

}

nav a {

    color: white;

    text-decoration: none;

    font-weight: 600;

    transition: .3s;

}

nav a:hover {

    color: #55ffd9;

}

/* HERO */

.hero {

    min-height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    text-align: center;

    position: relative;

}

.overlay {

    position: absolute;

    inset: 0;

    background: rgba(0, 0, 0, .25);

}

.contenido {

    position: relative;

    z-index: 2;

}

.heroLogo {

    width: 520px;

    max-width: 90%;

    animation: flotar 5s ease-in-out infinite;

    filter: drop-shadow(0 0 25px #37d5ff);

}

@keyframes flotar {

    0%,
    100% {

        transform: translateY(0px);

    }

    50% {

        transform: translateY(-12px);

    }

}

.ubicacion {

    margin-top: 20px;

    font-size: 24px;

    color: #bcefff;

}

.hero h2 {

    font-size: 52px;

    margin-top: 15px;

    font-weight: 800;

}

/* BOTÓN EN VIVO */

.liveButton {

    margin-top: 40px;

    display: inline-block;

    padding: 20px 60px;

    border-radius: 80px;

    background: #ff2020;

    color: white;

    font-size: 22px;

    font-weight: bold;

    text-decoration: none;

    animation: pulse 1.3s infinite;

    box-shadow: 0 0 25px red;

}

@keyframes pulse {

    0% {

        transform: scale(1);

        box-shadow: 0 0 20px red;

    }

    50% {

        transform: scale(1.08);

        box-shadow: 0 0 50px red;

    }

    100% {

        transform: scale(1);

        box-shadow: 0 0 20px red;

    }

}

/* SECCIONES */

section {

    padding: 90px 10%;

}

section h2 {

    text-align: center;

    font-size: 42px;

    margin-bottom: 35px;

}
section p {

    text-align: center;

    font-size: 20px;

    color: #bcefff;

    margin-bottom: 50px;

}

/* PLAYER */

.player {

    width: 100%;

    max-width: 700px;

    margin: auto;

    padding: 35px;

    border-radius: 25px;

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

    backdrop-filter: blur(18px);

    border: 1px solid rgba(255, 255, 255, .08);

}

audio {

    width: 100%;

}

/* PROGRAMACIÓN */

.cards {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

    gap: 25px;

}

.card {

    padding: 35px;

    border-radius: 25px;

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

    backdrop-filter: blur(14px);

    transition: .4s;

}

.card:hover {

    transform: translateY(-10px);

    background: #0a83ff;

}

.card h3 {

    margin-bottom: 12px;

}

/* REDES */

.botones {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 20px;

}

.botones a {

    text-decoration: none;

    color: white;

    background: #ff0075;

    padding: 16px 28px;

    border-radius: 50px;

    transition: .4s;

}

.botones a:hover {

    background: #00c8ff;

}

/* FOOTER */

footer {

    padding: 40px;

    text-align: center;

    background: #020202;

}

/* RESPONSIVE */

@media(max-width:768px) {

    header {

        padding: 15px 25px;

        flex-direction: column;

        gap: 15px;

    }

    nav {

        gap: 15px;

        flex-wrap: wrap;

        justify-content: center;

    }

    .hero h2 {

        font-size: 34px;

    }

    .ubicacion {

        font-size: 18px;

    }

    .liveButton {

        padding: 18px 40px;

        font-size: 18px;

    }

    .logo img {

        height: 60px;

    }

}