/* ───────── LA CASA (Zen + paleta Rosa/Verd) ───────── */

/* Google Fonts (Zen) */
@import url('https://fonts.googleapis.com/css2?family=Zen+Antique+Soft:wght@400;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');

:root{
    --rosa: rgba(252,210,232,0.58);
    --verd: rgba(223,243,164,0.57);

    /* fallbacks si no existen en global */
    --primary-color: #8B4513;
    --secondary-color: #D2B48C;
    --accent-color: #228B22;
    --text-dark: #2C3E50;

    /* altura del carrusel (ajústala a gusto) */
    --casa-carousel-h: 500px;
}

/* Tipografías */
.casa-page h1,
.casa-page h2,
.casa-page h3,
.casa-page .section-title{
    font-family: "Zen Antique Soft", Georgia, serif;
}
.casa-page p,
.casa-page li,
.casa-page blockquote,
.casa-page .btn{
    font-family: "Zen Maru Gothic", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Reset mínimo útil */
img{ max-width:100%; height:auto; display:block; }
.card{ border-radius:14px; box-shadow:0 8px 26px rgba(0,0,0,.08); }

/* ───────── Hero como en Inicio ───────── */
.hero-section.casa-hero{
    color:#fff;
    text-align:center;
    min-height: 100svh;
    display:flex; align-items:center;
    padding: 140px 0; /* por la navbar fija */
    background:
            linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.28)),
            url('/assets/img/la-casa/casa1.jpg') center/cover no-repeat;
}
.hero-section.casa-hero h1{
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0,0,0,.3);
    margin-bottom: .8rem;
}
.hero-section.casa-hero .lead{
    font-size: clamp(1.05rem, 2.2vw, 1.35rem);
    text-shadow: 1px 1px 2px rgba(0,0,0,.3);
    margin-bottom: 1.6rem;
}
@media (max-width: 991px){
    .hero-section.casa-hero{ min-height:65vh; padding:120px 0; }
}

/* ───────── Bloques de color ───────── */
.container-green{ background: var(--verd); border-radius: 20px; padding: 48px 28px; }
.container-pink{  background: var(--rosa); border-radius: 20px; padding: 48px 28px; }

/* ───────── Característiques ───────── */
.features-row { align-items: stretch; }
.features-row > [class*="col-"] { display: flex; }
.features-list{
    font-size: 1rem;
    line-height: 1.55;
}
.features-list li{
    margin: .55rem 0;
    display: flex; gap: .6rem;
    align-items: flex-start;
}
.features-list i{ margin-top: .2rem; }

/* Caja imagen igualando altura del texto en desktop */
.features-image{
    flex: 1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    background:#000;            /* relleno si la imagen no cubre */
}
.features-image img{
    width: 100%; height: 100%;
    object-fit: cover;          /* llena verticalmente en desktop */
    object-position: center;
}
@media (max-width: 991.98px){
    .features-image{ min-height: 280px; }
}

/* ───────── Galería: tamaño fijo + imagen completa (contain) ───────── */
#carouselCasa .carousel-inner{
    border-radius:16px; overflow:hidden;
}
#carouselCasa .carousel-inner.carousel-fixed{
    height: var(--casa-carousel-h);
    background:#000;            /* barras laterales elegantes */
}
#carouselCasa .carousel-fixed .carousel-item,
#carouselCasa .carousel-fixed .carousel-item img{
    height:100%;
}
#carouselCasa .carousel-fixed .carousel-item img{
    width:100%;
    object-fit: contain;         /* se ve COMPLETA la imagen */
    object-position:center;
    background:#000;             /* relleno detrás de la foto */
    display:block;
}
/* Controles visibles sobre fondo oscuro */
#carouselCasa .carousel-control-prev-icon,
#carouselCasa .carousel-control-next-icon{
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.6)) invert(1);
}

/* ───────── Testimonios bonitos ───────── */
.testi-section{ position:relative; }
.testi-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}
.testi-card{
    position:relative;
    background:#fff;
    border-radius: 18px;
    padding: 22px 20px 20px;
    box-shadow: 0 12px 28px rgba(0,0,0,.08);
    transition: transform .25s ease, box-shadow .25s ease;
    overflow:hidden;
}
.testi-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(0,0,0,.12);
}
.testi-card::before{
    content: "“";
    position:absolute;
    top:-20px; left:12px;
    font-size: 6rem; line-height:1;
    color: rgba(0,0,0,.07);
    font-family: "Zen Antique Soft", Georgia, serif;
}
.testi-header{ display:flex; align-items:center; gap:12px; margin-bottom:.6rem; }
.testi-avatar{
    width:44px; height:44px; border-radius:50%;
    object-fit:cover; border:2px solid rgba(0,0,0,.06);
}
.testi-name{ font-weight:600; }
.testi-loc{ font-size:.85rem; opacity:.7; }
.testi-stars{ color:#f4b000; letter-spacing:1px; font-size:.95rem; margin-bottom:.5rem; }
.testi-text{ margin:0 0 .5rem; }
.testi-foot{ font-size:.85rem; opacity:.75; }

/* “Tapete zen” sutil detrás */
.testi-section.container-pink{ position:relative; }
.testi-section.container-pink::after{
    content:""; position:absolute; inset:10px; border-radius:16px; pointer-events:none;
    background:
            radial-gradient(ellipse at top left, rgba(255,255,255,.45), transparent 60%),
            radial-gradient(ellipse at bottom right, rgba(255,255,255,.35), transparent 60%);
    mix-blend-mode: lighten;
}

/* ───────── Embeds Booking/Airbnb ───────── */
.airbnb-embed-frame{
    background:#fff; border-radius:16px; box-shadow:0 8px 24px rgba(0,0,0,.08);
}

/* ───────── CTA Final ───────── */
.casa-cta{
    background: var(--verd);
    color: var(--text-dark);
}
.casa-cta .btn{
    background: var(--primary-color);
    border-color: var(--primary-color);
    color:#fff;
}
.casa-cta .btn:hover{ filter: brightness(.95); }