/* =====================
   MOBILE
===================== */
@media (max-width: 576px) {

    /* =====================
       BASE MOBILE
    ===================== */
    .container,
    .container-fluid {
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    .row {
        margin-left: 0;
        margin-right: 0;
    }

    /* =====================
       HERO – MOBILE
    ===================== */
    .hero-title {
        font-size: clamp(2.6rem, 8.5vw, 3.2rem);
        line-height: 1.15;
    }

    .hero_tag {
        font-size: 0.7rem;
    }

    .hero-animated {
        max-width: 100%;
        padding: 0 20px;
        padding-top: 80px;
    }

    .hero-subtitle {
        font-size: 0.95rem;
        margin-bottom: 24px;
    }

    .hero_actions {
        flex-direction: column;
        gap: 12px;
    }

    .btn_hero,
    .btn_hero_outline {
        padding: 12px 24px;
        font-size: 0.95rem;
        width: 100%;
    }

    /* =====================
       CATEGORÍAS – MOBILE
    ===================== */
    .categorias {
        padding: 48px 0;
    }

    .categorias h2 {
        font-size: 1.6rem;
        margin-bottom: 28px;
        padding: 0 16px;
    }

    .categorias .container {
        padding-left: 0;
        padding-right: 0;
    }

    .categorias .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 16px;
        margin: 0;
    }

    /* 1 columna */
    .categorias .row > div {
        flex: 0 0 100%;
        max-width: 100%;
        padding-left: 8px;
        padding-right: 8px;
    }

    .categoria_item {
        height: 60vh;
        min-height: 360px;
        border-radius: 14px;
    }

    .categoria_overlay {
        padding: 20px;
    }

    .categoria_title {
        font-size: 1.2rem;
    }

    .categoria_desc {
        display: none;
    }/* PROPIEDADES DESTACADAS – MOBILE */

.home-featured {
    padding: 56px 0;
}

.featured-header h2 {
    font-size: 1.6rem;
}

.featured-header p {
    font-size: 0.9rem;
}

/* Card */
.property-card {
    border-radius: 16px;
}

/* Imagen protagonista */
.property-image img {
    height: 190px;
}

/* Info */
.property-info {
    padding: 18px 18px 22px;
}

.property-info h3 {
    font-size: 1rem;
}

.property-location {
    font-size: 0.8rem;
    margin-bottom: 14px;
}

/* Footer */
.property-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

/* Precio */
.property-price {
    font-size: 1rem;
}

/* CTA */
.property-cta {
    font-size: 0.85rem;
}/* CIERRE HOME – MOBILE */

.home-reviews {
    padding: 64px 0;
}

.reviews-header {
    margin-bottom: 36px;
}

.reviews-header h2 {
    font-size: 1.6rem;
}

.reviews-header p {
    font-size: 0.9rem;
}

/* Grid 1 columna natural */
.reviews-track {
    gap: 20px;
}

/* Card */
.review-card {
    padding: 20px;
    border-radius: 14px;
}

/* Estrellas */
.review-stars {
    font-size: 0.9rem;
}

/* Texto */
.review-text {
    font-size: 0.88rem;
    margin-bottom: 18px;
}

/* Usuario */
.review-user {
    gap: 10px;
}

.review-user img,
.user-letter {
    width: 36px;
    height: 36px;
}

.review-user strong {
    font-size: 0.85rem;
}

.review-user span {
    font-size: 0.75rem;
}

/* CTA FINAL */
.trust-cta-container {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
}/* TESTIMONIO – MOBILE */

.testimonial-card {
    padding: 36px 24px;
    border-radius: 18px;
}

.testimonial-card::before {
    font-size: 2.4rem;
    top: 16px;
    left: 18px;
}

.testimonial-quote {
    font-size: 1.05rem;
    line-height: 1.55;
    margin-bottom: 22px;
}

.testimonial-author {
    margin-bottom: 20px;
}

.author-name {
    font-size: 0.95rem;
}

.author-meta {
    font-size: 0.8rem;
}

.testimonial-people {
    gap: 8px;
}

.testimonial-people img {
    width: 34px;
    height: 34px;
}

.people-note {
    font-size: 0.8rem;
    margin-left: 8px;
}
/* CTA FINAL – MOBILE */

.trust-cta {
    text-align: center;
}

.trust-cta h2 {
    font-size: 1.6rem;
}

.trust-cta p {
    font-size: 0.9rem;
    margin-bottom: 24px;
}

.cta-btn {
    width: 100%;
    padding: 14px 28px;
    font-size: 0.95rem;
}

.cta-content {
    max-width: 100%;
}
/* HOME WHY – MOBILE */

.home-why {
    padding: 64px 16px;
}

.home-why h2 {
    font-size: 1.6rem;
    margin-bottom: 32px;
}

.home-why h2::after {
    width: 54px;
}

.why-list li {
    font-size: 0.95rem;
    padding: 16px 0;
    line-height: 1.5;
}
/* HOME ZONES – MOBILE */

.home-zones {
    padding: 80px 0 120px;
}

/* Wrapper */
.zones-wrapper {
    grid-template-columns: 1fr;
    gap: 56px;
}
/* Cards – scroll horizontal libre */
.zones-cards {
    display: flex;
    gap: 18px;

    overflow-x: auto;
    overflow-y: hidden;

    padding: 0 16px 16px;

    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.zones-cards::-webkit-scrollbar {
    display: none;
}


.zone-card {
    flex: 0 0 auto;
    width: 180px;
    height: 300px;

    scroll-snap-align: start;
}


/* Contenido */
.zones-content {
    margin-left: 0;
    padding: 32px 24px;
    border-radius: 22px;
    text-align: center;
}

.zones-content h2 {
    font-size: 1.6rem;
}

.zones-content p {
    font-size: 0.95rem;
    margin-bottom: 28px;
}

/* Acciones */
.zones-actions {
    flex-direction: column;
    gap: 16px;
}

/* Botón */
.zones-btn {
    width: 100%;
    text-align: center;
}

/* Play */
.zones-play {
    width: 44px;
    height: 44px;
}
}
