/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */@import"https://fonts.googleapis.com/css?family=Lato:300,400,700,900";html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-size:62.5%;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{font-family:"Lato",sans-serif;font-size:1.6rem;line-height:1.8}p{color:#000;font-size:2rem}.contenedor{width:95%;max-width:120rem;margin:0 auto}a{text-decoration:none}img,picture{width:100%;display:block}h1,h2,h3{font-family:"Lato",sans-serif;margin:2.5rem 0;font-weight:300;text-align:center}h1{font-size:3.8rem}h2{font-size:3.4rem}h3{font-size:3rem}h4{font-size:2.6rem}.seccion{margin-top:2.5rem;margin-bottom:2.5rem}.contenido-centrado{max-width:80rem}.alinear-derecha{display:flex;justify-content:flex-end}.boton-amarillo{background-color:#e08709;color:#fff;font-weight:700;text-decoration:none;padding:1rem 3rem;text-align:center;margin-top:2.5rem;display:inline-block;border:none}.boton-amarillo:hover{background-color:#c77808;cursor:pointer}.boton-amarillo-block{background-color:#e08709;color:#fff;font-weight:700;text-decoration:none;padding:1rem 3rem;text-align:center;margin-top:2.5rem;display:block;border:none}.boton-amarillo-block:hover{background-color:#c77808;cursor:pointer}.boton-verde{background-color:#71b100;color:#fff;font-weight:700;text-decoration:none;padding:1rem 3rem;text-align:center;margin-top:2.5rem;display:inline-block;border:none}.boton-verde:hover{background-color:#619800;cursor:pointer}.dark-mode{background-color:#1a1a1a}.dark-mode p{color:#fff}.dark-mode a,.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4{color:#e1e1e1}.dark-mode .anuncio,.dark-mode .resumen-propiedad{background-color:#333;border:1px solid #333}.dark-mode .anuncio .precio,.dark-mode .resumen-propiedad .precio{color:#71b100}.dark-mode .anuncio .icono,.dark-mode .resumen-propiedad .icono{filter:invert(100%)}.dark-mode .texto-nosotros blockquote{color:#fff}.dark-mode .formulario label,.dark-mode .formulario legend,.dark-mode .formulario p{color:#e1e1e1}.dark-mode .formulario input:not([type=submit]),.dark-mode .formulario textarea,.dark-mode .formulario select{background-color:#333;border:1px solid #333;color:#fff}.no-webp .inicio{background-image:url(../img/header.jpg)}.webp .inicio{background-image:url(../img/header.webp)}.header{background-color:#333;padding:1rem 0 3rem 0}.header.inicio{background-position:center center;background-size:cover}@media(min-width: 768px){.header.inicio{min-height:70rem}}@media(min-width: 768px){.header.inicio .contenido-header{min-height:70rem}}.contenido-header{display:flex;flex-direction:column;justify-content:space-between}.contenido-header h1{text-align:left;color:#fff;font-weight:700;line-height:2;max-width:60rem}.footer{padding:2.5rem 0;background-color:#333;margin-bottom:0}.footer .contenedor-footer{padding-top:2.5rem}.footer .navegacion{visibility:visible;opacity:1;height:auto}.footer .copyright{color:#fff;text-align:center}.derecha{display:flex;flex-direction:column;align-items:center}@media(min-width: 768px){.derecha{align-items:flex-end}}.derecha .dark-mode-boton{width:3rem;margin-top:3rem;margin-bottom:2rem;filter:invert(100%)}.derecha .dark-mode-boton:hover{cursor:pointer}@media(min-width: 768px){.derecha .dark-mode-boton{margin-top:0}}.barra{display:flex;flex-direction:column;align-items:center;padding-top:3rem}.barra img{width:30rem}@media(min-width: 768px){.barra{flex-direction:row;justify-content:space-between;align-items:flex-end}}.navegacion{visibility:hidden;opacity:0;height:0;transition:visibility .3s ease-in-out,opacity .5s linear,height .5s linear}@media(min-width: 768px){.navegacion{display:flex;align-items:center;opacity:1;visibility:visible}}.navegacion a{color:#fff;text-decoration:none;font-size:2.2rem;display:block;text-align:center}@media(min-width: 768px){.navegacion a{margin-right:2rem;font-size:1.8rem}.navegacion a:last-of-type{margin-right:0}}.navegacion a:hover{color:#71b100}@media(min-width: 768px){.mobile-menu{display:none}}.mobile-menu img{width:5rem}.mostrar{visibility:visible;opacity:1;height:auto}@media(min-width: 768px){.iconos-nosotros{display:grid;gap:2rem;grid-template-columns:repeat(3, 1fr)}}.icono{text-align:center}.icono img{height:10rem}.icono h3{text-transform:uppercase}@media(min-width: 768px){.contenedor-anuncios{display:grid;gap:2rem;grid-template-columns:repeat(3, 1fr)}}.anuncio{background-color:#eee;border:1px solid #c8c8c8;margin-bottom:2rem}.anuncio .contenido-anuncio{padding:2rem}.anuncio h3,.anuncio p{margin:0}.precio{color:#71b100;font-weight:700;font-size:3rem}.iconos-caracteristicas{display:flex;list-style:none;padding:0;max-width:40rem}.iconos-caracteristicas li{flex:1;display:flex}.iconos-caracteristicas li img{flex:0 0 3rem;margin-right:1rem}.iconos-caracteristicas li p{font-weight:900}.no-webp .imagen-contacto{background-image:url("../img/encuentra.jpg")}.webp .imagen-contacto{background-image:url("../img/encuentra.webp")}.imagen-contacto{background-position:center center;background-size:cover;padding:10rem 0;display:flex;flex-direction:column;align-items:center}.imagen-contacto h2{font-size:4rem;font-weight:900;color:#fff}.imagen-contacto p{font-size:1.8rem;color:#fff}@media(min-width: 768px){.seccion-inferior{display:grid;grid-template-columns:2fr 1fr;column-gap:2rem}}.entrada-blog{margin-bottom:2rem}@media(min-width: 768px){.entrada-blog{display:grid;grid-template-columns:1fr 2fr;column-gap:2rem}}.entrada-blog:last-of-type{margin-bottom:0}.informacion-meta span{color:#e08709}.texto-entrada a{color:#000;margin-top:2rem;display:block}@media(min-width: 768px){.texto-entrada a{margin-top:0}}.texto-entrada h4{margin:0;line-height:1.4}.texto-entrada h4::after{content:"";display:block;width:15rem;height:.5rem;background-color:#71b100;margin-top:1rem}.testimonial{background-color:#71b100;font-size:2.4rem;padding:2rem;color:#fff;border-radius:2rem}.testimonial blockquote{padding-left:5rem;position:relative}.testimonial blockquote::before{content:"";background-image:url(../img/comilla.svg);background-repeat:no-repeat;width:6rem;height:8rem;display:block;position:absolute;left:-2rem}.testimonial p{text-align:right;color:#fff}.formulario p{font-size:1.4rem;color:#333;margin:2rem 0 0 0}.formulario legend{font-size:2rem;color:#333}.formulario label{font-weight:700;text-transform:uppercase;display:block}.formulario input:not([type=submit]),.formulario textarea,.formulario select{padding:1rem;display:block;width:100%;background-color:#fff;border:1px solid #e1e1e1;border-radius:1rem;margin-bottom:2rem}.formulario textarea{height:20rem}.formulario .forma-contacto{max-width:30rem;display:flex;justify-content:space-between;align-items:center}.formulario input[type=radio]{margin:0;width:auto}@media(min-width: 768px){.contenido-nosotros{display:grid;gap:2rem;grid-template-columns:repeat(2, 1fr)}}.texto-nosotros blockquote{font-weight:900;font-size:2.2rem;margin:3rem 0 0 0;padding-left:1rem 0 3rem 0}/*# sourceMappingURL=app.css.map */

/* =========================================================
   Ajustes finales para tarjetas de proyectos uniformes
   ========================================================= */

@media (min-width: 768px){
    .contenedor-anuncios{
        align-items: stretch;
    }
}

.contenedor-anuncios .anuncio{
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* Contenedor fijo para que todas las imágenes principales midan igual */
.contenedor-anuncios .anuncio > picture{
    width: 100%;
    height: 32rem !important;
    display: block;
    overflow: hidden;
    flex: 0 0 32rem;
}

.contenedor-anuncios .anuncio > picture img{
    width: 100% !important;
    height: 32rem !important;
    max-height: 32rem !important;
    min-height: 32rem !important;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.contenedor-anuncios .anuncio .contenido-anuncio{
    padding: 2rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.contenedor-anuncios .anuncio .contenido-anuncio h3{
    min-height: 7.2rem;
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}

.contenedor-anuncios .anuncio .contenido-anuncio > p:not(.precio){
    min-height: 5.8rem;
    margin: 0;
    font-weight: 700;
    line-height: 1.4;
}

.contenedor-anuncios .anuncio .contenido-anuncio > ul:not(.iconos-caracteristicas){
    min-height: 18rem;
    max-height: none !important;
    overflow: visible !important;
    margin: 1.2rem 0 !important;
}

.contenedor-anuncios .anuncio .precio{
    margin-top: auto !important;
    min-height: 5.4rem;
    display: flex;
    align-items: center;
}

.contenedor-anuncios .anuncio .iconos-caracteristicas{
    width: 100%;
    margin: 1rem 0 0 0;
    min-height: 4.5rem;
}

.contenedor-anuncios .anuncio .boton-amarillo-block{
    margin-top: 1.5rem;
}

@media (max-width: 767px){
    .contenedor-anuncios .anuncio > picture{
        height: 28rem !important;
        flex-basis: 28rem;
    }

    .contenedor-anuncios .anuncio > picture img{
        height: 28rem !important;
        max-height: 28rem !important;
        min-height: 28rem !important;
    }

    .contenedor-anuncios .anuncio .contenido-anuncio h3,
    .contenedor-anuncios .anuncio .contenido-anuncio > p:not(.precio),
    .contenedor-anuncios .anuncio .contenido-anuncio > ul:not(.iconos-caracteristicas){
        min-height: auto;
    }
}


/* =========================================================
   Corrección definitiva: imágenes y tarjetas iguales
   Se usa clase propia para evitar conflictos con el CSS base.
   ========================================================= */

@media (min-width: 768px){
    .contenedor-anuncios{
        display: grid;
        gap: 2rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }
}

.contenedor-anuncios .anuncio{
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden;
}

.contenedor-anuncios .anuncio .proyecto-imagen{
    display: block !important;
    width: 100% !important;
    height: 32rem !important;
    min-height: 32rem !important;
    max-height: 32rem !important;
    overflow: hidden !important;
    flex: 0 0 32rem !important;
}

.contenedor-anuncios .anuncio .proyecto-imagen img{
    display: block !important;
    width: 100% !important;
    height: 32rem !important;
    min-height: 32rem !important;
    max-height: 32rem !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Para tarjetas que aún no tengan la clase proyecto-imagen */
.contenedor-anuncios .anuncio > picture:not(.proyecto-imagen){
    display: block !important;
    width: 100% !important;
    height: 32rem !important;
    overflow: hidden !important;
    flex: 0 0 32rem !important;
}

.contenedor-anuncios .anuncio > picture:not(.proyecto-imagen) img{
    display: block !important;
    width: 100% !important;
    height: 32rem !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.contenedor-anuncios .anuncio .contenido-anuncio{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding: 2rem !important;
}

.contenedor-anuncios .anuncio .contenido-anuncio h3{
    min-height: 6rem;
    margin: 0 0 1rem 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}

.contenedor-anuncios .anuncio .contenido-anuncio > p:not(.precio){
    min-height: 4.5rem;
    margin: 0 !important;
    font-weight: 700;
    line-height: 1.4;
}

.contenedor-anuncios .anuncio .contenido-anuncio > ul:not(.iconos-caracteristicas){
    min-height: 15rem;
    max-height: 15rem;
    overflow: hidden;
    margin: 1.2rem 0 !important;
}

.contenedor-anuncios .anuncio .precio{
    margin-top: auto !important;
    min-height: 5rem;
    display: flex;
    align-items: center;
}

.contenedor-anuncios .anuncio .iconos-caracteristicas{
    margin: 1rem 0 0 0 !important;
    min-height: 4.5rem;
    width: 100%;
}

.contenedor-anuncios .anuncio .boton-amarillo-block{
    margin-top: 1.5rem !important;
}

@media (max-width: 767px){
    .contenedor-anuncios .anuncio .proyecto-imagen,
    .contenedor-anuncios .anuncio > picture:not(.proyecto-imagen){
        height: 28rem !important;
        min-height: 28rem !important;
        max-height: 28rem !important;
        flex-basis: 28rem !important;
    }

    .contenedor-anuncios .anuncio .proyecto-imagen img,
    .contenedor-anuncios .anuncio > picture:not(.proyecto-imagen) img{
        height: 28rem !important;
        min-height: 28rem !important;
        max-height: 28rem !important;
    }

    .contenedor-anuncios .anuncio .contenido-anuncio h3,
    .contenedor-anuncios .anuncio .contenido-anuncio > p:not(.precio),
    .contenedor-anuncios .anuncio .contenido-anuncio > ul:not(.iconos-caracteristicas){
        min-height: auto;
        max-height: none;
    }
}

/* =========================================================
   Diseño legible para proyecto.php
   ========================================================= */

.detalle-proyecto{
    color:#f5f5f5;
}

.detalle-proyecto,
.detalle-proyecto p,
.detalle-proyecto li,
.detalle-proyecto a,
.detalle-proyecto div{
    color:#f5f5f5;
}

.detalle-proyecto__titulo{
    color:#ffffff;
    font-weight:300;
    letter-spacing:.04em;
    margin-bottom:3rem;
}

.detalle-proyecto__imagen-principal{
    background:#2b2b2b;
    border-radius:1rem;
    overflow:hidden;
    box-shadow:0 1.5rem 4rem rgba(0,0,0,.35);
    margin-bottom:3rem;
}

.detalle-proyecto__imagen-principal img{
    width:100%;
    max-height:72rem;
    object-fit:cover;
    object-position:center;
    display:block;
}

.detalle-proyecto__ficha{
    background:#242424;
    border:1px solid rgba(255,255,255,.08);
    border-radius:1rem;
    padding:2.5rem;
    margin:3rem 0;
    box-shadow:0 1rem 3rem rgba(0,0,0,.25);
}

.detalle-proyecto__precio{
    color:#71b100 !important;
    font-size:3.8rem;
    line-height:1.2;
    margin:0 0 2rem 0 !important;
}

.detalle-proyecto__iconos{
    max-width:46rem;
    margin:0 0 2rem 0;
}

.detalle-proyecto__iconos li{
    align-items:center;
}

.detalle-proyecto__iconos li img{
    filter:invert(100%);
    opacity:.9;
}

.detalle-proyecto__iconos li p{
    color:#ffffff !important;
    font-size:1.8rem;
    font-weight:900;
    margin:0;
}

.detalle-proyecto__ubicacion{
    color:#ffffff !important;
    font-size:1.8rem;
    margin:1.5rem 0 !important;
}

.detalle-proyecto__ubicacion strong{
    color:#71b100;
}

.detalle-proyecto__descripcion{
    color:#e8e8e8;
    font-size:1.8rem;
    line-height:1.8;
    margin-top:2rem;
}

.detalle-proyecto__seccion{
    margin-top:5rem;
}

.detalle-proyecto__seccion h3{
    color:#ffffff;
    font-size:3rem;
    margin-bottom:3rem;
    position:relative;
}

.detalle-proyecto__seccion h3::after{
    content:"";
    display:block;
    width:8rem;
    height:.3rem;
    background:#71b100;
    margin:1rem auto 0;
    border-radius:10rem;
}

.detalle-proyecto__caracteristicas{
    background:#242424;
    border:1px solid rgba(255,255,255,.08);
    border-radius:1rem;
    padding:2.5rem 3.5rem;
    display:grid;
    gap:1rem 3rem;
    list-style-position:inside;
    box-shadow:0 1rem 3rem rgba(0,0,0,.25);
}

@media (min-width:768px){
    .detalle-proyecto__caracteristicas{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

.detalle-proyecto__caracteristicas li{
    color:#f5f5f5 !important;
    font-size:1.7rem;
    line-height:1.6;
}

.detalle-proyecto__caracteristicas li::marker{
    color:#71b100;
}

.galeria-proyecto{
    display:grid;
    gap:2rem;
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

@media (min-width:768px){
    .galeria-proyecto{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}

.galeria-proyecto__item{
    display:block;
    height:18rem;
    background:#242424;
    border-radius:.8rem;
    overflow:hidden;
    box-shadow:0 .8rem 2rem rgba(0,0,0,.35);
    transition:transform .25s ease, box-shadow .25s ease;
}

.galeria-proyecto__item:hover{
    transform:translateY(-.5rem);
    box-shadow:0 1.2rem 3rem rgba(0,0,0,.45);
}

.galeria-proyecto__item img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .35s ease;
}

.galeria-proyecto__item:hover img{
    transform:scale(1.05);
}

@media (max-width:767px){
    .detalle-proyecto__ficha{
        padding:2rem;
    }

    .detalle-proyecto__precio{
        font-size:3rem;
    }

    .detalle-proyecto__caracteristicas{
        padding:2rem;
    }

    .galeria-proyecto__item{
        height:15rem;
    }
}

/* Texto e iconos blancos en detalle del proyecto */
.contenido-centrado,
.contenido-centrado p,
.contenido-centrado li,
.contenido-centrado ul {
    color: #ffffff !important;
}

.contenido-centrado .iconos-caracteristicas p {
    color: #ffffff !important;
}

/* Convierte los iconos negros a blancos */
.contenido-centrado .iconos-caracteristicas img {
    filter: invert(1) brightness(2) !important;
}

/* Características más legibles */
.contenido-centrado h3 {
    color: #ffffff !important;
}

.contenido-centrado ul li {
    font-size: 1.6rem;
    line-height: 1.8;
}

/* Forzar texto blanco en proyecto.php */
main.contenido-centrado,
main.contenido-centrado p,
main.contenido-centrado strong,
main.contenido-centrado h1,
main.contenido-centrado h2,
main.contenido-centrado h3,
main.contenido-centrado ul,
main.contenido-centrado ul li {
    color: #ffffff !important;
}

/* Forzar iconos blancos */
main.contenido-centrado .iconos-caracteristicas img.icono {
    filter: invert(100%) brightness(200%) !important;
}

/* Números de los iconos */
main.contenido-centrado .iconos-caracteristicas li p {
    color: #ffffff !important;
}

/* Precio verde visible */
main.contenido-centrado .precio {
    color: #71b100 !important;
}   

/* Corrección proyectos.php: no cortar la característica 6 */
body main.contenedor .contenedor-anuncios .anuncio .contenido-anuncio ul:not(.iconos-caracteristicas) {
    min-height: 19rem !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    padding-bottom: 1rem !important;
}

body main.contenedor .contenedor-anuncios .anuncio .contenido-anuncio ul:not(.iconos-caracteristicas) li {
    color: #ffffff !important;
    line-height: 1.7 !important;
    margin-bottom: .4rem !important;
}

/* =========================================================
   Corrección final proyectos.php: mostrar 6 características completas
   ========================================================= */
body main.contenedor .contenedor-anuncios .anuncio .contenido-anuncio > ul:not(.iconos-caracteristicas),
body .contenedor-anuncios .anuncio .contenido-anuncio > ul:not(.iconos-caracteristicas){
    min-height:18.5rem !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    color:#ffffff !important;
    margin:1.5rem 0 2rem 0 !important;
    padding-bottom:1rem !important;
}

body main.contenedor .contenedor-anuncios .anuncio .contenido-anuncio > ul:not(.iconos-caracteristicas) li,
body .contenedor-anuncios .anuncio .contenido-anuncio > ul:not(.iconos-caracteristicas) li{
    color:#ffffff !important;
    line-height:1.65 !important;
    margin-bottom:.35rem !important;
}

body .contenedor-anuncios .anuncio .precio{
    margin-top:auto !important;
}
