/* ============================================
   VISTA DE TARJETAS - 3 Modos Móvil
   completa | cuadricula | minimalista
   ============================================ */

/* Botón de vista integrado en header (móvil + escritorio) */
.btn-vista-header {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--tema-fondo-tarjeta, #fff);
    border: 1px solid var(--tema-borde-color, #d8dee4);
    color: var(--tema-texto-primario, #1f2937);
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

/* === Modal opciones de vista (paridad 1:1 con legacy) === */
.modal-backdrop.show {
    z-index: 1000000 !important;
}

#modalOpcionesVista {
    z-index: 1000001 !important;
}

#modalOpcionesVista .modal-dialog,
#modalOpcionesVista .modal-content {
    pointer-events: auto;
}

.btn-vista-opcion {
    width: 100%;
    padding: 10px 12px;
    border: 2px solid var(--tema-borde-color, #e5e7eb);
    border-radius: 12px;
    background: var(--tema-fondo-tarjeta, white);
    color: var(--tema-texto-primario, #333);
    transition: all 0.2s ease;
    cursor: pointer;
}

.btn-vista-opcion:hover {
    border-color: var(--tema-primario, #1e90ff);
    background: var(--tema-fondo-hover, #f0f7ff);
    color: var(--tema-texto-primario, #333);
}

.btn-vista-opcion.active {
    border-color: var(--tema-primario, #1e90ff);
    background: rgba(var(--tema-primario-rgb, 30, 144, 255), 0.1);
    color: var(--tema-primario, #1e90ff);
}

.btn-vista-opcion.active .text-muted {
    color: var(--tema-primario, #1e90ff) !important;
    opacity: 0.7;
}

.vista-preview {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    background: var(--tema-fondo-hover, #f0f0f0);
    position: relative;
}

.vista-preview-completa .preview-bar {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--tema-primario, #1e90ff) 60%, rgba(var(--tema-primario-rgb, 30, 144, 255), 0.3) 100%);
    border-radius: 4px;
}

.vista-preview-cuadricula {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 3px;
    align-content: flex-start;
}

.vista-preview-cuadricula .preview-mini {
    width: 10px;
    height: 10px;
    background: var(--tema-primario, #1e90ff);
    border-radius: 2px;
}

.vista-preview-minimalista .preview-full {
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.7) 100%), linear-gradient(135deg, #667eea, #764ba2);
}

.vista-preview-minimalista .preview-overlay-icons {
    position: absolute;
    right: 4px;
    bottom: 4px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: white;
}
@media (max-width: 767.98px) {
    .btn-vista-header {
        background: rgba(255,255,255,0.2);
        border: 1px solid rgba(255,255,255,0.3);
        color: white;
        padding: 4px 10px;
        font-size: 0.75rem;
    }
    .btn-vista-header:hover,
    .btn-vista-header:focus {
        background: rgba(255,255,255,0.3);
    }
    .btn-vista-header i {
        font-size: 0.7rem;
    }
    /* Dentro de mapa-toggle-row no debe crecer */
    .mapa-toggle-row .btn-vista-header {
        flex: 0 0 auto !important;
        min-width: auto !important;
        border-radius: 20px;
    }
    /* Variante oscura para headers sin fondo de color */
    .btn-vista-header-dark {
        background: var(--tema-fondo-hover, #f0f0f0);
        border: 1px solid var(--tema-borde-color, #e0e0e0);
        color: var(--tema-texto-primario, #333);
    }
    .btn-vista-header-dark:hover,
    .btn-vista-header-dark:focus {
        background: var(--tema-primario, #1e90ff);
        color: white;
        border-color: var(--tema-primario, #1e90ff);
    }
}

/* === MODO CUADRÍCULA (móvil) === */
@media (max-width: 767.98px) {
    .grid-vista-cuadricula .col-xl-3,
    .grid-vista-cuadricula .col-lg-4,
    .grid-vista-cuadricula .col-md-6,
    .grid-vista-cuadricula .col-sm-12 {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
        padding: 0.2rem !important;
    }

    .grid-vista-cuadricula .property-showcase-card {
        border-radius: 8px;
        overflow: hidden;
    }

    .grid-vista-cuadricula .encabezado-usuario,
    .grid-vista-cuadricula .titulo-propiedad-tarjeta,
    .grid-vista-cuadricula .property-description,
    .grid-vista-cuadricula .property-location-info,
    .grid-vista-cuadricula .barra-social,
    .grid-vista-cuadricula .dropdown-comentarios,
    .grid-vista-cuadricula .dropdown-overlay,
    .grid-vista-cuadricula .menu-opciones-tarjeta,
    .grid-vista-cuadricula .whatsapp-quick-btn,
    .grid-vista-cuadricula .carousel-control-prev,
    .grid-vista-cuadricula .carousel-control-next,
    .grid-vista-cuadricula .media-controls-bottom,
    .grid-vista-cuadricula .property-badges-container {
        display: none !important;
    }

    .grid-vista-cuadricula .property-image-showcase {
        height: 120px !important;
        border-radius: 0 !important;
    }

    .grid-vista-cuadricula .property-image-showcase .property-main-image {
        height: 120px !important;
        object-fit: cover;
    }

    .grid-vista-cuadricula .specs-overlay-imagen {
        bottom: 0 !important;
        padding: 2px 4px !important;
        gap: 3px !important;
    }

    .grid-vista-cuadricula .specs-overlay-imagen .spec-chip {
        font-size: 0.55rem !important;
        padding: 1px 3px !important;
    }

    .grid-vista-cuadricula .property-showcase-body {
        padding: 4px 6px !important;
    }

    .grid-vista-cuadricula .property-price-section {
        margin-bottom: 0 !important;
    }

    .grid-vista-cuadricula .property-price-section .price-text {
        font-size: 0.7rem !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .grid-vista-cuadricula .property-price-section .deposit-text,
    .grid-vista-cuadricula .property-price-section .area-text {
        display: none !important;
    }
}

/* === VISTAS EN ESCRITORIO (PC) === */
@media (min-width: 768px) {
    /* Completa: una publicación por fila */
    .grid-vista-completa > .col-xl-3,
    .grid-vista-completa > .col-lg-4,
    .grid-vista-completa > .col-md-6,
    .grid-vista-completa > .col-sm-12 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* Cuadrícula: 4 por fila en escritorio */
    .grid-vista-cuadricula > .col-xl-3,
    .grid-vista-cuadricula > .col-lg-4,
    .grid-vista-cuadricula > .col-md-6,
    .grid-vista-cuadricula > .col-sm-12 {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }

    /* Minimalista en escritorio: una por fila con media alta */
    .grid-vista-minimalista {
        --bs-gutter-x: 0 !important;
        --bs-gutter-y: 1rem !important;
    }
    .grid-vista-minimalista > .col-xl-3,
    .grid-vista-minimalista > .col-lg-4,
    .grid-vista-minimalista > .col-md-6,
    .grid-vista-minimalista > .col-sm-12 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .grid-vista-minimalista .property-showcase-card {
        max-width: 920px;
        margin: 0 auto;
    }
    .grid-vista-minimalista .property-image-showcase {
        height: 68vh !important;
        min-height: 420px;
    }
}

/* === MODO MINIMALISTA (tipo Instagram/TikTok) === */
@media (max-width: 767.98px) {

    /* ─── 1. SCROLL-SNAP EN VIEWPORT ─── */
    html.minimalista-scroll-activo {
        --minimalista-navbar-h: 0px;
        --minimalista-header-h: 0px;
        --minimalista-top-offset: calc(var(--minimalista-navbar-h) + var(--minimalista-header-h));
        height: auto !important;
        min-height: 100dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        touch-action: pan-y !important;
        overscroll-behavior-y: auto !important;
        scroll-behavior: auto !important;
        scroll-snap-type: y mandatory;
        scroll-padding-top: var(--minimalista-top-offset);
        -webkit-overflow-scrolling: touch;
    }
    html.minimalista-scroll-activo body {
        height: auto !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        min-height: 100dvh !important;
        overscroll-behavior-y: auto !important;
        touch-action: pan-y !important;
    }

    /* ─── 3. OCULTAR: footer, PWA, toast ─── */
    html.minimalista-scroll-activo .site-footer,
    html.minimalista-scroll-activo #pwa-install-btn,
    html.minimalista-scroll-activo .position-fixed.bottom-0 {
        display: none !important;
    }

    /* ─── 4. NAVBAR: flujo normal ─── */
    html.minimalista-scroll-activo .navbar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 3000 !important;
    }

    /* ─── MODALES: siempre encima de navbar y header ─── */
    html.minimalista-scroll-activo .modal {
        z-index: 4000 !important;
    }
    html.minimalista-scroll-activo .modal-backdrop {
        z-index: 3999 !important;
    }

    html.minimalista-scroll-activo.minimalista-navbar-oculto .navbar {
        display: none !important;
    }

    /* ─── 5. CONTENEDOR PRINCIPAL: neutralizar flex ─── */
    html.minimalista-scroll-activo #contenido-principal {
        display: block !important;
        min-height: 0 !important;
        position: static !important;
        z-index: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* ─── 6. MAIN + CONTAINER: full-width ─── */
    html.minimalista-scroll-activo main,
    html.minimalista-scroll-activo main > .container {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    html.minimalista-scroll-activo main > .container > *:not(.header):not(.header-premium-cuenta):not(.catalogo-bloques-superiores):not(.property-list):not(#filtrosWrapperAll):not(#gridPropiedades):not(#modalOpcionesVista):not(.modal):not(.modal-backdrop):not(.catalogo-mapa-contador-row) {
        display: none !important;
    }

    /* ─── 7. HEADER STICKY ─── */
    html.minimalista-scroll-activo .header.mb-4 {
        position: fixed !important;
        top: var(--minimalista-navbar-h) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2000 !important;
        margin: 0 !important;
        padding: 6px 10px !important;
        background: var(--tema-fondo-tarjeta, rgba(255, 255, 255, 0.92)) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border-bottom: 1px solid var(--tema-borde-color, rgba(0,0,0,0.08)) !important;
    }
    html.minimalista-scroll-activo .header-premium-cuenta {
        position: fixed !important;
        top: var(--minimalista-navbar-h) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2600 !important;
        margin: 0 !important;
        border-radius: 0 !important;
        background: var(--tema-fondo-tarjeta, rgba(255, 255, 255, 0.96)) !important;
    }
    html.minimalista-scroll-activo .header.mb-4 {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    html.minimalista-scroll-activo .header-premium-cuenta {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    html.minimalista-scroll-activo .header.mb-4 .mapa-toggle-row {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    html.minimalista-scroll-activo .all-props-header-label {
        position: relative !important;
        margin-bottom: 4px !important;
        padding: 4px 8px !important;
    }
    html.minimalista-scroll-activo.minimalista-navbar-oculto .all-props-header-label {
        padding-left: 52px !important;
    }
    html.minimalista-scroll-activo .all-props-header-title {
        font-size: 0.85rem !important;
        color: white !important;
    }
    html.minimalista-scroll-activo .mapa-toggle-row {
        gap: 4px !important;
        overflow: visible !important;
    }
    html.minimalista-scroll-activo .mapa-toggle-row .mapa-toggle-btn {
        padding: 3px 8px !important;
        font-size: 0.65rem !important;
        min-width: 0 !important;
        flex: 1 1 0 !important;
    }
    html.minimalista-scroll-activo .mapa-toggle-row .toggle-contador,
    html.minimalista-scroll-activo .mapa-toggle-row .btn-vista-header {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    html.minimalista-scroll-activo #gridPropiedades.grid-vista-minimalista {
        margin-top: var(--minimalista-top-offset) !important;
    }

    html.minimalista-scroll-activo .catalogo-bloques-superiores {
        position: fixed !important;
        top: calc(var(--minimalista-navbar-h) + var(--minimalista-header-h)) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2050 !important;
        margin: 0 !important;
        padding: 8px 15px !important;
        background: var(--tema-fondo-cuerpo, var(--tema-fondo-tarjeta, #f3f6fb)) !important;
    }

    /* Catálogo: ocultar header y bloques al scrollear a la 2ª publicación */
    html.minimalista-scroll-activo.minimalista-catalogo-profundo .catalogo-bloques-superiores {
        display: none !important;
    }
    html.minimalista-scroll-activo.minimalista-catalogo-profundo .header-premium-cuenta {
        display: none !important;
    }

    /* Fondo tema para catálogo en minimalista */
    html.minimalista-scroll-activo .catalogo-theme-shell,
    html.minimalista-scroll-activo .catalogo-theme-shell .property-list,
    html.minimalista-scroll-activo .catalogo-theme-shell #gridPropiedades.grid-vista-minimalista,
    html.minimalista-scroll-activo .catalogo-theme-shell #gridPropiedades.grid-vista-minimalista > [class*="col-"] {
        background: var(--tema-fondo-cuerpo, var(--tema-fondo-tarjeta, #f3f6fb)) !important;
    }

    html.minimalista-scroll-activo .catalogo-theme-page {
        background: var(--tema-fondo-cuerpo, var(--tema-fondo-tarjeta, #f3f6fb)) !important;
    }

    html.minimalista-scroll-activo .catalogo-bloques-superiores .btn-ver-mapa,
    html.minimalista-scroll-activo .catalogo-mapa-contador-row .btn-ver-mapa {
        position: relative !important;
        z-index: 2051 !important;
    }

    html.minimalista-scroll-activo .catalogo-mapa-contador-row {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 2050 !important;
        background: var(--tema-fondo-cuerpo, var(--tema-fondo-tarjeta, #f3f6fb)) !important;
    }

    /* ─── 8. FILTROS (overlay cuando abiertos) ─── */
    html.minimalista-scroll-activo .filtros-wrapper-all.activo {
        position: fixed !important;
        top: var(--minimalista-top-offset) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1049 !important;
        max-height: 60vh !important;
        overflow-y: auto !important;
        background: var(--tema-fondo-tarjeta, rgba(255, 255, 255, 0.96)) !important;
    }

    /* ─── 9. GRID ─── */
    .grid-vista-minimalista {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        overflow: visible !important;   /* evitar que .row con overflow-x:hidden capture scroll */
        --bs-gutter-x: 0 !important;
        --bs-gutter-y: 0 !important;
    }

    /* ─── 10. PUBLICACIONES ─── */
    .grid-vista-minimalista > [class*="col-"] {
        display: block !important;
        width: 100% !important;
        height: calc(100dvh - var(--minimalista-top-offset));
        min-height: calc(100dvh - var(--minimalista-top-offset));
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        position: relative !important;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        flex: none !important;
        background: var(--tema-fondo-tarjeta, #f3f6fb) !important;
        will-change: transform, opacity, filter;
    }

    .grid-vista-minimalista > [class*="col-"].minimalista-enter-up {
        animation: minimalistaEnterUp 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
    }

    .grid-vista-minimalista > [class*="col-"].minimalista-enter-down {
        animation: minimalistaEnterDown 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
    }

    @keyframes minimalistaEnterUp {
        0% {
            transform: translateY(24px) scale(0.985);
            opacity: 0.86;
            filter: saturate(0.9);
        }
        100% {
            transform: translateY(0) scale(1);
            opacity: 1;
            filter: saturate(1);
        }
    }

    @keyframes minimalistaEnterDown {
        0% {
            transform: translateY(-24px) scale(0.985);
            opacity: 0.86;
            filter: saturate(0.9);
        }
        100% {
            transform: translateY(0) scale(1);
            opacity: 1;
            filter: saturate(1);
        }
    }

    /* ─── 11. TARJETA ─── */
    .grid-vista-minimalista [class*="col-"] > a {
        overflow: visible;
        text-decoration: none;
        background: transparent;
    }
    .grid-vista-minimalista .property-showcase-card {
        border-radius: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: var(--tema-fondo-tarjeta, #f3f6fb) !important;
        position: relative;
        overflow: visible !important;
        height: calc(100dvh - var(--minimalista-top-offset)) !important;
        min-height: calc(100dvh - var(--minimalista-top-offset)) !important;
        display: block !important;
    }
    .grid-vista-minimalista .property-showcase-card:hover {
        transform: none !important;
    }

    /* Ocultar: título, comentarios, overlay, barra social */
    .grid-vista-minimalista .titulo-propiedad-tarjeta,
    .grid-vista-minimalista .dropdown-comentarios,
    .grid-vista-minimalista .dropdown-overlay,
    .grid-vista-minimalista .carousel-control-prev,
    .grid-vista-minimalista .carousel-control-next,
    .grid-vista-minimalista .whatsapp-quick-btn,
    .grid-vista-minimalista .barra-social {
        display: none !important;
    }

    /* Encabezado del usuario: visible, estilo superpuesto arriba */
    .grid-vista-minimalista .encabezado-usuario {
        display: flex !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 20 !important;
        padding: 10px 56px 10px 12px !important;
        background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, transparent 100%) !important;
    }

    .grid-vista-minimalista > [class*="col-"] > .minimalista-btn-navbar {
        display: inline-flex;
        position: absolute;
        top: 10px;
        right: 46px;
        width: 30px;
        height: 30px;
        min-width: 30px;
        background: rgba(13, 18, 28, 0.82);
        border: 1px solid rgba(255,255,255,0.42);
        border-radius: 999px;
        color: white;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 14px rgba(0,0,0,0.35);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        touch-action: manipulation;
        z-index: 30;
    }

    .grid-vista-minimalista > [class*="col-"] > .minimalista-btn-navbar i {
        pointer-events: none;
        font-size: 0.82rem;
    }

    .grid-vista-minimalista .encabezado-usuario .nombre-usuario {
        color: white !important;
        text-shadow: 0 1px 4px rgba(0,0,0,0.6);
    }

    .grid-vista-minimalista .encabezado-usuario .fecha-publicacion {
        color: rgba(255,255,255,0.8) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.5);
    }

    .grid-vista-minimalista .encabezado-usuario .fecha-publicacion * {
        color: rgba(255,255,255,0.8) !important;
    }

    .grid-vista-minimalista .encabezado-usuario .badge-actualizada {
        color: white !important;
        background: rgba(255,255,255,0.2) !important;
    }

    /* Menú de tres puntos - visible arriba a la derecha */
    .grid-vista-minimalista .menu-opciones-tarjeta {
        display: block !important;
        position: absolute !important;
        top: 10px !important;
        right: 12px !important;
        z-index: 25 !important;
    }

    .grid-vista-minimalista .menu-opciones-tarjeta .btn-menu-tarjeta {
        color: white !important;
        text-shadow: 0 1px 4px rgba(0,0,0,0.6);
        filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
    }

    /* Ubicación movida arriba, debajo del encabezado */
    .grid-vista-minimalista .minimalista-ubicacion-top {
        display: flex !important;
        position: absolute !important;
        top: 52px !important;
        left: 12px !important;
        right: 70px !important;
        z-index: 18 !important;
        color: white !important;
        font-size: 0.78rem !important;
        text-shadow: 0 1px 6px rgba(0,0,0,0.8);
        align-items: center;
        gap: 4px;
    }

    .grid-vista-minimalista .minimalista-ubicacion-top i {
        color: white !important;
        font-size: 0.7rem;
    }

    /* Imagen/video a pantalla completa */
    .grid-vista-minimalista .property-image-showcase {
        height: 100% !important;
        flex: 1;
        border-radius: 0 !important;
        position: relative;
        overflow: hidden !important;
    }

    .grid-vista-minimalista .property-image-showcase .property-main-image,
    .grid-vista-minimalista .property-image-showcase video {
        display: block;
        height: 100% !important;
        width: 100% !important;
        object-fit: cover !important;
        border-radius: 0 !important;
    }

    .grid-vista-minimalista .property-image-showcase .carousel,
    .grid-vista-minimalista .property-image-showcase .carousel-inner,
    .grid-vista-minimalista .property-image-showcase .carousel-item,
    .grid-vista-minimalista .property-image-showcase .single-media-container,
    .grid-vista-minimalista .property-image-showcase .video-container-card {
        height: 100% !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        position: relative;
    }

    /* Ocultar location-info y description originales del body (se reposicionan) */
    .grid-vista-minimalista .property-location-info {
        display: none !important;
    }

    /* Specs overlay - abajo, dentro del body */
    .grid-vista-minimalista .specs-overlay-imagen {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        padding: 0 !important;
        background: none !important;
        gap: 6px !important;
        z-index: 15 !important;
        margin-bottom: 4px !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .grid-vista-minimalista .specs-overlay-imagen .spec-chip {
        background: rgba(255,255,255,0.15) !important;
        backdrop-filter: blur(4px) !important;
        color: white !important;
        border-radius: 12px !important;
        padding: 3px 8px !important;
        font-size: 0.7rem !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
    }

    /* Body de la tarjeta - abajo sobre la imagen */
    .grid-vista-minimalista .property-showcase-body {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 60px !important;
        z-index: 10 !important;
        background: none !important;
        padding: 12px !important;
        pointer-events: auto;
        overflow: visible !important;
        max-height: none !important;
    }

    .grid-vista-minimalista .property-price-section .price-text {
        color: white !important;
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        text-shadow: 0 2px 8px rgba(0,0,0,0.8), 0 1px 3px rgba(0,0,0,0.9);
    }

    .grid-vista-minimalista .property-price-section .deposit-text,
    .grid-vista-minimalista .property-price-section .area-text {
        color: white !important;
        text-shadow: 0 1px 6px rgba(0,0,0,0.8);
    }

    /* Descripción visible en minimalista */
    .grid-vista-minimalista .property-description {
        color: white !important;
        font-size: 0.8rem !important;
    }

    .grid-vista-minimalista .property-description .description-text,
    .grid-vista-minimalista .property-description .description-simple,
    .grid-vista-minimalista .property-description .description-short,
    .grid-vista-minimalista .property-description .description-full {
        color: white !important;
        text-shadow: 0 1px 6px rgba(0,0,0,0.8);
    }

    .grid-vista-minimalista .ver-mas-btn {
        color: white !important;
        font-weight: 600;
        text-shadow: 0 1px 4px rgba(0,0,0,0.8);
    }

    /* Iconos laterales estilo Instagram */
    .grid-vista-minimalista .minimalista-acciones-lateral {
        display: flex !important;
    }

    /* Badge de tipo sobre la imagen */
    .grid-vista-minimalista .property-badges-container {
        display: flex !important;
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        left: auto !important;
        z-index: 15 !important;
    }

    .grid-vista-minimalista .property-badges-container .property-badge-combined {
        background: rgba(0,0,0,0.4) !important;
        backdrop-filter: blur(4px) !important;
        border: none !important;
        color: white !important;
        text-shadow: none !important;
    }

    .grid-vista-minimalista .property-badges-container .badge-action,
    .grid-vista-minimalista .property-badges-container .badge-type,
    .grid-vista-minimalista .property-badges-container .badge-separator {
        color: white !important;
    }

    /* Dots indicadores del carousel (estilo Instagram) */
    .grid-vista-minimalista .minimalista-carousel-dots {
        display: flex !important;
        justify-content: center;
        align-items: center;
        gap: 5px;
        padding: 4px 0;
        margin-bottom: 6px;
    }

    .grid-vista-minimalista .minimalista-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255,255,255,0.4);
        transition: all 0.3s ease;
        flex-shrink: 0;
    }

    .grid-vista-minimalista .minimalista-dot.active {
        background: white;
        width: 7px;
        height: 7px;
    }

}

/* Iconos laterales tipo Instagram/TikTok (solo minimalista móvil) */
.minimalista-acciones-lateral {
    display: flex;
    position: absolute;
    right: 8px;
    bottom: 60px;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    z-index: 20;
    pointer-events: auto;
}

.minimalista-accion-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: white;
    text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}

.minimalista-accion-btn i {
    font-size: 1.5rem;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
}

.minimalista-accion-btn span {
    font-size: 0.65rem;
    font-weight: 600;
    opacity: 0.9;
}

.minimalista-accion-btn.activo i {
    color: #ff3b5c;
}

/* Botón para expandir descripción en minimalista */
.minimalista-expandir-info {
    display: none;
    position: absolute;
    bottom: 8px;
    right: 65px;
    left: 12px;
    z-index: 15;
    background: none;
    border: none;
    color: white;
    font-size: 0.75rem;
    text-align: left;
    padding: 4px 0;
    cursor: pointer;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

@media (max-width: 767.98px) {
    .grid-vista-minimalista .minimalista-expandir-info {
        display: block;
    }
}

/* Mantener acciones visibles en minimalista también en escritorio */
.grid-vista-minimalista .minimalista-acciones-lateral {
    display: flex !important;
}

/* Flecha para mostrar navbar en minimalista (solo cuando navbar está oculto) */
.minimalista-btn-navbar {
    cursor: pointer;
    opacity: 1 !important;
    visibility: visible !important;
}

html.minimalista-scroll-activo.minimalista-navbar-oculto .grid-vista-minimalista > [class*="col-"] > .minimalista-btn-navbar {
    display: inline-flex;
}

html.minimalista-scroll-activo .grid-vista-minimalista > [class*="col-"] > .minimalista-btn-navbar {
    display: inline-flex;
}

.minimalista-btn-navbar:active {
    background: rgba(13, 18, 28, 0.96);
}
