/* font-family: "Playfair Display", serif;
font-family: "Montserrat", sans-serif;
font-family: "Archivo", sans-serif; */

/* GENERAL */

:root{
    --color:#000000;
    /* --color:#e39a6a; */
}

html{
    scroll-behavior: smooth !important;
}

body{
    scroll-behavior: smooth;
    margin:0;
    font-family: "Montserrat", sans-serif;
    background-color: #eeeeee;
}

/* ESTILOS */

h1, h2, h3{
    font-family: "Playfair Display", serif;
    text-transform: uppercase;
}

h1{
    margin:0;
    color: var(--color);
    font-size: 3rem;
}


h2{
    font-size: 2rem;
    text-align: center;
}

.bold{
    font-weight: 700;
}

.curs{
    font-style: italic;
}

.logo{
    width:70px;
    margin: 0;
}

form{
    text-align: center;
    margin:10px
}
 
label{
    font-weight: 600;
}

input{
    margin-bottom: 15px;
    padding:5px;
    width: 100%;
    box-sizing: border-box;
    font-family: Montserrat, sans-serif;
    border:none;
    border-bottom: 2px solid white;
    background-color: #000000;
    color: rgb(240, 240, 240);
}

input:focus{
    outline:none;
    border-bottom: 4px solid white;
}

input[type=submit]{
    font-weight: 700;
    text-transform: uppercase;
    border:none;
    border:2px solid rgb(255, 255, 255);
    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    font-size: 18px;
    cursor:pointer;
}

input[type=submit]:hover{
    background-color: rgb(255, 255, 255);
    color: rgb(0, 0, 0);
}


/* ORGANIZACION */

header{
    background-color: black;
    width: 80%;
    margin-top: 0;
    margin: auto;
    padding: 10px 50px;
    display:flex;
    justify-self: center;
    align-items: center;
    min-height:55px;  
    justify-content: space-between; 
    position: fixed;
    text-align: start;
    z-index: 2;
}

header li{
    display: inline-block;
    margin: auto 10px;   
}

header a{
    text-decoration: none;
    color: white;
    margin: 5px 10px;
    font-weight: 700;
    text-transform: uppercase;
}

header a:hover{
    border-bottom: 1px solid white;
    padding-bottom:5px;
}

.no-hover:hover{
    border-bottom: none;
    padding-bottom: 0;
}

footer{
    background-color: var(--color);
    color:white;
    width: 100%;
    padding: 15px;
    min-height: 120px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

footer p{
    margin:5px;
}

.separador{
    background-color: var(--color);
    height: 2px;
    margin: 5% 10%;
}

#info{
    padding-top: -150px;
}

.flecha{
    position:fixed;
    bottom: 30px;
    right: 30px;
}

.flecha a{
    background-color: var(--color);
    border: 1px solid white;
    color:white;
    padding: 15px;
    text-align: center;
}

/* HERO */

#hero{
    background-image: url(imagenes/hero.png);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width:100%;
    min-height: 100vh;
}

.hero-content{
    margin-left: 10%;
    width:40%;
    background-color: rgba(255, 255, 255, 0.86);
    padding: 30px;
}

.hero-content a{
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 700;
    padding: 15px;
    border: 2px solid var(--color);
    color: rgb(0, 0, 0);
    display: block;
    margin-top: 20px;
    width: 40%;
    text-align: center;
    transition: 0.2s;
}

.hero-content a:hover{
    transform: scale(1.01);
    background-color: var(--color);
    color:white
}


/* INFO */

.info{
    display:flex;
    justify-content: space-around;
    align-items: stretch;
    margin: 5% 8%;
}

.ubi, .fec, .prec{
    width: 24%;
    padding: 20px;
    text-align: center;
    min-height: 350px;
    transition: 0.2s;
}

.ubi:hover, .fec:hover, .prec:hover{
    transform: translateY(-5px);
}

.info-ubi, .info-fechas, .info-precios{
    background-color: rgba(255, 255, 255, 0.8);
    padding: 10px;
    margin:0;
}

.ubi{
    background-image: url(imagenes/canal.jpg);
    background-size: cover;
    background-position: center;
}

.fec{
    background-image: url(imagenes/spring.jpg);
    background-size: cover;
    background-position: top;
}

.prec{
    background-image: url(imagenes/bici.jpg);
    background-size: cover;
    background-position: top;
}


.info h2{
    font-size: 1.5rem;
}

/* PLANNING */

.planning{
    margin:5% 15%;
}

.planning h2{
    margin-bottom: 60px;
}

.planning h3{
    margin-top: 0;
}

.ruta{
    background-color: white;
    margin-bottom: 5%;
    padding: 20px;
}

.dcha{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-right: 20px;
}


.fecha{
    background-color: var(--color);
    color:white;
    width: 50px;
    padding: 5px;
    margin-top: -40px;
    z-index: 1;
}

.fecha *{
    margin:0;
    text-transform: uppercase;
    text-align: center;
}

.fecha p{
    font-size: 0.8rem;
    font-weight: 400;
}

.ruta a{
    text-decoration: none;
    text-transform: uppercase;
    display: block;
    padding: 10px;
    border: 2px solid var(--color);
    color: var(--color);
    margin-bottom: 10px;
    text-align: center;
    width: 120px;
    font-weight: 600;
    transition: 0.2s;
}

.ruta a:hover{
    background-color: var(--color);
    color:white;
}

img{
    max-width: 300px;
    margin: 30px;
}

.flex{
    display: flex;
    justify-content: space-around;
}

/* PRECIOS */

.precios{
    display: flex;
    justify-content: space-around;
    align-items:stretch;
    margin: auto 10%;
}

.individual{
    background-color: white;
    width: 30%;
    padding: 0 20px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.individual ul{
    text-align: left;
}

.dinero{
    font-size: 1.5rem;
    font-weight: 700;
}

.content {
        width: 80%;
        height: auto;       /* IMPORTANTE: deja que el contenido dicte la altura */
        min-height: 200px;  /* Opcional: una altura mínima si quieres que se vea grande */
        padding: 20px;      /* Añade padding para que el texto no toque los bordes */
        display: block;     /* Asegura que se comporte como bloque */
        color: white;
        background-color: black; /* Aseguramos que mantenga su fondo */
    }

.precios{
    margin-bottom: 80px;
}

/* ABOUT */

.us{
    background-color: var(--color);
    color:white;
    width: 50%;
    margin:auto;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 80px;
}

.us h3{
    font-size: 1.5rem;
    margin-top: 0;
}


/* NEWS */

.news{
    background-color: #000000;
    color:white;
    margin-bottom: 20px;
    padding-bottom: 20px;
    width: 80%;
}

form{
    display: flex;
    flex-direction: column;
    align-items: start;
}


/* RESPONSIVE */

@media screen and (max-width:972px){
    header{
        position:relative;
    }

    h1{
        font-size: 2rem;
    }

    h2{
        font-size: 1.5rem;
    }

    #hero{
        margin-top: -70px;}


    .dcha{
        padding: 0;
        margin-top: 10px;
    }

    .ruta{
        display: flex;
    }

    .fecha{
        margin-top: 20px;
        margin-left: -50px;
        max-height:fit-content;
        min-width: 50px;
    }

    .flex{
        flex-direction: column;
        margin:auto;
        justify-content: space-around;
        align-items: center;
    }

    img{
        width: 80%;
        text-align: center;
    }

    .logo{
        display: revert;
    }

    .precios{
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .individual{
        width:80%;
        margin-bottom: 30px;
    }

    .content{
        width: 80%;
        color: white;
    }

}

@media screen and (max-width:850px){
    nav{
        display: none;
    }
}

@media screen and (max-width:750px){
    p, li{
        font-size: 0.85rem;
    }

    .info{
        display:flex;
        flex-direction: column;
        flex-wrap: wrap; 
        gap: 10px;
        justify-content: center;
        align-items: center;
    }

    .ubi, .fec, .prec{
        width: 90%;
        max-height: 120px;
    }

    .hero-content{
        margin-left: 10%;
        width:65%;
        padding: 30px;
    }


}