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


html{
    scroll-behavior:smooth;
}


body{

    font-family:Arial, Helvetica, sans-serif;

    background:#0b0f0b;

    color:white;

}



/* =====================
        MENU
===================== */


.menu{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:10px 35px;

    position:fixed;

    top:0;

    left:0;

    z-index:9999;

    background:rgba(8,25,12,.65);

    backdrop-filter:blur(15px);

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

    border-bottom:1px solid rgba(255,255,255,.12);

}



.menu::before{

    content:"";

    position:absolute;

    bottom:0;

    left:0;

    width:100%;

    height:2px;

    background:linear-gradient(
        90deg,
        transparent,
        #73c25f,
        transparent
    );

}



.menu-logo img{

    width:65px;

    height:auto;

    display:block;

}



.menu ul{

    list-style:none;

    display:flex;

    align-items:center;

    gap:14px;

}



.menu ul li a{

    color:white;

    text-decoration:none;

    font-size:15px;

    font-weight:600;

    padding:9px 15px;

    border-radius:25px;

    transition:.3s;

    white-space:nowrap;

}



.menu ul li a:hover{

    background:#2e7d32;

    transform:translateY(-2px);

}





/* =====================
      PORTADA
===================== */


.portada{

    width:100%;

    overflow:hidden;

    padding-top:85px;

}



.portada img{

    width:100%;

    display:block;

    min-height:260px;

    object-fit:cover;

}





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


.hero{

    min-height:600px;

    background-image:url("../img/bosque-portada.png");

    background-size:cover;

    background-position:center;

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}



.overlay{

    position:absolute;

    inset:0;

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

}



.contenido{

    position:relative;

    z-index:2;

    text-align:center;

    width:90%;

    max-width:900px;

}





.section-divider{

    display:flex;

    align-items:center;

    justify-content:center;

    width:90%;

    margin:25px auto;

}



.section-divider::before,
.section-divider::after{

    content:"";

    flex:1;

    height:1px;

    background:linear-gradient(
        90deg,
        transparent,
        #73c25f,
        transparent
    );

}



.section-divider span{

    margin:0 18px;

    font-size:30px;

}





.logo{

    width:360px;

    max-width:90%;

    margin-bottom:30px;

    filter:drop-shadow(0 5px 15px rgba(0,0,0,.6));

}



.contenido h1{

    font-size:42px;

    letter-spacing:1px;

}



.contenido h2{

    font-size:24px;

    margin:15px;

    font-weight:normal;

}

/* =====================
       ESTADO
===================== */


.estado{

    margin:20px;

}



.punto{

    display:inline-block;

    width:14px;

    height:14px;

    background:red;

    border-radius:50%;

    margin-right:10px;

    animation:parpadeo 1.2s infinite;

}



.texto-en-vivo{

    font-weight:bold;

    letter-spacing:2px;

}



@keyframes parpadeo{

    0%{

        opacity:1;

    }

    50%{

        opacity:.3;

    }

    100%{

        opacity:1;

    }

}





/* =====================
       BOTON RADIO
===================== */


.boton-escuchar{

    background:#1f8f3a;

    border:none;

    padding:15px 35px;

    border-radius:30px;

    color:white;

    font-size:18px;

    cursor:pointer;

    transition:.3s;

    box-shadow:0 0 15px rgba(115,194,95,.4);

}



.boton-escuchar:hover{

    background:#2db84d;

    transform:scale(1.05);

    box-shadow:0 0 25px rgba(115,194,95,.8);

}





/* =====================
       REDES
===================== */


.redes{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:25px;

}



.redes img{

    width:45px;

    height:45px;

    object-fit:contain;

    transition:.3s;

}



.redes img:hover{

    transform:scale(1.15);

}





/* =====================
      TARJETAS PORTAL
===================== */


.secciones-portal{

    padding:60px 5%;

    text-align:center;

}



.secciones-portal h2{

    margin-bottom:35px;

    font-size:32px;

}



.tarjetas{

    display:grid;

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

    gap:18px;

    width:100%;

}



.tarjeta{

    background:linear-gradient(
        145deg,
        #162416,
        #101810
    );

    padding:20px;

    border-radius:18px;

    min-height:140px;

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

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    align-items:center;

    text-align:center;

    transition:.35s;

}



.tarjeta:hover{

    transform:translateY(-8px);

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

}



.icono{

    font-size:38px;

    margin-bottom:10px;

}



.tarjeta h3{

    text-transform:uppercase;

    font-size:17px;

    letter-spacing:1px;

    margin:10px 0;

}



.linea-titulo{

    width:70px;

    height:3px;

    background:#73c25f;

    border-radius:50px;

    margin:10px auto;

}



.tarjeta a,
.btn{

    display:inline-block;

    margin-top:12px;

    background:#2d8a3e;

    padding:8px 16px;

    border-radius:20px;

    color:white;

    text-decoration:none;

    font-size:13px;

    transition:.3s;

}



.tarjeta a:hover,
.btn:hover{

    background:#43b957;

}



.btn i{

    margin-left:8px;

}

/* =====================
       GALERIA
===================== */


.galeria{

    padding:60px 0;

    overflow:hidden;

}



.galeria h2{

    text-align:center;

    margin-bottom:35px;

}



.slider{

    overflow:hidden;

}



.slide-track{

    display:flex;

    width:max-content;

    animation:moverGaleria 35s linear infinite;

}



.slide-track:hover{

    animation-play-state:paused;

}



.slide-track img{

    width:350px;

    height:220px;

    object-fit:cover;

    margin-right:20px;

    border-radius:18px;

}





@keyframes moverGaleria{

    from{

        transform:translateX(0);

    }


    to{

        transform:translateX(-50%);

    }

}





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


.contacto{

    text-align:center;

    padding:50px 20px;

}



.contacto h2{

    margin-bottom:20px;

}



footer{

    background:#050805;

    text-align:center;

    padding:25px;

    font-size:14px;

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

}





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


@media(max-width:900px){



.menu{

    padding:8px 12px;

    flex-wrap:wrap;

}



.menu-logo img{

    width:55px;

}



.menu ul{

    width:max-content;

    display:flex;

    gap:12px;

    margin-top:10px;

    animation:menuMovimiento 25s linear infinite;

}


.menu ul li{

    flex:0 0 auto;

}


.menu ul::-webkit-scrollbar{

    display:none;

}


.menu ul li{

    flex:0 0 auto;

}



.menu ul li a{

    display:block;

    text-align:center;

    font-size:13px;

    padding:7px;

    background:rgba(8,25,12,.65);

}



.hero{

    min-height:520px;

}



.logo{

    width:120px;

}



.contenido h1{

    font-size:28px;

}



.contenido h2{

    font-size:18px;

}



.boton-escuchar{

    padding:12px 25px;

    font-size:15px;

}



.redes img{

    width:38px;

    height:38px;

}



.tarjetas{

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

    gap:12px;

}



.tarjeta{

    min-height:120px;

}



.slide-track img{

    width:250px;

    height:160px;

}



}





/* =====================
      CELULAR
===================== */


@media(max-width:500px){



.menu{

    padding:8px 10px;

}



.menu-logo img{

    width:48px;

}



.menu ul{

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

    gap:6px;

}



.menu ul li a{

    font-size:12px;

    padding:6px;

}



.hero{

    min-height:460px;

}



.logo{

    width:100px;

}



.contenido h1{

    font-size:22px;

}



.contenido h2{

    font-size:15px;

}



.boton-escuchar{

    font-size:14px;

    padding:10px 20px;

}



.redes img{

    width:34px;

    height:34px;

}



.secciones-portal{

    padding:35px 10px;

}



.secciones-portal h2{

    font-size:24px;

}



.tarjetas{

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

    gap:10px;

}



.tarjeta{

    padding:12px;

}



.icono{

    font-size:28px;

}



.tarjeta h3{

    font-size:13px;

}



.tarjeta a,
.btn{

    font-size:12px;

    padding:7px 10px;

}



}


@keyframes menuMovimiento{

    from{

        transform:translateX(20px);

    }


    to{

        transform:translateX(-250px);

    }

}
