/**
 * Estilos CSS para el Sistema de Filtro de Taxonomías
 * Archivo opcional que puedes incluir para mejorar la apariencia
 */


/* ============================================
   BLOQUES DE CONTENIDO - FRONTEND
   Solo se aplica cuando NO estamos en el editor de Elementor
   ============================================ */

/* Ocultar todos los bloques por defecto en frontend */
body:not(.elementor-editor-active) [class*="masb-visibility-"] {
    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Mostrar bloque de presentación por defecto en frontend */
body:not(.elementor-editor-active) .masb-visibility-presentacion {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Cuando un bloque está visible (tiene style inline) */
body:not(.elementor-editor-active) [class*="masb-visibility-"][style*="display: block"],
body:not(.elementor-editor-active) [class*="masb-visibility-"][style*="display: flex"],
body:not(.elementor-editor-active) [class*="masb-visibility-"][style*="display: grid"] {
    opacity: 1;
    transform: translateY(0);
}

/* ============================================
   BLOQUES DE CONTENIDO - EDITOR ELEMENTOR
   En el editor, todos los bloques son visibles para poder editarlos
   ============================================ */

body.elementor-editor-active [class*="masb-visibility-"],
body.elementor-editor-preview [class*="masb-visibility-"] {
    display: block !important;
    opacity: 1 !important;
    border: 2px dashed #93003c;
    position: relative;
}


/* ============================================
   ESTILOS BASE PARA BLOQUES (ambos modos)
   ============================================ */

[class*="masb-visibility-"] {
    padding: 2rem;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin-top: 1.5rem;
}

/* ============================================
   ANIMACIONES
   ============================================ */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(-10px);
    }
}

/* Aplicar animación cuando se muestra */
body:not(.elementor-editor-active) [class*="masb-visibility-"][style*="display: block"] {
    animation: fadeInUp 0.4s ease forwards;
}


/* ============================================
   ESTADOS DE CARGA (opcional)
   ============================================ */

/* Skeleton loader mientras carga contenido */
.masb-loading [class*="masb-visibility-"] {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Spinner de carga */
.masb-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(0, 0, 0, 0.1);
    border-top-color: #007bff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}



/* ============================================
   UTILIDADES
   ============================================ */

/* Ocultar en móvil */
@media (max-width: 768px) {
    .masb-hide-mobile {
        display: none !important;
    }
}

/* Ocultar en escritorio */
@media (min-width: 769px) {
    .masb-hide-desktop {
        display: none !important;
    }
}

