@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

:root{
    --main-color:#819d86;
    --main-color:chartreuse;
    --black:#222;
    --white:#fff;
    --light-color:#888;
    --light-bg:#eee;
    --light-bg-2:#ddd;
    --header:linear-gradient(to top, #222, #555);
    --shadow: 0 0.5rem 1rem rgba(0,0,0,0.1);
    --text-shadow: 1px 1px 1px rgba(0,0,0,0.9);
    --border:2px solid rgba(0,0,0,0.2);
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
    border: none;
    outline: none;
    transition: all 0.2s linear;


     font-family: "Nunito", sans-serif;
}
html{
    font-size: 62.5%;
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-padding-top: 7rem;
}

::-webkit-scrollbar{
    width: 0.7rem;
}
::-webkit-scrollbar-track{
    background: var(--black);
}
::-webkit-scrollbar-thumb{
    background: var(--main-color);
    border-radius: 1rem;
}
.btn{
    display: inline-block;
    border-radius: 0.5rem;
    cursor: pointer;
    padding: 1rem 3rem;
    font-size:2rem;
    margin-top:1rem;
    background: var(--main-color);
    color:var(--black);
    letter-spacing: 0.1rem;
    box-shadow: var(--text-shadow);
    border: 0.1rem solid var(--main-color);
}
.btn:hover{
    background:var(--light-bg);
    color: var(--black);

}
body{
    background: var(--white);
}

body:has(#themeToggler:checked){
    --main-color: lime;
    --black:#FFF;
    --white:#222;
    --header:linear-gradient( #111, #222);
    --light-color:#888;
    --light-bg:#222;
    --light-bg-2:#333;
    --shadow:0 0.5rem 1rem rgba(0,0,0);
    --border:0.1rem solid rgba(255,255,255,0.2);
}
.contenedor{
    padding: 3rem 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.heading{
    text-align: center;
    font-size: 3.5rem;
    color: var(--black);
    margin: 4rem 0 2rem;
}

.header{
    width: 100%;
    position: fixed;
    top:0;
    z-index: 5;
}
.header-scrolled{
    background-color: var(--white);
    box-shadow: 0.5px 0.5px 1px var(--light-color);
}

.header::before{
    content: "";
    position: absolute;
    bottom:0; left:0;
    height: 0.5rem;
    background-color: var(--main-color);
    width: 0;
    z-index: 1;
    animation: scrollIndicator linear;
    animation-timeline: scroll();
}
body{
    height: 100%;
}
@keyframes scrollIndicator {
    to{
        width: 100%;
    }
}


.header .contenedor{
    width: 100%;
    padding: 0.5rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content:space-between;
}


.header .navbar a{
    margin: 0 1rem;
    font-size: 2rem;
    color: var(--black);
}
.header .navbar a:hover{
    color: var(--main-color);
}
.header  input[type="checkbox"]{
    display: none;
}

.header .icons a,
.header .icons label{
   font-size: 2rem;
    margin-left: 1.5rem;
    cursor: pointer;
    color: var(--light-color);
 
}
.header .icons a:hover,
.header .icons label:hover{
    color:var(--main-color);
 text-shadow: var(--text-shadow); 
}
.header .icons label[for="menuBtn"]{
    display: none;
}

.home {
    min-height: 100vh;
    padding-top: 3rem;
    background: url('/imagenes/fondo.png'), linear-gradient(180deg, transparent, var(--light-bg)) no-repeat;
    background-blend-mode: overlay;
    background-position: bottom;
    background-size: cover;
    position: relative;
}
.home .contenido-central{

    position: absolute;
    bottom: 50%;right: 0;left: 0;
    z-index:1;
    text-align: center;
    transform: translateY(60%);
}
.home .contenido-central .image{
    height: 18rem;
    filter:drop-shadow(0 0.5rem 1rem var(--main-color)) ;
    transform-origin: bottom;
    /* animation: flotar 4s linear 2; */
    }

    @keyframes flotar {
    0%,100%{
        transform:scaleY(1)translateX(0);
    }
    50%{
        transform: scaleY(1.1) translateX(5px);
    }
}

.home .contenido-central h3{
    font-size: clamp(3.5rem, 7.5vw, 11rem);
    color: var(--black);
}
.home .contenido-central p{
    font-size: clamp(3rem, 3vw, 5rem);
    color: var(--black);
    font-weight: lighter;
    padding-bottom: 1rem;
}


.about .contenido-2-columnas{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 3rem;
}

.about .contenido-2-columnas .image{
    flex: 1 1 40rem;

   
}
.about .contenido-2-columnas .image img{
 width: 100%;
     box-shadow:  2px 2px 3px rgba(0,0,0,0.1);
}
.about .contenido-2-columnas .content{
    flex: 1 1 40rem;
    padding: 3rem;
    border-radius: 0.5rem;
    border: var(--border);
    box-shadow: var(--shadow);
    margin-left: -5rem;
    background-color: var(--white);
}
.about .contenido-2-columnas .content h3{
   font-size: clamp(2rem,3rem,4rem);
   color: var(--main-color);
   text-shadow: var(--text-shadow);
   margin-bottom: 0.5rem;
   font-weight: normal;
}
.about .contenido-2-columnas .content p{
    line-height: 1.8;
    font-size: 1.6rem;
    color:var(--light-color);
    padding: 0.5rem 0;
}
.about .contenedor-tarjetas{
    display: grid;
    grid-template-columns: repeat(auto-fit,27rem);
    align-items: flex-start;
    justify-content: center;
    margin-top: 5rem;
    gap:2rem;
}
.about .contenedor-tarjetas .tarjeta{
    text-align: center;
    cursor: default;
}
.about .contenedor-tarjetas .tarjeta img{
   
    height: 15rem;
    margin-bottom: 2rem;

}
.about .contenedor-tarjetas .tarjeta p{
    color: var(--light-color);
    font-size: 2.2rem;
    line-height: 1.2;
}
.about .contenedor-tarjetas .tarjeta:hover p{
    color: var(--black);
}

.classes .contenedor-tarjetas{
    display: grid;
    grid-template-columns: repeat(auto-fit,35rem);
    align-items: flex-start;
    justify-content: center;
    gap:2rem;
}
.classes .contenedor-tarjetas .tarjeta{
    text-align: center;
}
.classes .contenedor-tarjetas .tarjeta img{
    height: 25rem;
    width: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
}
.classes .contenedor-tarjetas .tarjeta  h3{
    font-size: 2rem;
    color: var(--black);
    cursor: default;
}
.classes .contenedor-tarjetas .tarjeta:hover  h3{
    color: var(--main-color);
}
.services .contenedor-tarjetas{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap:2rem;
}
.services .contenedor-tarjetas .tarjeta{
    flex: 1 1 40rem;
    padding: 1rem;
    cursor: default;
}
.services .contenedor-tarjetas .tarjeta:nth-child(odd){
    text-align: right;
}

.services .contenedor-tarjetas .tarjeta img{
    height: 20rem;
    margin-bottom: 1rem;
}
.services .contenedor-tarjetas .tarjeta:hover img{
   transform: translateY(1rem);
}
.services .contenedor-tarjetas .tarjeta h3{
    font-size: 2rem;
    color: var(--black);
    padding: 1rem 0;
}
.services .contenedor-tarjetas .tarjeta:hover h3{
    color:var(--main-color);
}
.services .contenedor-tarjetas .tarjeta p{
    line-height: 1.8;
    font-size: 1.8rem;
    color: var(--light-color);
}
.services .contenedor-tarjetas .tarjeta:hover p{
    color: var(--black);
}

.prices{
    background: var(--light-color);
    padding: 0.3rem 0 2rem;
    margin-top: -.5rem;
}

.prices .contenedor-tarjetas{
    display: grid;
    grid-template-columns: repeat(auto-fit,35rem);
    gap:2rem;
    justify-content: center;
    align-items: center;
}
.prices .contenedor-tarjetas .tarjeta{
    padding: 2rem;
    border-radius: 0.5rem;
    border: var(--border);
    border-color: var(--main-color);
    box-shadow: var(--shadow);
    background: var(--white);
    text-align: center;
    cursor: default;
}
.prices .contenedor-tarjetas .tarjeta .title{
    font-size: 2.5rem;
    color: var(--black);
    margin-bottom: 1rem;
}
.prices .contenedor-tarjetas .tarjeta .list{
    padding: 1rem 0;
}
.prices .contenedor-tarjetas .tarjeta .list p{
    padding: 1rem 0;
    font-size: 1.8rem;
    color:var(--light-color);
}
.prices .contenedor-tarjetas .tarjeta .amount{
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap:0.2rem;
    background-color: var(--light-bg);
    border-radius: 0.5rem;
    padding: 0.5rem;
    margin-bottom: 1.5rem;
}
.prices .contenedor-tarjetas .tarjeta .amount span{
    font-size: 2rem;
    color: var(--light-color);
}
.prices .contenedor-tarjetas .tarjeta .amount p{
    font-size: 3rem;
    color: var(--black);
}
.prices .contenedor-tarjetas .tarjeta .btn{
    display: block;
}

.reviews input[type="radio"]{
    display: none;
}

.reviews .contenido-2-columnas{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap:2rem;
}
.reviews .contenido-2-columnas .content{
    flex: 1 1 40rem;
}
.reviews .contenido-2-columnas .content h3{
    font-size: 2rem;
    color: var(--black);
    margin-bottom: 1rem;
}
.reviews .contenido-2-columnas .content p{
    line-height: 1.8;
    font-size: 1.6rem;
    color: var(--light-color);
    margin-bottom: 1rem;
}
.reviews .contenido-2-columnas .content .controls{
    text-align: center;
    margin-top: 3rem;
}
.reviews .contenido-2-columnas .content .controls label{
    /* importante poner esto */
    display: inline-block;
    margin: 0 0.3rem;
    height: 2.5rem;
    width: 2.5rem;
    background: var(--light-color);
    border-radius: 50%;
    cursor: pointer;
}
.reviews .contenido-2-columnas .content .controls label:hover{
    background-color: var(--light-color);
}

.reviews .contenido-2-columnas .contenedor-tarjetas{
    flex: 1 1 40rem;
    overflow: hidden;
    border-radius: 0.5rem;
    display: flex;
}
.reviews .contenido-2-columnas .contenedor-tarjetas .tarjeta{
    /* Se estira pero no se encoge y ocupa el 100% de su padre */
    flex: 1 0 100%;
    text-align: center;
    background-color: var(--light-bg);
    padding: 3rem 2rem;
    user-select: none;
    border-radius: 0.5rem;
}
.reviews .contenido-2-columnas .contenedor-tarjetas .tarjeta img{
    height: 15rem;
    width: 15rem;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 1rem;
}
.reviews .contenido-2-columnas .contenedor-tarjetas .tarjeta h3{
    font-size: 2.5rem;
    color: var(--black);
}
.reviews .contenido-2-columnas .contenedor-tarjetas .tarjeta p{
    line-height: 1.8;
    font-size: 1.6rem;
    color: var(--light-color);
    padding: 1rem 0;
}
.reviews .contenido-2-columnas .contenedor-tarjetas .tarjeta .stars{
    margin-top: 0.5rem;
}
.reviews .contenido-2-columnas .contenedor-tarjetas .tarjeta .stars i{
  font-size: 1.8rem;
  color: var(--main-color);
}

#r1:checked ~ .contenido-2-columnas .contenedor-tarjetas .tarjeta:first-child{
    margin-left: 0%;
}
#r2:checked ~ .contenido-2-columnas .contenedor-tarjetas .tarjeta:first-child{
    margin-left: -100%;
}
#r3:checked ~ .contenido-2-columnas .contenedor-tarjetas .tarjeta:first-child{
    margin-left: -200%;
}
#r4:checked ~ .contenido-2-columnas .contenedor-tarjetas .tarjeta:first-child{
    margin-left: -300%;
}
#r1:checked ~ .contenido-2-columnas .content .controls label:nth-child(1),
#r2:checked ~ .contenido-2-columnas .content .controls label:nth-child(2),
#r3:checked ~ .contenido-2-columnas .content .controls label:nth-child(3),
#r4:checked ~ .contenido-2-columnas .content .controls label:nth-child(4){
    background-color: var(--black);
}

.book{
    padding-top: 1.5rem;
}
.book .contenido-2-columnas{
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: center;
}
.book .contenido-2-columnas .image{
    flex: 1 1 40rem;
    mask-image: url("/imagenes/mancha.png");
    mask-position: center;
}

.book .contenido-2-columnas .image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
}
.book .contenido-2-columnas .form{
    flex:1 1 40rem;
}

.book .contenido-2-columnas .form .filas-flex-una-col{
    display: flex;
    flex-wrap: wrap;
    gap:1rem;
    margin-bottom: 2rem;
}
.book .contenido-2-columnas .form .filas-flex-una-col .input{
    flex:1 1 25rem;
  
}
.book .contenido-2-columnas .form .filas-flex-una-col p,
.book .contenido-2-columnas .form  p
{
    
   font-size: 1.6rem;
   color:var(--light-color);
   padding-bottom: 1rem;
}

.book .contenido-2-columnas .form .input input, 
.book .contenido-2-columnas .form textarea{
    width: 100%;
    border-radius: 0.5rem;
    font-size: 1.8rem;
    color: var(--light-color);
    text-transform: none;
    border: var(--border);
    background-color: var(--light-bg);
    padding: 1rem 1.2rem;
}
 
/* Cambia el color del texto dd/mm/aaaa inicial */
input[type="date"]::-webkit-datetime-edit {
  color: #a0aec0; /* Elige el color que desees aquí */
}

/* Opcional: Asegura que el color cambie a negro (o el color que quieras) cuando el usuario ya elija una fecha */
input[type="date"]:valid::-webkit-datetime-edit {
  color: var(--light-color);
}
.book .contenido-2-columnas .form textarea{
    height: 15rem;
    resize: none;
}

.book .contenido-2-columnas .form .input input::-webkit-calendar-picker-indicator{
  cursor: pointer;
}

body:has(#themeToggler:checked) .book .contenido-2-columnas .form .input input::-webkit-calendar-picker-indicator{
   filter: invert(1);
  
}

.blogs .contenedor-tarjetas{
    display:grid;
    grid-template-columns: repeat(auto-fit,35rem);
    align-items: flex-start;
    justify-content: center;
    gap:2rem;
}
.blogs .contenedor-tarjetas .tarjeta .image{
    height: 40rem;
    overflow: hidden;
    position: relative;
    border-radius: 0.5rem;
}
.blogs .contenedor-tarjetas .tarjeta:hover .image .info {
 bottom: 1.5rem;
}
.blogs .contenedor-tarjetas .tarjeta .image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
.blogs .contenedor-tarjetas .tarjeta .image:hover img{
    object-position: bottom;
}
.blogs .contenedor-tarjetas .tarjeta .image .info{
    position: absolute;
    bottom: -5rem;
    left:50%;
    transform: translateX(-50%);
    width: 90%;
    background-color: var(--white);
    border-radius: 0.5rem;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;

}
.blogs .contenedor-tarjetas .tarjeta .image .info a{
    font-size: 1.6rem;
}
.blogs .contenedor-tarjetas .tarjeta .image .info a i{
    color: var(--black);
    margin-right: 0.5rem;
}
.blogs .contenedor-tarjetas .tarjeta .image .info:hover a i{
    color: var(--main-color);
}
.blogs .contenedor-tarjetas .tarjeta .image .info a span{
    color: var(--light-color);
}
.blogs .contenedor-tarjetas .tarjeta .image .info:hover a span{
    color: var(--black);
}

.blogs .contenedor-tarjetas .tarjeta .content{
    text-align: center;
    padding: 2rem;
}
.blogs .contenedor-tarjetas .tarjeta .content h3{
    font-size: 2rem;
    color: var(--black);
    margin-bottom: 0.5rem;
}
.blogs .contenedor-tarjetas .tarjeta .content p{
    font-size: 1.6rem;
    color: var(--light-color);
    line-height: 1.8;
    padding: 1rem 0;
}


.scroll-slide{
    background-color: var(--light-bg);
    white-space: nowrap;
}

.scroll-slide .fila{
    overflow: hidden;
}
.scroll-slide .fila .col{
    display: inline-block;
    cursor: default;
    animation: slider 20s linear infinite;
}
@keyframes slider {
    from{
        transform: translateX(0);
    }
    to{
        transform: translateX(-100%);
    }
}
.scroll-slide:hover .fila .col{
    animation-play-state: paused;
}
.scroll-slide .fila .col p{
    display: inline-block;
    font-size: 2.5rem;
    color: var(--light-color);
}
.scroll-slide .fila .col:hover p{
    color: var(--black);
}
.scroll-slide .fila .col i{
    font-size: 2rem;
    color: var(--main-color);
    margin: 0 1.5rem;
}

.footer .contenedor .fila{
    display: grid;
    grid-template-columns: repeat(auto-fit,30rem);
    align-items: flex-start;
    justify-content: center;
    gap:2rem;
}
.footer .contenedor .fila .col h3{
    font-size: 2rem;
    margin-bottom: 1rem;
    color: var(--black);
}
.footer .contenedor .fila .col a{
    display: block;
    font-size: 1.8rem;
    padding: 1rem 0;
    color: var(--light-color);
}
.footer .contenedor .fila .col a:hover{
    color:var(--black);
}
.footer .contenedor .fila .col a i{
    margin-right: 1rem;
    color: #444;
}
.footer .contenedor .fila .col a:hover i{
    margin-right: 2rem;
}
.footer .credit{
    text-align: center;
    padding: 3rem 2rem;
    border-top: var(--border);
    background-color: var(--light-bg);
    font-size: 2rem;
    color: var(--light-color);
}

.footer .credit span{
    color:var(--black);
   
}

@media (max-width:991px) {
    html{
        font-size: 55%;
    }
}
@media (max-width:768px) {
    
    .header .icons label[for="menuBtn"]{
    display: inline-block   ;
    }
    .header .navbar{
        position: absolute;
        top:100%; left: 0; right: 0;
        background: var(--white);
        padding: 2rem 3rem;
        border-top: 0.1rem solid var(--white);
        clip-path: polygon(0 0, 100% 0,100% 0 , 0 0);
    }
     .header .navbar a{
        display: block;
        margin: 1rem 0;
        font-size:2.5rem
     }
     body:has(#menuBtn:checked) .header .navbar{
          clip-path: polygon(0 0,100% 0,100% 100%, 0 100%);
     }
     .about .contenido-2-columnas .content{
        margin-left: 0;
        margin-top: -1rem;
     }
     .about .contenedor-tarjetas{
       
        margin-top: 3rem;
     }
}
@media (max-width:450px) {
    html{
        font-size: 50%;
    }
}