.elementor-130 .elementor-element.elementor-element-e05bda7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-130 .elementor-element.elementor-element-e05bda7.e-con{--flex-grow:0;--flex-shrink:0;}@media(max-width:767px){.elementor-130 .elementor-element.elementor-element-e05bda7{--padding-top:4px;--padding-bottom:4px;--padding-left:4px;--padding-right:4px;}}/* Start custom CSS for shortcode, class: .elementor-element-a59b847 *//* ==========================================
   LAYOUT Y FILTROS COMPACTOS
   ========================================== */
.nc-layout-container *, .nc-layout-container *::before, .nc-layout-container *::after { box-sizing: border-box; }
.nc-layout-container {
    display: flex; gap: 30px; align-items: flex-start;
    margin-top: 0 !important; padding-top: 20px !important;
    font-family: 'Poppins', sans-serif;
}
.nc-sidebar {
    width: 260px; flex-shrink: 0; background: #0b1120;
    padding: 25px 20px; border-radius: 15px; border: 1px solid rgba(255,255,255,0.05);
    position: sticky; top: 90px;
}
.nc-main-content { flex-grow: 1; min-width: 0; }
.f-title { font-size: 18px; font-weight: 800; color: white; margin: 0 0 20px; }
.f-section { margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.f-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #6b7280; margin-bottom: 12px; letter-spacing: 1px; }

/* Radio Buttons y Filtros */
.nc-radio-group, .nc-cat-list { display: flex; flex-direction: column; gap: 10px; }
.nc-radio-label, .nc-cat-item { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #B0B8C4; cursor: pointer; transition: 0.2s; }
.nc-radio-label input, .nc-cat-item input { display: none; }
.nc-radio-check, .nc-cat-dot { width: 16px; height: 16px; border: 2px solid #2E364F; border-radius: 50%; position: relative; transition: 0.2s; }
.nc-cat-dot { border: none; }

.nc-radio-label input:checked + .nc-radio-check { border-color: #FF6B00; }
.nc-radio-label input:checked + .nc-radio-check::after {
    content: ''; position: absolute; top: 3px; left: 3px;
    width: 6px; height: 6px; background: #FF6B00; border-radius: 50%;
}
.nc-radio-label input:checked ~ span { color: white; font-weight: 600; }
.nc-cat-item.is-active .nc-cat-name { color: white; font-weight: 600; }
.nc-cat-item.is-active .nc-cat-dot { transform: scale(1.3); box-shadow: 0 0 5px currentColor; }

.nc-input {
    width: 100%; background: #161b28; border: 1px solid rgba(255,255,255,0.08);
    color: white; padding: 10px; border-radius: 8px; font-size: 13px; outline: none;
}

/* ==========================================
   BUSCADOR HERO
   ========================================== */
.nc-search-hero { display: flex; gap: 10px; margin-bottom: 25px; align-items: center; }
.nc-search-wrap {
    flex: 1; display: flex; align-items: center; gap: 10px;
    background: #0b1120; border: 1px solid rgba(255,255,255,0.1);
    border-radius: 50px; padding: 8px 16px;
}
.nc-search-wrap:focus-within { border-color: #FF6B00; }
.nc-search-wrap input { background: transparent; border: none; color: white; width: 100%; outline: none; font-size: 15px; }
.nc-search-submit { background: #FF6B00; color: white; border: none; border-radius: 50px; padding: 8px 20px; font-weight: 700; cursor: pointer; }
.nc-btn-cercania { background: rgba(0,128,128,0.1); color: #00d4c8; border: 1px solid rgba(0,128,128,0.3); border-radius: 50px; padding: 10px 16px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 8px; }

/* ==========================================
   GRILLA UNIFORME ESTRICTA (BLINDADA)
   ========================================== */
.nc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
}

.nc-card-wrap {
    display: block;
    height: 100%; 
    text-decoration: none;
}

.nc-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #0b1120;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.nc-card-wrap:hover .nc-card { transform: translateY(-4px); border-color: #FF6B00; box-shadow: 0 10px 30px rgba(0,0,0,0.5); }

/* ==========================================
   IMAGEN DE LA TARJETA (Logo cubriendo 100%)
   ========================================== */
.nc-card-img {
    display: block;
    width: 100%;
    height: 180px; 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--cat-color, #111827); 
    position: relative;
    text-decoration: none;
}
.nc-card-initials { 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    font-size: 36px; font-weight: 800; color: rgba(255,255,255,0.9); 
}

/* Badges */
.nc-badge-open, .nc-badge-closed {
    position: absolute; top: 10px; right: 10px;
    padding: 4px 10px; border-radius: 50px;
    font-size: 11px; font-weight: 700;
    background: rgba(0,0,0,0.8);
    display: flex; align-items: center; gap: 5px;
    color: white;
    backdrop-filter: blur(4px);
    z-index: 2;
}
.nc-badge-open { color: #4ade80; border: 1px solid rgba(74,222,128,0.3); }
.nc-badge-closed { color: #f87171; border: 1px solid rgba(248,113,113,0.3); }
.nc-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; animation: blink 1.5s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} }

/* ==========================================
   INFO DE LA TARJETA Y BOTONES
   ========================================== */
.nc-card-info { padding: 15px; display: flex; flex-direction: column; flex-grow: 1; }
.nc-tags { display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap;}
.nc-tag-cat, .nc-pill-virtual, .nc-pill-presencial { font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 4px; text-transform: uppercase; }
.nc-pill-virtual { background: rgba(139,92,246,0.15); color: #a78bfa; border: 1px solid rgba(139,92,246,0.3); }
.nc-pill-presencial { background: rgba(0,128,128,0.15); color: #00d4c8; border: 1px solid rgba(0,128,128,0.3); }

.nc-card-title-link { text-decoration: none; }
.nc-card-title { color: white; font-size: 16px; font-weight: 700; margin: 0 0 10px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color 0.2s;}
.nc-card-title:hover { color: #FF6B00; }
.nc-card-loc { color: #9ca3af; font-size: 12px; margin-top: auto; display: flex; align-items: flex-start; gap: 5px;}
.nc-loc-text { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }

/* Botones */
.nc-card-actions { display: flex; gap: 10px; padding: 0 15px 15px; flex-shrink: 0; }
.nc-btn-wa, .nc-btn-tel { flex: 1; text-align: center; padding: 8px; border-radius: 8px; font-size: 12px; font-weight: 700; text-decoration: none; transition: 0.2s; }
.nc-btn-wa { background: rgba(37,211,102,0.15); color: #4ade80; border: 1px solid rgba(37,211,102,0.3); }
.nc-btn-wa:hover { background: rgba(37,211,102,0.3); color: white;}
.nc-btn-tel { background: rgba(255,255,255,0.05); color: #9ca3af; border: 1px solid rgba(255,255,255,0.1); }
.nc-btn-tel:hover { background: rgba(255,255,255,0.15); color: white; }

/* ==========================================
   PAGINACIÓN
   ========================================== */
.nc-pagination { margin-top: 30px; display: flex; justify-content: center; gap: 8px; }
.nc-page-btn { display: flex; align-items: center; justify-content: center; min-width: 35px; height: 35px; background: #0b1120; border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; color: white; text-decoration: none; font-weight: 600; font-size: 14px; transition: 0.2s; }
.nc-page-btn:hover, .nc-page-btn.active { background: #FF6B00; border-color: #FF6B00; color: white; }
.nc-empty { text-align: center; padding: 50px 20px; color: #9ca3af; grid-column: 1 / -1; }

/* ==========================================
   RESPONSIVO
   ========================================== */
@media (max-width: 900px) {
    .nc-layout-container { flex-direction: column; }
    .nc-sidebar { width: 100%; position: relative; top: 0; }
    .nc-search-hero { flex-direction: column; }
    .nc-search-wrap, .nc-btn-cercania { width: 100%; justify-content: center; }
}

/* MODO MÓVIL: 2 COLUMNAS PERFECTAS */
@media (max-width: 600px) {
    .nc-grid { 
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important; 
        gap: 10px !important;
    }
    
    /* Achicamos la imagen y las iniciales */
    .nc-card-img { height: 110px; }
    .nc-card-initials { font-size: 24px; }
    
    /* Badges de abierto/cerrado más pequeños */
    .nc-badge-open, .nc-badge-closed { top: 5px; right: 5px; padding: 3px 6px; font-size: 9px; }
    
    /* Textos e Info */
    .nc-card-info { padding: 10px; }
    .nc-tags { gap: 4px; margin-bottom: 8px; flex-wrap: wrap; }
    .nc-tag-cat, .nc-pill-virtual, .nc-pill-presencial { font-size: 8px; padding: 2px 5px; }
    .nc-card-title { font-size: 13px; margin-bottom: 6px; line-height: 1.15; }
    .nc-loc-text, .nc-card-dist { font-size: 10px; }
    .nc-card-loc { margin-bottom: 10px; }
    
    /* Apilamos los botones verticalmente para que quepan */
    .nc-card-actions { 
        padding: 0 10px 10px; 
        flex-direction: column; 
        gap: 6px; 
    }
    .nc-btn-wa, .nc-btn-tel { width: 100%; padding: 6px; font-size: 11px; }
}/* End custom CSS */