/* Definición de colores (Variables para fácil edición) */
:root {
    --amarillo: #ffcc00;
    --verde: #28a745;
    --texto-oscuro: #333;
    --texto-claro: #fff;
}
/* Estilos base para todos los botones */
.boton-amarillo, 
.boton-amarillo-block, 
.boton-verde {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.3s ease;
}
/* Variantes de Color */
.boton-amarillo, 
.boton-amarillo-block {
    background-color: var(--amarillo);
    color: var(--texto-oscuro);
}
.boton-verde {
    background-color: var(--verde);
    color: var(--texto-claro);
}
/* Variantes de Comportamiento (Display) */
.boton-amarillo, 
.boton-verde {
    display: inline-block;
}
/* Efecto Hover */
.boton-amarillo:hover, 
.boton-amarillo-block:hover, 
.boton-verde:hover {
    opacity: 0.8;
}
@font-face {
    font-family: 'Amours';
    src: url('/fonts/Amours.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap; /* Muestra una fuente alternativa mientras carga */
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Ayuda a que el padding no afecte el tamaño total */
}
html{
    scroll-behavior: smooth;
}
body{
    font-family: 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}
h1{ font-size: 3.5em;}
h2{ font-size: 2.7em;}
h3{ font-size: 2em;
    color:bisque;
}
p{ font-size: 1.25em;}
ul{ list-style: none;}
li{ font-size: 1.25em;}
button{
    font-size: 1.25em;
    font-weight: bold;
    padding: 10px 30px;
    border-radius: 5px;
    border: 2px solid rgba(0,0,0,0.3);
    box-shadow: 2px 2px 10px rgba(0,0,0,0.5);
    color: white;
    background-color: red;
}
button:hover{
    background-color: rgb(157, 7, 7);
}
.color-acento{ 
 /* Espaciado elegante (Recomendado para legibilidad) */
        letter-spacing: 2px; 
        margin: 0;
        padding: 10px 10px;
        font-family: "Amours";
        font-weight: bold;
        font-style:oblique;
        color: red;
        font-size: 1.4em;
}
header{
    background-color: rgb(245,245,245);
    z-index: 9999;
    position: relative;
    width: 100%;  
    overflow: hidden;
}
header .logo{
    /* Espaciado elegante (Recomendado para legibilidad) */
    letter-spacing: 2px; 
    margin: 0;
    padding: 10px 10px;
    font-family: "Amours";
    font-weight: bold;
    font-style:oblique;
    color: red;
    font-size: 4em;
}
header .container{
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    padding-top: 1px;
}
header nav{
    display: flex;
    flex-direction: column;
    text-align: center;
    padding-bottom: 25px;
}
header a{
    padding: 5px 12px;
    text-decoration: none;
    font-weight: bold;
    color: rgb(0,38,84);
}
header a:hover{
    color: rgb(157, 7, 7);
}
#hero, #hero-servicios, #hero-nosotros{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center center;
}

#hero h1, #hero-contacto h1, #hero-servicios h1, #hero-nosotros h1{
    color: white;
    text-align: center;
}
#hero button{
    font-size: 1.75em;
}
@media screen and (max-width: 760px){
    .boton-amarillo-block {
        display: block;
        width: 50%; /* Ocupa todo el ancho */
        font-size: x-small;
        margin-left: 70px;
    }
    header .logo{
        text-align: center;
        font-size:10vw;
    }
    header .container{
    display: block;
    overflow: hidden;
    padding-top: 1px;
    font-size:.8em;
    }
    #hero button{
        align-items: center;
        font-size:x-small;
    }
    #hero-contacto, #hero-servicios, #hero-nosotros{
        background-repeat: no-repeat;
        background-size: 100% 100%;
        background-position: center center;
        height: 25vh;
    }
    #hero-contacto{
        background-size: 80%;
    }
    #hero h3{
        font-size: .7em;
    }
    #hero{
        height: 20vh;
        background-image: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
                        url("/Media/header001.jpg");
    }
    #hero-nosotros{
        background-image: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
                        url("/Media/escritorio.png");
    }
    #hero-contacto{
        background-image: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
                        url("/Media/contacto.png");
    }
    #hero-servicios{
        margin-bottom: 30px;
        background-image: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
                        url("/Media/servicio.png");
    }
    #somos-quinzco .container{
        display: block;
    }
        #somos-quinzco .img-container{
        background-image: url("Media/escritorio.jpg");
        background-size: cover;
        background-position: center center;
        height: 100px;
        width: 400px; 
    }
    #somos-quinzco .texto{
        display: flex;
        flex-direction: column;
        font-size: 2.5vw;
    }
    #somos-quinzco h2{
        margin-top: 0px;
        font-size: 3vw;
        text-align: center;
    }
    #nuestros-servicios{
        background-color: rgb(30,30,30);
        padding: 0;
        margin: 0;
    }
    #nuestros-servicios .servicios{
        display: block;
        justify-content: center;
    }
    #nuestros-servicios h2{
        font-size: 1.5em;
        margin-top: 0px;
        color: beige;
        margin-bottom: 0px;
        text-align: center;
    }
    #nuestros-servicios h3{
        font-size:1em;
        text-align: center;
    }
    #nuestros-servicios p{
        display: flex;
        padding: 25px 12px;
        text-align: left;
        font-size: medium;
    }
    .carta {
        color: white;              /* Cambia el texto a blanco para que resalte */
        flex-direction: column;
        height: 35vh;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;    /* Hace que la imagen cubra todo el div */
        background-position: center; /* Centra la imagen */
    }
    .carta button{
        margin-left: 30vw;
    }
    .carta:first-child{
        background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), 
                        url("Media/cámara_vista_interior.jpg");
    }
    /* Para las otras dos cartas: */
    .carta:nth-child(2) {
        background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), 
                        url("Media/ANUNCIO003.jpeg");
    }
    .carta:nth-child(3){
        background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),
                        url("Media/sitrad02.jpeg");
    }
    #caracteristicas{
        background-image:  linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)),
                            url("Media/logo_quinzco.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;    /* Hace que la imagen cubra todo el div */
        background-position: center; /* Centra la imagen */
        height: 50vw;
     }
    #caracteristicas .container{
        padding: 1px 1px;
        margin-left: 10px;
    }
    #caracteristicas h2{
        margin-top: 40px;
        text-align: center;
        color:beige;
        font-size: 1em;
    }
    #caracteristicas li{
        display: block;
        font-weight: bold;
        font-size: .7em;
        color:beige;
        text-align: left;
    }
    #caracteristicas ul{
        margin: 10px 10px;
    }
    .anuncio {
        flex: 0 1 100%; /* 1 anuncio por fila en móvil */
    }
    #final{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        background-color: rgb(30,30,30);
        color: white;
        height: 50vh;
        background-image: linear-gradient(
                0deg,
                rgba(0,0,0,0.5),
                rgba(0,0,0,0.5)
            )
            ,url("Media/cadena-frio.jpg");

        background-size: 100vw;
        background-repeat: no-repeat;
        background-position: center center;
    }
    #final h1{
        font-size: 1em;
    }
    #final button{
        font-size: 6vw;
    }
  .texto-nosotros h1 {
        font-size: 1rem;
        padding-left: 1rem 0 3rem 0;
        text-align: center;
    }
    .texto-nosotros p {
        font-size: .7rem;
        font-weight: normal;
        text-align: left;
        
        /* Limitamos el ancho */
        max-width: 60ch; /* 'ch' limita por cantidad de caracteres, ideal para lectura */
        width: 90%;      /* Para que sea responsivo en móviles */
        
        /* Centramos el bloque del párrafo si lo deseas */
        margin: 0 auto; 
        
        /* Corregimos el padding (Arriba, Derecha, Abajo, Izquierda) */
        padding: 1rem 0 3rem 0; 
    }
    .contenedor {
        width: 70%;
    }
    .seccion h1{
        font-size: medium;
    }
    .iconos-nosotros {
        grid-template-columns: repeat(1, 1fr);
        img{
            margin-left: 39vw;
            height: 20vw;
        }
        h3{
                text-align: center;
                color: beige;
                font-size: medium;
        }
        p{
                margin-left: 20px;
                text-align: left;
                font-size: medium;
        }
    }
    .contenedor-anuncios {
        display: block;
    }
    .anuncio {
        background-color: grey;
        border: 1px solid #555; /* Reemplazo de darken(grey, 10) */
        margin-bottom: 1rem;
    }
    .anuncio .tamaño{
        height: 55vw;
    }
    .anuncio .tamaño1{
        height: 75vw;
    }
    .anuncio .tamaño2{
        height: 25vw;
    }
    .anuncio h3{
        font-size: medium;
    } 
    .anuncio p {
        margin: 0;
        font-size: small;
    }
 .iconos-caracteristicas {
        list-style: none; /* Quita los puntos de la lista */
        padding: 0;
        display: block;    /* Si quieres los 3 grupos en una fila, quita esto si quieres uno bajo otro */
        gap: 20px;        /* Espacio entre cada grupo (frio, estac., dorm.) */
    }

    .iconos-caracteristicas li {
        display: flex;      /* Alinea icono y texto en línea */
        align-items: center; /* Centra verticalmente el texto con el icono */
        gap: 10px;          /* Espacio horizontal entre el icono y el texto */
    }
    .icono {
        height: 1em;
        text-align: justify;
    }
    .icono img {
        height: 1rem;
        display: block;   /* Bloque para que el margin funcione */
        margin: 0 auto;   /* Centra la imagen horizontalmente */
    }
    .icono h3 {
        text-transform: uppercase;
        text-align: center; /* Título centrado */
        margin-top: 1rem;
    }
    .icono p {
        text-align: left;   /* El texto descriptivo a la izquierda */
        margin-top: 0.5rem;
    }
      .contenedor {
        width: 100%;
        max-width: 120rem;
        margin: 0 auto;
        background-color: rgb(30,30,30);
        color: bisque;
    }
    .contenedor h1{
        text-align: center;
    }
    .cadena-frio {
        img{
            width: 100%;
        }
    }
    .cadena-frio .centrar-titulo
    {
            text-align: center;
            padding: 20px;
    }
    .centrar-titulo {
        h2, h3 {
            font-size: 5vw;
            color: #1a3a5a; /* Azul profesional */
            text-align: center;
            font-weight: 700;
        }
    }
    .contenedor-anuncio {
        width: 100%;
        margin: 0 auto;
        color: bisque;
        background-color:#333 ;
        .tamaño-2{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        img {
            max-width: 100%; /* Evita que la imagen sea más grande que el contenedor */
            height: auto;    /* Mantiene la proporción original */
            display: block;  /* Quita espacios en blanco residuales debajo de la imagen */
        }

       li {
            display: flex;
           /* flex-direction: row-reverse;  Coloca el párrafo a la izquierda y la imagen a la derecha */
            align-items: center;        /* Centra verticalmente ambos elementos */
            justify-content: center;    /* Centra el conjunto en el contenedor */
            gap: 10px;
            margin-left: 30px;                  /* Espacio entre el texto e imagen */
        }
        .icono {
            width: 30px;      /* Ajusta este valor a tu gusto */
            height: 30px;     /* Mantén el mismo valor para que sea cuadrado */
            object-fit: contain; /* Asegura que el icono no se estire si no es cuadrado */
            flex-shrink: 0;   /* Evita que el icono se aplaste si falta espacio */
        }
        h1{
            margin-left: 10%;
            font-size: medium;
        }
        p{
            margin-left: 5%;
            margin-right: 5%;
            font-size: small;
        }
    }

    /* Imagen de fondo en el contenedor-parrafo */
    .contenedor-parrafo {
        display: block;
        height: 550vw;
        background-size:100vw;
        background-image:linear-gradient(
                0deg,
                rgba(0,0,0,0.6),
                rgba(0,0,0,0.6)
            )
        ,url('Media/cadena_frio.png');
        font-size: bold;
        color: bisque
    }
    .contenedor-parrafo p {
        margin-left: 50px;
        margin-right: 50px;
        font-size: medium;
    }
    .vista-parrafo{
        background-color: #333;
        p{
            margin-left: 15%;
            margin-right: 15%;
            font-size:large;
            color: grey;
        }
    }
    .contenedor-parrafo-DyI{
        background-color: #333;
        background-size: 120vw;
        p{
            margin-left: 15%;
            margin-right: 15%;
            font-size: .7rem;
            color: beige;
        }
    }
    .cadena-frio-img img {
        background-size: cover;
        max-width: 100%;           /* Evita que la imagen se salga del contenedor */
    }
    .btn-arrow {
        pointer-events: auto;
        z-index: 30;
        text-decoration: none;
        color: white;
        background: rgba(0, 0, 0, 0.4);
        backdrop-filter: blur(4px);
        width: 25px;
        height: 25px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        margin: 0 10px;
        transition: 0.3s;
    }
    /* Esto posiciona el grupo de flechas sobre la imagen */
    .arrows {
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        transform: translateY(-50%); /* Centra verticalmente */
        display: flex;
        justify-content: space-between; /* Una a cada extremo */
        padding: 0 10px;
        pointer-events: none; /* Deja que se pueda hacer clic en la imagen */
        z-index: 20;
    }
}
@media screen and (min-width:780px) {
    .boton-amarillo-block {
        display: block;
        width: 100%; /* Ocupa todo el ancho */
    }
    header{
        position: fixed;
        width: 100%;
    }
    header .container{
        flex-direction: row;
        justify-content: space-between;
    }
    header nav{
        flex-direction: row;
        padding-bottom: 0;
        padding-right: 20px;
    }
    #hero{
        height: 50vh;
        background-image: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
                        url("/Media/header001.jpg");
    }
    #hero-contacto{
        height: 85vh;
        background-image: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
                        url("/Media/contacto.png");
    }
    #hero-servicios{
        background-size: 100%;
        height: 70vh;
        margin-bottom: 30px;
        background-image: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.3)),                         url("/Media/servicio.png");
    }
    #hero-nosotros{
        height: 75vh;
        background-image: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
                        url("/Media/escritorio.png");
    }
    #hero-contacto{
        background-size: 50%;
        margin-bottom: 30px;
        background-repeat: no-repeat;
        background-position: center;
    }
    #hero h1{
        font-size: 5em;
    }
    #hero button{
        align-items: center;
        font-size:large;
    }
    #somos-quinzco .container{
        display: flex;
        justify-content: space-evenly;
    }
    #somos-quinzco .texto{
        width: 50%;
        max-width: 600px;
        text-align: initial;
        padding-left: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    #somos-quinzco h2{
        margin-top: 0px;
    }
    #somos-quinzco .img-container{
        background-image: url("Media/escritorio.jpg");
        background-size: cover;
        background-position: center center;
        height: 300px;
        width: 600px; 
    }
    #nuestros-servicios{
    background-color: rgb(30,30,30);
    color: white;
    text-align: center;
    }
    #nuestros-servicios h2{
        margin-top: 100px;
        margin-bottom: 10px;
        font-size: 3.2em;
        padding: 60px 0px;
        margin-top: 20;
    }
    #nuestros-servicios h3{
        margin-top: 100px;
        margin-bottom: 10px;
        font-size: 1.5em;
    }
    #nuestros-servicios p{
        display: none;
        padding: 25px 12px;
        margin-top: 80px;
        text-align: left;
        display: block;
        margin-bottom: 30px;
    }
    #nuestros-servicios .servicios{
        display: flex;
        justify-content: center;
    }
    #nuestros-servicios .carta{
        padding: 10% 0;
        background-size: 90% 40%;
        background-repeat: no-repeat;
        background-position-y: 0;
        background-color: rgba(50, 50, 50, 1);
        box-shadow: 2px 2px 10px rgba(0,0,0,0.5);
    }
    .carta:first-child{
        background-image: linear-gradient(
            0deg,
            rgba(0,0,0,0.5),
            rgba(0,0,0,0.5)
        )
        ,url("Media/cámara_vista_interior.jpg");
    }
    .carta:nth-child(2){
        background-image: linear-gradient(
            0deg,
            rgba(0,0,0,0.5),
            rgba(0,0,0,0.5)
        )
        ,url("Media/ANUNCIO003.jpeg");
    }
    .carta:nth-child(3){
        background-image: linear-gradient(
            0deg,
            rgba(0,0,0,0.5),
            rgba(0,0,0,0.5)
        )
        ,url("Media/sitrad02.jpeg");

    }
    #caracteristicas{
        background-image: url("Media/logo_quinzco.png");
        background-repeat: no-repeat;
        background-size: 500px 600px;
        background-position-x:1000px;
    }
    #caracteristicas .container{
        text-align: left;
        display: flex;
        padding: 130px 1px;
        margin-left: 80px;
    }
    #caracteristicas h2{
        text-align: left;
        color:black;
        margin: 40px 120px;
    }
    #caracteristicas li{
        margin: 2px 0px;
        font-weight: bold;
    }
    #caracteristicas ul{
        margin: 20px 20px;
    }
    #final{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        background-color: rgb(30,30,30);
        color: white;
        height: 70vh;
        background-image: linear-gradient(
                0deg,
                rgba(0,0,0,0.5),
                rgba(0,0,0,0.5)
            )
            ,url("Media/cadena-frio.jpg");

        background-size: 50vw;
        background-repeat: no-repeat;
        background-position: center center;
    }
    #final h2{
    font-size: 9vw;
    }
    #final button{
        font-size: 1vw;
    }

    footer .container{
        justify-content: flex-end;
    }
    .contenedor {
        width: 100%;
        max-width: 120rem;
        margin: 0 auto;
        background-color: rgb(30,30,30);
        color: bisque;
    }
    .contenedor h1{
        text-align: center;
    }
    .iconos-nosotros{
         grid-template-columns: repeat(3, 1fr);
        img{
            margin-left: 12vw;
            height: 10vw;
        }
        h3{
            text-align: center;
            color: beige;
        }
        p{
            margin-left: 20px;
            text-align: left;
        }
    }
    .centrar-titulo {
        h2, h3 {
            font-size: 2vw;
            color: #1a3a5a; /* Azul profesional */
            text-align: center;
            font-weight: 700;
        }
    }
    .centrar-titulo
    {
            text-align: center;
            padding: 20px;
    }
    .centrar-titulo p {
        color: beige;
        font-size: 1.2rem;
        margin-bottom: 2rem;
    }
    /* Imagen de fondo en el contenedor-parrafo */
    .contenedor-parrafo {
        background-image:linear-gradient(
                0deg,
                rgba(0,0,0,0.6),
                rgba(0,0,0,0.6)
            )
        ,url('Media/cadena_frio.png');
        display: flex;
        font-size: bold;
        color: bisque
    }
    .contenedor-parrafo p {
        margin-left: 50px;
        margin-right: 50px;
    }
    .vista-parrafo{
        background-color: #333;
        p{
            margin-left: 15%;
            margin-right: 15%;
            font-size: 1.2rem;
            color: grey;
        }
    }
    .contenedor-imagen {
        display: block;             /* Activa el modo flexible */
        justify-content: center;   /* Centra horizontalmente */
        align-items: center;       /* Centra verticalmente (si el contenedor tiene altura) */
        width: 100%;               /* Asegura que ocupe todo el ancho disponible */
    }
    .cadena-frio img {
        max-width: 100%;           /* Evita que la imagen se salga del contenedor */
        height: auto;              /* Mantiene la proporción */
        display: block;            /* Elimina espacios extra debajo de la imagen */
    }
       .cadena-frio-img img {
        background-size: cover;
        max-width: 100%;           /* Evita que la imagen se salga del contenedor */
    }
    .contenedor-anuncio {
        width: 100%;
        max-width: 120rem;
        margin: 0 auto;
        color: bisque;
        background-color:var(--texto-oscuro) ;
        h1{
            text-align: center;
        }
        p{
            margin-left: 50px;
            margin-right: 50px;
        }
        li {
            display: flex;
           /* flex-direction: row-reverse;  Coloca el párrafo a la izquierda y la imagen a la derecha */
            align-items: center;        /* Centra verticalmente ambos elementos */
            justify-content: center;    /* Centra el conjunto en el contenedor */
            gap: 10px;                  /* Espacio entre el texto e imagen */
        }
        .icono {
            display: block;             /* Asegura que se comporte bien como bloque */
        }
        img {
            width: 100vw;
            height: 35vw; /* 50% de la altura de la pantalla */
            
            /* Mantiene la proporción sin deformar la imagen */
            object-fit:fill; 
            display: block;

            /* Truco para que ignore el max-width de 120rem y se centre en la pantalla */
            position: relative;
            left: 50%;
            right: 50%;
            margin-left: -50vw;
            margin-right: -50vw;
        }
    }
    /* Estilos para el texto inferior */
    .resumen-propiedad {
        padding: 3rem 2rem;
    }

    .resumen-propiedad p {
        text-align: justify; /* Texto justificado */
        line-height: 1.8;
        margin-bottom: 2rem;
    }

    .precio {
        font-weight: 900;
        font-size: 2.8rem;
        text-align: center !important; /* El título suele verse mejor centrado */
    }

    /* Opcional: Alinear los iconos en fila */
    .iconos-caracteristicas {
        display: flex;
        justify-content: space-around;
        list-style: none;
        padding: 0;
        margin: 3rem 0;
    }

    .iconos-caracteristicas li {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .icono {
        /* Evita que los iconos pequeños hereden el tamaño de la imagen principal */
        width: 4rem !important; 
        height: auto !important;
        margin: 0 !important;
        position: static !important;
    }
    .btn-arrow {
        pointer-events: auto;
        z-index: 30;
        text-decoration: none;
        color: white;
        background: rgba(0, 0, 0, 0.4);
        backdrop-filter: blur(4px);
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        margin: 0 15px;
        transition: 0.3s;
    }
    /* Esto posiciona el grupo de flechas sobre la imagen */
    .arrows {
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        transform: translateY(-50%); /* Centra verticalmente */
        display: flex;
        justify-content: space-between; /* Una a cada extremo */
        padding: 0 10px;
        pointer-events: none; /* Deja que se pueda hacer clic en la imagen */
        z-index: 20;
    }
}
.container-forma,
.contenedor-forma {
    max-width: 1200px; /* El ancho máximo que quieres que ocupe */
    margin-left: auto; /* Centra el contenido */
    margin-right: auto;
    background-color: #333;
}
/* Este color solo se verá donde uses la clase .body-contacto */
.body-contacto {
    background-color:#333; /* Un verde agua suave, por ejemplo */
}
.formulario {
    p {
        font-size: 1.4rem;
        color: grey;
        margin: 2rem 0 0 0;
    }
    legend {
        font-size: 2rem;
        color: grey;
    }
    label {
        font-weight: bold;
        text-transform: uppercase;
        display: block;
        color: beige;
    }
    input:not([type="submit"]), 
    textarea,
    select {
        padding: 1rem;
        display: block;
        width: 100%;
        background-color: whitesmoke;
        border: 1px solid gray;
        border-radius: 1rem;
        margin-bottom: 2rem;
    }
    textarea {
        height: 20rem;
    }
    .forma-contacto {
        max-width: 30rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    input[type="radio"] {
        margin: 0;
        width: auto;
    }
   .contenedor-imagen img{
        background-size: 10vw;
    }
}

footer{
    background-color: rgb(230,230,230);
}
footer p{
    margin: 0;
    padding: 12px;
    color: rgb(100,100,100);
}
footer .container{
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.texto-nosotros h1 {
    font-size: 2.2rem;
    padding-left: 1rem 0 3rem 0;
    text-align: center;
}
.texto-nosotros p {
    font-size: 1rem;
    font-weight: normal;
    text-align: justify;
    /* Limitamos el ancho */
    max-width: 60ch; /* 'ch' limita por cantidad de caracteres, ideal para lectura */
    width: 90%;      /* Para que sea responsivo en móviles */
    /* Centramos el bloque del párrafo si lo deseas */
    margin: 0 auto; 
     /* Corregimos el padding (Arriba, Derecha, Abajo, Izquierda) */
    padding: 1rem 0 3rem 0; 
}
.iconos-nosotros {
    display: grid;
}
.iconos-caracteristicas {
    list-style: none; /* Quita los puntos de la lista */
    padding: 0;
    display: flex;    /* Si quieres los 3 grupos en una fila, quita esto si quieres uno bajo otro */
    gap: 20px;        /* Espacio entre cada grupo (frio, estac., dorm.) */
}
.iconos-caracteristicas li {
    display: flex;      /* Alinea icono y texto en línea */
    align-items: center; /* Centra verticalmente el texto con el icono */
    gap: 10px;          /* Espacio horizontal entre el icono y el texto */
}
.icono img {
height: 10rem;
display: block;   /* Bloque para que el margin funcione */
margin: 0 auto;   /* Centra la imagen horizontalmente */
}
.icono h3 {
text-transform: uppercase;
text-align: center; /* Título centrado */
margin-top: 1rem;
}
.icono p {
text-align: left;   /* El texto descriptivo a la izquierda */
margin-top: 0.5rem;
}
.contenedor-anuncios {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem; /* Espaciado entre anuncios */
    justify-content: flex-start; /* Alinea al inicio para mantener el orden */
}
.anuncio {
    background-color: grey;
    border: 1px solid #555; /* Reemplazo de darken(grey, 10) */
    margin-bottom: 2rem;
    
    /* 
    CÁLCULO PARA 1/4:
    Usamos calc(25% - gap) para descontar el espacio del 'gap' 
    y que los 4 anuncios quepan perfectamente en una fila.
    */
    flex: 0 1 calc(25% - 1.5rem); 
    box-sizing: border-box; /* Asegura que el border no sume ancho extra */
}
/* Estilos de contenido (sin anidamiento de Sass) */
.anuncio .contenido-anuncio {
    padding: 2rem;
}
.anuncio h3, 
.anuncio p {
    margin: 0;
}
.iconos-caracteristicas li p {
    display: flex;
    flex-direction: column; /* Icono arriba, texto abajo */
    align-items: center;    /* Centrado interno */
    text-align: center;
}
.carousel-container {
  margin: 20px auto;
  position: relative;
  font-family: sans-serif;
  overflow: hidden;
  border-radius: 15px;
  height: 30vw;
}
.carousel-track {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  /* 1. Propiedad estándar */
  scroll-snap-type: x mandatory;
  /* 2. Prefijos para navegadores antiguos (Safari/iOS) */
  -webkit-scroll-snap-type: x mandatory;
  -ms-scroll-snap-type: mandatory;
  /* Comportamiento de scroll suave */
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch; /* Suavidad extra en móviles */
}
/* Barra para Chrome/Edge/Safari */
.carousel-track::-webkit-scrollbar {
  height: 10px;
}
.carousel-track::-webkit-scrollbar-thumb {
  background: #3498db;
  border-radius: 10px;
}
.carousel-track::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 10px;
}
.carousel-slide {
  flex: 0 0 100%;
  width: 100%;
  position: relative; /* <--- Esto evita que las flechas se salgan */
  overflow: hidden; /* <--- Corta cualquier elemento que intente salirse */
  /* 1. Propiedad estándar */
  scroll-snap-align: start;
  /* 2. Prefijos antiguos */
  -webkit-scroll-snap-align: start;
  -ms-scroll-snap-align: start;
}
.slide-link {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.slide-link img {
    width: 100%;
    display: block;
    transition: transform 0.3s ease;
}
/* Efecto opcional: que la imagen se amplíe un poco al pasar el mouse */
.slide-link:hover img {
    transform: scale(1.05);
}
.carousel-slide img {
  width: 100%;
  height: 100%;
  display: block;
}



