/* =========================================================
   VARIABLES
========================================================= */

:root{
    --black:#111111;
    --dark:#191919;
    --white:#ffffff;

    --gray:#687083;
    --gray-soft:#f4f5f7;
    --gray-line:#e3e5e8;

    --red:#111111;
    --green:#25d366;

    --blue:#111111;
    --purple:#3d3d3d;

    --shadow:
        0 1px 2px rgba(0,0,0,.06),
        0 2px 5px rgba(0,0,0,.035);

    --shadow-hover:
        0 2px 4px rgba(0,0,0,.08),
        0 5px 12px rgba(0,0,0,.055);
}


/* =========================================================
   GENERAL
========================================================= */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding-top:104px;

    font-family:"DM Sans",sans-serif;

    color:#151b2a;
    background:#fff;
}

h1,h2,h3,h4,h5,h6{
    font-family:"DM Sans",sans-serif;
    font-weight:700;
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
}

.section-space{
    padding:82px 0;
}

.section-space-sm{
    padding:62px 0;
}

.section-kicker{
    color:#111;
    font-size:.73rem;
    font-weight:800;
    letter-spacing:2.6px;
    text-transform:uppercase;
    margin-bottom:8px;
}

.section-title{
    color:#111827;
    font-size:clamp(2rem,3vw,2.8rem);
    font-weight:700;
    letter-spacing:-1.8px;
    line-height:1.05;
    margin:0;
}


/* =========================================================
   NAVBAR
========================================================= */

.main-navbar{
    min-height:104px;

    background:rgba(255,255,255,.985);

    border-bottom:1px solid #e7e7e7;

    box-shadow:
        0 1px 2px rgba(0,0,0,.06),
        0 2px 4px rgba(0,0,0,.02);

    transition:.25s ease;
}


/* LOGO MUCHO MAS GRANDE */

.navbar-brand{
    width:155px;
    height:94px;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:0;
    margin-right:35px;
}

.navbar-brand img{
    width:142px;
    height:90px;

    object-fit:contain;

    transition:.25s ease;
}


.main-navbar.scrolled{
    min-height:88px;

    box-shadow:
        0 1px 3px rgba(0,0,0,.07),
        0 2px 6px rgba(0,0,0,.03);
}

.main-navbar.scrolled .navbar-brand{
    height:78px;
}

.main-navbar.scrolled .navbar-brand img{
    width:122px;
    height:76px;
}


.navbar-nav .nav-link{
    position:relative;

    color:#21242c;

    font-size:.92rem;
    font-weight:600;

    padding:.75rem .82rem !important;
}

.navbar-nav .nav-link::after{
    content:"";

    position:absolute;

    left:50%;
    bottom:2px;

    width:0;
    height:2px;

    transform:translateX(-50%);

    background:#111;

    transition:.2s ease;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after{
    width:48%;
}


.nav-whatsapp{
    display:inline-flex;
    align-items:center;
    gap:8px;

    background:#111;
    color:#fff;

    border:1px solid #111;
    border-radius:10px;

    padding:.74rem 1rem;

    font-size:.88rem;
    font-weight:700;
}

.nav-whatsapp i{
    color:#25d366;
}

.nav-whatsapp:hover{
    background:#fff;
    color:#111;
}


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

.hero-carousel{
    position:relative;
}

.hero-slide{
    position:relative;

    min-height:635px;

    display:flex;
    align-items:center;

    background-size:cover;
    background-position:center;
}

.hero-slide::before{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.48) 38%,
            rgba(0,0,0,.15) 72%,
            rgba(0,0,0,.06) 100%
        );
}

.hero-content{
    position:relative;
    z-index:3;

    max-width:700px;

    color:#fff;
}

.hero-kicker{
    display:flex;
    align-items:center;
    gap:10px;

    font-size:.75rem;
    font-weight:700;
    letter-spacing:2.4px;
    text-transform:uppercase;

    margin-bottom:17px;
}

.hero-kicker::before{
    content:"";

    width:34px;
    height:1px;

    background:#fff;
}

.hero-title{
    font-size:clamp(3.2rem,5vw,5.4rem);
    font-weight:700;

    letter-spacing:-3.5px;
    line-height:.96;

    margin-bottom:22px;
}

.hero-description{
    max-width:600px;

    font-size:1.07rem;
    line-height:1.7;

    color:rgba(255,255,255,.9);

    margin-bottom:28px;
}

.hero-btn{
    min-height:50px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:.8rem 1.25rem;

    border-radius:9px;

    font-size:.9rem;
    font-weight:700;

    transition:.2s ease;
}

.hero-btn-dark{
    background:#111;
    color:#fff;

    border:1px solid #111;
}

.hero-btn-dark:hover{
    background:#fff;
    color:#111;
}

.hero-btn-light{
    background:#fff;
    color:#111;

    border:1px solid #fff;
}

.hero-btn-light:hover{
    background:#f1f1f1;
    color:#111;
}


.carousel-indicators [data-bs-target]{
    width:8px;
    height:8px;

    border:0;
    border-radius:50%;
}


/* =========================================================
   BUSCADOR
========================================================= */

.search-section{
    position:relative;
    z-index:30;

    margin-top:-42px;
}

.search-card{
    background:#fff;

    border:1px solid #e1e1e1;
    border-radius:16px;

    box-shadow:
        0 1px 2px rgba(0,0,0,.07),
        0 2px 5px rgba(0,0,0,.035);

    padding:20px;
}

.form-label-small{
    display:block;

    margin-bottom:6px;

    color:#62697a;

    font-size:.7rem;
    font-weight:700;
}

.premium-control{
    min-height:49px;

    border:1px solid #dfe2e7;
    border-radius:9px;

    font-size:.88rem;

    box-shadow:none !important;
}

.premium-control:focus{
    border-color:#111;
}

.search-btn{
    min-height:49px;

    background:#111;
    color:#fff;

    border:none;
    border-radius:9px;

    padding:0 24px;

    font-weight:700;
}

.search-btn:hover{
    background:#292929;
    color:#fff;
}


/* =========================================================
   CABECERA CARRUSEL
========================================================= */

.property-section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;

    gap:30px;

    padding-bottom:22px;
    margin-bottom:28px;

    border-bottom:1px solid #e3e6eb;
}


.property-toolbar{
    display:flex;
    align-items:flex-end;
    gap:10px;
}

.toolbar-label{
    display:block;

    color:#62697a;

    font-size:.7rem;
    font-weight:700;

    margin-bottom:5px;
}

.toolbar-select{
    min-width:175px;

    min-height:48px;

    border:1px solid #d9dfe7;
    border-radius:10px;

    font-size:.85rem;
}


/* UF / PESOS */

.currency-toggle{
    display:flex;

    border:1px solid #111111;
    border-radius:10px;

    overflow:hidden;

    height:44px;
}

.currency-btn{
    border:none;

    padding:0 12px;

    background:#fff;
    color:#111111;

    font-size:.8rem;
    font-weight:700;
}

.currency-btn.active{
    background:#111111;
    color:#fff;
}


/* MAPA */

.map-btn{
    height:44px;

    display:inline-flex;
    align-items:center;
    gap:7px;

    background:#111;
    color:#fff;

    border:none;
    border-radius:10px;

    padding:0 15px;

    font-size:.8rem;
    font-weight:700;
}

.map-btn:hover{
    background:#2b2b2b;
}


/* =========================================================
   CARRUSEL PROPIEDADES
========================================================= */

.property-carousel-wrap{
    position:relative;
}

.property-carousel-window{
    overflow:hidden;

    padding:3px 2px 8px;
}

.property-track{
    display:flex;
    gap:20px;

    transition:transform .48s cubic-bezier(.2,.7,.2,1);

    will-change:transform;
}


/*
   4 CARDS EN DESKTOP GRANDE
*/

.property-slide{
    flex:0 0 calc((100% - 60px) / 4);

    min-width:0;
}


/* =========================================================
   CARD DE PROPIEDAD
   MISMA ESTRUCTURA DE TUS IMAGENES
========================================================= */

.property-card{
    height:100%;

    display:flex;
    flex-direction:column;

    overflow:hidden;

    background:#fff;

    border:1px solid #dde1e6;
    border-radius:17px;

    box-shadow:
        0 1px 2px rgba(0,0,0,.06),
        0 2px 5px rgba(0,0,0,.03);

    transition:
        transform .23s ease,
        box-shadow .23s ease,
        border-color .23s ease;
}

.property-card:hover{
    transform:translateY(-3px);

    border-color:#d1d5da;

    box-shadow:
        0 2px 4px rgba(0,0,0,.07),
        0 5px 12px rgba(0,0,0,.05);
}


/* FOTO */

.property-photo{
    position:relative;

    height:225px;

    overflow:hidden;

    flex-shrink:0;
}

.property-photo img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .4s ease;
}

.property-card:hover .property-photo img{
    transform:scale(1.035);
}


/* BADGE */

.property-badge{
    position:absolute;

    top:13px;
    left:13px;

    display:inline-flex;
    align-items:center;

    min-height:30px;

    padding:0 12px;

    border-radius:20px;

    background:#111111;
    color:#fff;

    font-size:.69rem;
    font-weight:700;
}

.property-badge.red{
    background:#111111;
}

.property-badge.purple{
    background:#8545d8;
}

.property-badge.black{
    background:#111;
}


/* FAVORITO */

.favorite-btn{
    position:absolute;

    right:13px;
    top:13px;

    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    background:#fff;
    color:#5f6c7e;

    border:1px solid #e1e3e6;
    border-radius:50%;

    box-shadow:
        0 1px 2px rgba(0,0,0,.06);

    font-size:1.25rem;

    transition:.2s ease;
}

.favorite-btn:hover{
    background:#111;
    color:#fff;
}


/* CUERPO */

.property-body{
    flex:1;

    padding:19px 17px 15px;
}

.property-title{
    margin:0 0 5px;

    color:#1c2332;

    font-size:1.16rem;
    font-weight:700;

    letter-spacing:-.45px;
    line-height:1.2;
}

.property-location{
    display:flex;
    align-items:center;
    gap:5px;

    margin-bottom:15px;

    color:#747e91;

    font-size:.77rem;
}

.property-location i{
    color:#111111;
    font-size:.87rem;
}

.property-price{
    margin-bottom:16px;

    color:#111111;

    font-size:1.32rem;
    font-weight:700;

    letter-spacing:-.6px;
}


/* DESCRIPCION */

.property-description{
    min-height:63px;

    margin-bottom:15px;

    color:#697386;

    font-size:.79rem;
    line-height:1.55;
}


/* CARACTERISTICAS */

.property-features{
    display:flex;
    gap:5px;
    flex-wrap:nowrap;
}

.feature-item{
    flex:1;

    min-width:0;
    min-height:35px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;

    background:#f3f5f8;

    border-radius:8px;

    color:#566174;

    font-size:.68rem;
    font-weight:600;

    padding:5px 4px;
}

.feature-item i{
    font-size:.73rem;
}


/* =========================================================
   FOOTER DEL CARD
========================================================= */

.property-card-footer{
    min-height:59px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:10px;

    padding:10px 13px;

    border-top:1px solid #e4e7eb;

    background:#fff;
}


/* MARCA SAHR DENTRO DEL CARD */

.property-brand{
    display:flex;
    align-items:center;

    gap:7px;

    color:#242a35;

    font-size:.69rem;
    font-weight:700;
}

.property-brand-logo{
    width:30px;
    height:30px;

    display:grid;
    place-items:center;

    flex-shrink:0;

    border:1px solid #111;
    border-radius:7px;

    background:#fff;

    overflow:hidden;
}

.property-brand-logo img{
    width:27px;
    height:27px;

    object-fit:contain;
}


/* BOTON VER DETALLE */

.detail-btn{
    min-width:108px;

    display:inline-flex;
    justify-content:center;
    align-items:center;

    background:#111;
    color:#fff;

    border:1px solid #111;
    border-radius:9px;

    padding:9px 12px;

    font-size:.77rem;
    font-weight:700;

    transition:.2s ease;
}

.detail-btn:hover{
    background:#fff;
    color:#111;
}


/* =========================================================
   FLECHAS LATERALES
========================================================= */

.property-carousel-arrow{
    position:absolute;

    top:48%;

    z-index:20;

    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    background:#fff;
    color:#111;

    border:1px solid #e0e3e7;
    border-radius:50%;

    box-shadow:
        0 1px 3px rgba(0,0,0,.07);

    transition:.2s ease;
}

.property-carousel-arrow:hover{
    background:#111;
    color:#fff;
}

.property-carousel-arrow.prev{
    left:-22px;
}

.property-carousel-arrow.next{
    right:-22px;
}


/* =========================================================
   PUNTOS CARRUSEL
========================================================= */

.property-dots{
    display:flex;
    justify-content:center;

    gap:7px;

    margin-top:24px;
}

.property-dot{
    width:8px;
    height:8px;

    padding:0;

    border:0;
    border-radius:50%;

    background:#c9c9c9;
}

.property-dot.active{
    background:#111;
}


/* =========================================================
   PROMO
========================================================= */

.promo-banner{
    min-height:400px;

    display:flex;
    align-items:center;

    overflow:hidden;

    border-radius:18px;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.93),
            rgba(0,0,0,.65),
            rgba(0,0,0,.08)
        ),
        url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=85")
        center/cover no-repeat;

    box-shadow:var(--shadow);
}

.promo-content{
    max-width:600px;

    padding:55px;

    color:#fff;
}

.promo-content h2{
    font-size:clamp(2.3rem,4vw,3.8rem);
    font-weight:700;

    letter-spacing:-2.5px;
    line-height:1;

    margin-bottom:18px;
}

.promo-content p{
    color:rgba(255,255,255,.82);

    line-height:1.7;
}


/* =========================================================
   BENEFICIOS
========================================================= */

.benefit-item{
    display:flex;

    gap:15px;

    padding:18px 0;
}

.benefit-icon{
    width:50px;
    height:50px;

    flex:0 0 50px;

    display:grid;
    place-items:center;

    border:1px solid #dedede;
    border-radius:10px;

    font-size:1.25rem;
}

.benefit-item h5{
    margin:2px 0 4px;

    font-size:.96rem;
}

.benefit-item p{
    margin:0;

    color:#777;

    font-size:.82rem;
}


.life-gallery{
    display:grid;

    grid-template-columns:1.1fr 1fr;

    gap:10px;
}

.life-gallery img{
    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:14px;
}

.life-main{
    height:395px;

    grid-row:span 2;
}

.life-small{
    height:192px;
}


/* =========================================================
   ESTADISTICAS
========================================================= */

.stats{
    overflow:hidden;

    border-radius:14px;

    background:#111;
    color:#fff;

    box-shadow:var(--shadow);
}

.stat{
    min-height:100px;

    display:flex;
    justify-content:center;
    align-items:center;

    gap:14px;

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

    padding:20px;
}

.stat-number{
    font-size:1.6rem;
    font-weight:700;
}

.stat-label{
    color:#b8b8b8;

    font-size:.7rem;
}


/* =========================================================
   DETALLE
========================================================= */

.detail-section{
    background:#f7f8f8;
}

.property-detail-box{
    padding:17px;

    background:#fff;

    border:1px solid #dedede;
    border-radius:18px;

    box-shadow:
        0 1px 2px rgba(0,0,0,.06),
        0 2px 5px rgba(0,0,0,.035);
}

.detail-photo{
    height:430px;

    overflow:hidden;

    border-radius:13px;
}

.detail-photo img{
    width:100%;
    height:100%;

    object-fit:cover;
}

.detail-thumbs{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:8px;

    margin-top:9px;
}

.detail-thumb{
    width:100%;
    height:75px;

    object-fit:cover;

    border-radius:8px;
    border:2px solid transparent;

    cursor:pointer;
}

.detail-thumb.active{
    border-color:#111;
}

.detail-info{
    padding:10px;
}

.detail-info h2{
    font-size:2rem;
    font-weight:700;

    letter-spacing:-1.4px;
}

.detail-price-big{
    color:#111111;

    font-size:2rem;
    font-weight:700;
}

.detail-features{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    margin:22px 0;

    overflow:hidden;

    border:1px solid #e1e1e1;
    border-radius:11px;
}

.detail-feature{
    padding:14px 5px;

    text-align:center;

    border-right:1px solid #e1e1e1;

    font-size:.74rem;
}

.detail-feature:last-child{
    border-right:0;
}

.detail-feature i{
    display:block;

    margin-bottom:4px;

    font-size:1.1rem;
}

.detail-list{
    list-style:none;

    padding:0;
}

.detail-list li{
    margin-bottom:8px;

    font-size:.85rem;
}


/* FORMULARIO */

.visit-card{
    height:100%;

    padding:22px;

    border:1px solid #dedede;
    border-radius:14px;

    background:#fff;

    box-shadow:none;
}

.visit-card h4{
    font-size:1.35rem;
}


/* =========================================================
   CAMPAÑA
========================================================= */

.campaign{
    padding:48px;

    border-radius:18px;

    background:#111;
    color:#fff;

    box-shadow:var(--shadow);
}

.campaign h2{
    font-size:clamp(2rem,3vw,3rem);

    letter-spacing:-2px;
}

.campaign p{
    color:#bbb;
}


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

footer{
    padding:60px 0 20px;

    background:
        radial-gradient(
            circle at 85% 35%,
            #242424 0%,
            #111 45%,
            #080808 100%
        );

    color:#fff;
}

.footer-logo{
    width:175px;

    padding:10px;

    border-radius:15px;

    background:#fff;

    margin-bottom:18px;
}

footer p,
footer a{
    color:#aaa;

    font-size:.84rem;
}

footer a{
    display:block;

    margin-bottom:8px;
}

footer a:hover{
    color:#fff;
}

.footer-title{
    margin-bottom:16px;

    font-size:.72rem;
    font-weight:700;

    letter-spacing:1.7px;

    text-transform:uppercase;
}

.footer-bottom{
    margin-top:32px;
    padding-top:18px;

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


/* =========================================================
   FLOATING BUTTONS
========================================================= */

.floating-actions{
    position:fixed;

    right:17px;
    bottom:18px;

    z-index:1000;

    display:flex;
    flex-direction:column;

    gap:9px;
}

.floating-action{
    width:51px;
    height:51px;

    display:grid;
    place-items:center;

    border-radius:50%;

    box-shadow:
        0 2px 5px rgba(0,0,0,.13);

    font-size:1.3rem;
}

.float-whatsapp{
    background:#25d366;
    color:#fff;
}

.float-top{
    border:1px solid #ddd;

    background:#fff;
    color:#111;

    opacity:0;
    pointer-events:none;

    transition:.2s ease;
}

.float-top.show{
    opacity:1;
    pointer-events:auto;
}


/* =========================================================
   RESPONSIVE
========================================================= */

/* 3 CARDS */

@media(max-width:1399.98px){

    .property-slide{
        flex:0 0 calc((100% - 40px) / 3);
    }

}


/* 2 CARDS */

@media(max-width:991.98px){

    body{
        padding-top:90px;
    }

    .main-navbar{
        min-height:90px;
    }

    .navbar-brand{
        width:130px;
        height:80px;
    }

    .navbar-brand img{
        width:122px;
        height:78px;
    }

    .navbar-collapse{
        margin-left:-12px;
        margin-right:-12px;

        padding:15px 20px 20px;

        background:#fff;

        border-top:1px solid #eee;

        box-shadow:
            0 2px 5px rgba(0,0,0,.035);
    }

    .navbar-nav .nav-link::after{
        display:none;
    }

    .property-slide{
        flex:0 0 calc((100% - 20px) / 2);
    }

    .property-section-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .property-toolbar{
        width:100%;
        flex-wrap:wrap;
    }

    .hero-slide{
        min-height:590px;
    }

    .hero-slide::before{
        background:rgba(0,0,0,.56);
    }

}


/* 1 CARD */

@media(max-width:767.98px){

    body{
        padding-top:82px;
    }

    .main-navbar{
        min-height:82px;
    }

    .navbar-brand{
        width:115px;
        height:72px;
    }

    .navbar-brand img{
        width:108px;
        height:69px;
    }

    .hero-slide{
        min-height:610px;
    }

    .hero-title{
        font-size:3rem;

        letter-spacing:-2px;
    }

    .hero-description{
        font-size:.96rem;
    }

    .hero-buttons{
        display:grid !important;

        max-width:275px;
    }

    .search-section{
        margin-top:-25px;
    }

    .section-space{
        padding:62px 0;
    }

    .section-space-sm{
        padding:48px 0;
    }


    /* UNA SOLA CARD */

    .property-slide{
        flex:0 0 100%;
    }

    .property-track{
        gap:0;
    }

    .property-photo{
        height:265px;
    }

    .property-description{
        min-height:auto;
    }

    .property-carousel-arrow{
        width:43px;
        height:43px;
    }

    .property-carousel-arrow.prev{
        left:-8px;
    }

    .property-carousel-arrow.next{
        right:-8px;
    }

    .toolbar-select{
        width:100%;
    }

    .property-toolbar > div:first-child{
        width:100%;
    }

    .promo-content{
        padding:35px 25px;
    }

    .life-gallery{
        grid-template-columns:1fr;
    }

    .life-main,
    .life-small{
        height:235px;

        grid-row:auto;
    }

    .stat{
        justify-content:flex-start;

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

    .detail-photo{
        height:300px;
    }

    .detail-thumbs img{
        height:60px;
    }

    .detail-features{
        grid-template-columns:1fr 1fr;
    }

    .campaign{
        padding:34px 24px;
    }

}


@media(max-width:575.98px){

    .container{
        padding-left:17px;
        padding-right:17px;
    }

    .section-title{
        font-size:1.9rem;
    }

    .property-photo{
        height:250px;
    }

    .property-card-footer{
        padding:10px;
    }

    .property-brand{
        font-size:.65rem;
    }

    .detail-btn{
        min-width:100px;
    }

}

/* =========================================================
   SAHR — INTEGRACIÓN DINÁMICA SIN CAMBIAR LA PLANTILLA
========================================================= */
.property-title a{color:inherit;text-decoration:none}.property-title a:hover{text-decoration:underline}
.property-price .price-clp{display:none}.show-clp .property-price .price-uf{display:none}.show-clp .property-price .price-clp{display:inline}
.hero-slide picture,.hero-slide picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-slide{overflow:hidden}.hero-slide>.container{position:relative;z-index:3}
.hero-slide::before{z-index:2}.navbar-brand img,.footer-logo{background:#fff}
.testimonials-sahr{background:#f4f5f7}.testimonial-card-sahr{height:100%;background:#fff;border:1px solid #e3e5e8;border-radius:17px;padding:24px;box-shadow:var(--shadow)}
.testimonial-head-sahr{display:flex;align-items:center;gap:14px;margin-bottom:16px}.testimonial-head-sahr img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:1px solid #e3e5e8}.testimonial-head-sahr strong,.testimonial-head-sahr span{display:block}.testimonial-head-sahr strong{font-size:.92rem;color:#111}.testimonial-head-sahr span{font-size:.74rem;color:#687083;margin-top:3px}.testimonial-card-sahr p{font-size:.84rem;color:#687083;line-height:1.65;margin:0}.testimonial-stars-sahr{color:#111;letter-spacing:2px;font-size:.75rem;margin-bottom:12px}
.empty-properties-sahr{padding:35px;border:1px dashed #d6d9de;border-radius:17px;text-align:center;color:#687083;background:#fff}
.footer-credit-link{display:inline!important;margin:0!important;color:#fff!important;font-weight:700}.footer-credit-link:hover{text-decoration:underline}
@media(max-width:767.98px){.property-toolbar{gap:8px}.property-toolbar .map-btn{flex:1}.testimonial-card-sahr{padding:20px}}


/* =========================================================
   V22.6.25 — HERO SANTIAGO PREMIUM / ALTO IMPACTO
   Texto y botones siguen siendo HTML administrable.
========================================================= */
:root{
    --sahr-hero-cyan:#16b9e8;
    --sahr-hero-cyan-soft:#55d4f3;
    --sahr-hero-ink:#07111f;
}
.hero-slide{
    min-height:650px;
    isolation:isolate;
}
.hero-slide picture img{
    transform:scale(1.005);
    transition:transform 7s ease;
}
.carousel-item.active .hero-slide picture img{transform:scale(1.045)}
.hero-slide::before{
    background:
      linear-gradient(90deg,rgba(2,8,15,.93) 0%,rgba(3,11,20,.80) 28%,rgba(3,11,20,.46) 52%,rgba(3,11,20,.13) 76%,rgba(3,11,20,.04) 100%),
      linear-gradient(0deg,rgba(0,0,0,.22),rgba(0,0,0,0) 45%)!important;
}
.hero-content{
    max-width:780px;
    padding:58px 0 70px;
    text-shadow:0 2px 18px rgba(0,0,0,.18);
}
.hero-kicker{
    font-size:.78rem;
    font-weight:700;
    letter-spacing:3.1px;
    color:rgba(255,255,255,.96);
    margin-bottom:22px;
}
.hero-kicker::before{background:var(--sahr-hero-cyan);height:2px;width:38px;box-shadow:0 0 16px rgba(22,185,232,.42)}
.hero-title{
    max-width:780px;
    font-size:clamp(3.55rem,5.5vw,5.75rem);
    font-weight:800;
    letter-spacing:-4.2px;
    line-height:.94;
    margin-bottom:25px;
    color:#fff;
    text-wrap:balance;
}
.hero-title .hero-accent{
    color:var(--sahr-hero-cyan);
    text-shadow:0 0 28px rgba(22,185,232,.12);
}
.hero-description{
    max-width:650px;
    font-size:1.08rem;
    line-height:1.65;
    color:rgba(255,255,255,.94);
    margin-bottom:31px;
    font-weight:500;
}
.hero-buttons{gap:12px!important}
.hero-btn{
    min-height:54px;
    min-width:182px;
    border-radius:10px;
    padding:.9rem 1.35rem;
    font-size:.92rem;
    font-weight:800;
    letter-spacing:-.01em;
    box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.hero-btn-light{
    background:#fff;
    color:#07111f;
    border:1px solid rgba(255,255,255,.95);
}
.hero-btn-light i{color:#0b9dcc}
.hero-btn-light:hover{
    background:var(--sahr-hero-cyan);
    border-color:var(--sahr-hero-cyan);
    color:#031019;
    transform:translateY(-2px);
}
.hero-btn-dark{
    background:rgba(5,12,21,.72);
    color:#fff;
    border:1px solid rgba(255,255,255,.70);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.hero-btn-dark i{color:var(--sahr-hero-cyan-soft)}
.hero-btn-dark:hover{
    background:#07111f;
    border-color:var(--sahr-hero-cyan);
    color:#fff;
    transform:translateY(-2px);
}
.hero-carousel .carousel-indicators{bottom:58px;gap:7px}
.hero-carousel .carousel-indicators [data-bs-target]{
    width:24px;height:4px;border-radius:999px;background:#fff;opacity:.42;transition:.2s ease;
}
.hero-carousel .carousel-indicators .active{width:42px;background:var(--sahr-hero-cyan);opacity:1}

@media(max-width:991.98px){
    .hero-slide::before{background:linear-gradient(90deg,rgba(2,8,15,.88),rgba(2,8,15,.55) 68%,rgba(2,8,15,.28))!important}
    .hero-title{font-size:clamp(3rem,7vw,4.5rem);letter-spacing:-3px}
}
@media(max-width:767.98px){
    .hero-slide{min-height:650px;align-items:flex-end}
    .hero-slide picture img{object-position:center center}
    .hero-slide::before{
        background:linear-gradient(180deg,rgba(2,8,15,.20) 0%,rgba(2,8,15,.47) 34%,rgba(2,8,15,.90) 75%,rgba(2,8,15,.97) 100%)!important;
    }
    .hero-content{max-width:100%;padding:92px 0 92px}
    .hero-kicker{font-size:.67rem;letter-spacing:2.2px;margin-bottom:15px}
    .hero-kicker::before{width:26px}
    .hero-title{font-size:clamp(2.65rem,12vw,3.65rem);letter-spacing:-2.5px;line-height:.96;margin-bottom:18px}
    .hero-description{font-size:.94rem;line-height:1.55;margin-bottom:22px;max-width:95%}
    .hero-buttons{display:flex!important;flex-direction:column;max-width:300px;gap:9px!important}
    .hero-btn{width:100%;min-width:0;min-height:50px}
    .hero-carousel .carousel-indicators{bottom:42px}
}


/* =========================================================
   V22.6.26 — HERO MÁS COMPACTO + FLECHAS + LOGO GRANDE
   ========================================================= */

/* Logo SAHR más protagonista sin desarmar el navbar */
.main-navbar .navbar-brand{
    width:190px!important;
    min-width:190px!important;
    height:98px!important;
    margin-right:30px!important;
    padding:3px 8px!important;
}
.main-navbar .navbar-brand img{
    width:176px!important;
    max-width:176px!important;
    height:94px!important;
    object-fit:contain!important;
}
.main-navbar.scrolled .navbar-brand{
    width:170px!important;
    min-width:170px!important;
    height:82px!important;
}
.main-navbar.scrolled .navbar-brand img{
    width:154px!important;
    max-width:154px!important;
    height:78px!important;
}

/* Hero: menor alto y tipografía menos sobredimensionada */
.hero-slide{
    min-height:545px!important;
}
.hero-content{
    max-width:720px!important;
    padding:36px 0 58px!important;
}
.hero-kicker{
    margin-bottom:16px!important;
    font-size:.72rem!important;
    letter-spacing:2.8px!important;
}
.hero-title{
    max-width:720px!important;
    font-size:clamp(3rem,4.7vw,4.75rem)!important;
    letter-spacing:-3.5px!important;
    line-height:.94!important;
    margin-bottom:19px!important;
}
.hero-description{
    max-width:610px!important;
    font-size:1rem!important;
    line-height:1.58!important;
    margin-bottom:24px!important;
}
.hero-btn{
    min-height:49px!important;
    min-width:170px!important;
    padding:.78rem 1.2rem!important;
    font-size:.88rem!important;
}

/* Flechas visibles para el carrusel principal */
.hero-carousel .hero-carousel-arrow{
    width:64px!important;
    opacity:1!important;
    z-index:25!important;
}
.hero-carousel .hero-carousel-arrow-prev{left:14px!important}
.hero-carousel .hero-carousel-arrow-next{right:14px!important}
.hero-carousel .hero-carousel-arrow-icon{
    width:44px;
    height:44px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(6,10,16,.55);
    color:#fff;
    border:1px solid rgba(255,255,255,.72);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
    box-shadow:0 8px 24px rgba(0,0,0,.20);
    font-size:1.15rem;
    transition:.2s ease;
}
.hero-carousel .hero-carousel-arrow:hover .hero-carousel-arrow-icon{
    background:var(--sahr-hero-cyan);
    border-color:var(--sahr-hero-cyan);
    color:#04111b;
    transform:scale(1.06);
}
.hero-carousel .carousel-indicators{bottom:34px!important}

/* Flechas de los carruseles de propiedades: más claras y siempre visibles */
.property-carousel-wrap{overflow:visible!important}
.property-carousel-arrow{
    width:48px!important;
    height:48px!important;
    top:45%!important;
    z-index:55!important;
    background:#111!important;
    color:#fff!important;
    border:2px solid #fff!important;
    box-shadow:0 8px 22px rgba(0,0,0,.20)!important;
    font-size:1.05rem!important;
}
.property-carousel-arrow:hover{
    background:var(--sahr-hero-cyan)!important;
    color:#06111b!important;
    border-color:#fff!important;
    transform:scale(1.06)!important;
}
.property-carousel-arrow.prev{left:-18px!important}
.property-carousel-arrow.next{right:-18px!important}

@media(max-width:991.98px){
    .main-navbar .navbar-brand{
        width:158px!important;
        min-width:158px!important;
        height:84px!important;
        margin-right:15px!important;
    }
    .main-navbar .navbar-brand img{
        width:148px!important;
        max-width:148px!important;
        height:80px!important;
    }
    .hero-slide{min-height:525px!important}
    .hero-title{font-size:clamp(2.7rem,6.4vw,3.9rem)!important;letter-spacing:-2.8px!important}
    .hero-content{padding:42px 0 58px!important}
}

@media(max-width:767.98px){
    body{padding-top:86px!important}
    .main-navbar{min-height:86px!important}
    .main-navbar .navbar-brand,
    .main-navbar.scrolled .navbar-brand{
        width:142px!important;
        min-width:142px!important;
        height:80px!important;
        padding:5px 8px!important;
        margin-right:8px!important;
    }
    .main-navbar .navbar-brand img,
    .main-navbar.scrolled .navbar-brand img{
        width:132px!important;
        max-width:132px!important;
        height:72px!important;
    }
    .hero-slide{
        min-height:515px!important;
        align-items:flex-end!important;
    }
    .hero-content{padding:74px 0 72px!important}
    .hero-kicker{font-size:.63rem!important;letter-spacing:2px!important;margin-bottom:13px!important}
    .hero-title{
        font-size:clamp(2.25rem,10.2vw,3rem)!important;
        letter-spacing:-2px!important;
        line-height:.96!important;
        margin-bottom:15px!important;
    }
    .hero-description{font-size:.88rem!important;line-height:1.5!important;margin-bottom:18px!important}
    .hero-buttons{max-width:270px!important}
    .hero-btn{min-height:46px!important;font-size:.84rem!important}
    .hero-carousel .hero-carousel-arrow{width:46px!important}
    .hero-carousel .hero-carousel-arrow-prev{left:2px!important}
    .hero-carousel .hero-carousel-arrow-next{right:2px!important}
    .hero-carousel .hero-carousel-arrow-icon{width:36px;height:36px;font-size:.9rem}
    .hero-carousel .carousel-indicators{bottom:24px!important}
    .property-carousel-arrow{
        width:42px!important;
        height:42px!important;
        top:43%!important;
    }
    .property-carousel-arrow.prev{left:5px!important}
    .property-carousel-arrow.next{right:5px!important}
}
\n\n/* =========================================================
   SAHR V22.6.27 — HUINCHA SEGÚN ESTADO/OPERACIÓN
   Reemplaza el corazón de favoritos por SE VENDE / SE ARRIENDA.
   Venta = rojo. Arriendo = amarillo.
   ========================================================= */
.property-photo{position:relative;overflow:hidden}
.favorite-btn{display:none!important}
.property-status-ribbon{
    position:absolute;
    z-index:8;
    top:20px;
    right:-42px;
    width:166px;
    min-width:166px;
    padding:8px 0;
    transform:rotate(45deg);
    text-align:center;
    font-size:.72rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.085em;
    text-transform:uppercase;
    pointer-events:none;
    box-shadow:0 5px 15px rgba(0,0,0,.22);
}
.property-status-ribbon--sale{
    background:#e20b17;
    color:#fff;
}
.property-status-ribbon--rent{
    background:#f5c400;
    color:#171717;
}
@media(max-width:767.98px){
    .property-status-ribbon{top:18px;right:-43px;width:158px;min-width:158px;font-size:.68rem;padding:7px 0}
}


/* =========================================================
   SAHR V22.6.28 — Características más legibles en cards
   Iconos claros + valor + etiqueta visible.
   ========================================================= */
.property-description{
    font-size:.87rem!important;
    line-height:1.58!important;
    color:#657186!important;
}
.property-features{
    gap:7px!important;
}
.feature-item{
    min-height:54px!important;
    padding:7px 7px!important;
    gap:7px!important;
    border-radius:10px!important;
    background:#f3f5f8!important;
    color:#354052!important;
    justify-content:flex-start!important;
}
.feature-item i{
    flex:0 0 auto!important;
    width:23px!important;
    height:23px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#111!important;
    font-size:1rem!important;
    box-shadow:0 1px 2px rgba(0,0,0,.06)!important;
}
.feature-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:1px!important;
    line-height:1.05!important;
}
.feature-copy strong{
    display:block!important;
    color:#222b39!important;
    font-size:.82rem!important;
    font-weight:800!important;
    white-space:nowrap!important;
}
.feature-copy small{
    display:block!important;
    color:#7a8495!important;
    font-size:.56rem!important;
    font-weight:800!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
}
@media(max-width:575.98px){
    .property-description{font-size:.86rem!important}
    .feature-item{min-height:52px!important;padding:7px 6px!important;gap:6px!important}
    .feature-item i{width:22px!important;height:22px!important;font-size:.95rem!important}
    .feature-copy strong{font-size:.78rem!important}
    .feature-copy small{font-size:.53rem!important}
}

/* =========================================================
   SAHR V22.6.29 — PARCHE MÓVIL
   Solo <= 767.98px: buscador plegable, swipe, flechas limpias,
   galería "Vivir e invertir" y testimonios 1x1.
   ========================================================= */
.mobile-search-toggle,
.life-mobile-controls,
.testimonial-mobile-controls{display:none}
.testimonial-track-sahr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.testimonial-slide-sahr{min-width:0}

@media(max-width:767.98px){
    /* Buscador compacto: no aparece extendido al cargar. */
    .search-section{margin-top:-20px!important}
    .search-card{padding:10px!important;border-radius:15px!important}
    .mobile-search-toggle{
        width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;
        border:0;border-radius:10px;background:#0d121b;color:#fff;padding:0 15px;
        font-size:.86rem;box-shadow:none
    }
    .mobile-search-toggle>span{display:flex;align-items:center;gap:10px}
    .mobile-search-toggle .bi-list{font-size:1.45rem;line-height:1}
    .mobile-search-chevron{transition:transform .22s ease}
    .mobile-search-toggle[aria-expanded="true"] .mobile-search-chevron{transform:rotate(180deg)}
    .mobile-search-fields{display:none;padding:12px 2px 2px}
    .search-card.is-mobile-search-open .mobile-search-fields{display:block}

    /* Propiedades: una card completa y gesto de dedo. */
    .property-carousel-window{overflow:hidden!important;touch-action:pan-y pinch-zoom}
    .property-track{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
    .property-slide{flex:0 0 100%!important}
    .property-carousel-arrow{
        width:38px!important;height:38px!important;top:132px!important;
        transform:translateY(-50%)!important;z-index:60!important
    }
    .property-carousel-arrow.prev{left:8px!important}
    .property-carousel-arrow.next{right:8px!important}
    .property-carousel-arrow:hover{transform:translateY(-50%)!important}

    /* Vivir e invertir: las tres fotos pasan a carrusel táctil 1x1. */
    .life-carousel-wrap{position:relative}
    .life-gallery{
        display:flex!important;grid-template-columns:none!important;gap:0!important;
        overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
        scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:14px
    }
    .life-gallery::-webkit-scrollbar{display:none}
    .life-gallery img,
    .life-gallery .life-main,
    .life-gallery .life-small{
        flex:0 0 100%;min-width:100%;width:100%!important;height:255px!important;
        grid-row:auto!important;scroll-snap-align:start;scroll-snap-stop:always;border-radius:14px!important
    }
    .life-mobile-controls,
    .testimonial-mobile-controls{
        display:flex;align-items:center;justify-content:center;gap:12px;margin-top:13px
    }
    .life-mobile-controls button,
    .testimonial-mobile-controls button{
        width:36px;height:36px;border-radius:50%;border:1px solid #d9dde3;background:#fff;color:#0d121b;
        display:grid;place-items:center;box-shadow:0 3px 10px rgba(0,0,0,.08)
    }
    .life-mobile-dots,.testimonial-mobile-dots{display:flex;align-items:center;gap:6px;min-height:10px}
    .life-mobile-dots button,.testimonial-mobile-dots button{
        width:7px;height:7px;min-width:7px;border:0;border-radius:50%;padding:0;background:#c9cdd3;box-shadow:none
    }
    .life-mobile-dots button.active,.testimonial-mobile-dots button.active{background:#0d121b;transform:scale(1.3)}

    /* Testimonios: carrusel automático y táctil, uno a uno. */
    .testimonials-sahr .text-center.mb-5{margin-bottom:24px!important}
    .testimonial-carousel-mobile{overflow:hidden}
    .testimonial-track-sahr{
        display:flex!important;grid-template-columns:none!important;gap:0!important;
        overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
        scrollbar-width:none;-webkit-overflow-scrolling:touch
    }
    .testimonial-track-sahr::-webkit-scrollbar{display:none}
    .testimonial-slide-sahr{flex:0 0 100%;min-width:100%;scroll-snap-align:start;scroll-snap-stop:always;padding:1px 2px 5px}
    .testimonial-card-sahr{min-height:0;height:100%;padding:20px!important}
}
