.vlc-dir-publico{--azul:#00236f;--azul2:#eff4ff;--coral:#ef5f4b;--texto:#1e293b;--muted:#64748b;--borde:#e2e8f0;color:var(--texto);font-family:inherit}.vlc-dir-filtros-titulo{margin:0 0 14px;color:var(--azul);font-size:20px;font-weight:800}.vlc-dir-filtros{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto auto;gap:12px;align-items:end;padding:22px;margin-bottom:24px;background:#fff;border:1px solid var(--borde);border-radius:18px;box-shadow:0 8px 28px rgba(0,35,111,.06)}.vlc-dir-filtros label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:var(--azul)}.vlc-dir-filtros select{width:100%;height:48px;padding:0 13px;border:1px solid #cfd9e6;border-radius:10px;background:#fff;color:var(--texto);font:inherit}.vlc-dir-filtros select:focus{outline:3px solid rgba(59,130,246,.16);border-color:#3b82f6}.vlc-dir-filtros button{height:48px;padding:0 22px;border:0;border-radius:10px;background:var(--azul);color:#fff;font-weight:800;cursor:pointer}.vlc-dir-filtros .vlc-dir-limpiar{height:48px;display:inline-flex;align-items:center;padding:0 8px;background:none;border:0;color:var(--muted);font-weight:700;text-decoration:none;font:inherit;cursor:pointer}.vlc-dir-resultados-wrap[aria-busy="true"]{opacity:.55;pointer-events:none;transition:opacity .15s ease}.vlc-dir-resultados-cabecera{margin:0 0 16px;color:var(--muted)}.vlc-dir-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.vlc-dir-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--borde);border-radius:17px;box-shadow:0 6px 20px rgba(0,35,111,.045);transition:transform .18s ease,box-shadow .18s ease}.vlc-dir-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,35,111,.10)}.vlc-dir-card-imagen{height:180px;display:flex;align-items:center;justify-content:center;background-color:#dce8f7;background-size:cover;background-position:center;text-decoration:none}.vlc-dir-card-imagen span{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#fff;color:var(--azul);font-size:32px;font-weight:800;box-shadow:0 6px 20px rgba(0,35,111,.10)}.vlc-dir-card-cuerpo{display:flex;flex:1;flex-direction:column;padding:20px}.vlc-dir-card-meta{min-height:20px;margin-bottom:7px;color:#3b82f6;font-size:13px;font-weight:700}.vlc-dir-card h2{margin:0 0 10px;font-size:21px;line-height:1.25}.vlc-dir-card h2 a{color:var(--azul);text-decoration:none}.vlc-dir-card p{margin:0 0 18px;color:var(--muted);line-height:1.55}.vlc-dir-card-pie{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #edf1f5}.vlc-dir-verificado{color:#0b8b61;font-size:13px;font-weight:800}.vlc-dir-ver{margin-left:auto;color:var(--coral);font-weight:800;text-decoration:none}.vlc-dir-vacio{padding:50px 24px;text-align:center;background:#fff;border:1px solid var(--borde);border-radius:17px}.vlc-dir-vacio h2{margin:0 0 8px;color:var(--azul)}.vlc-dir-vacio p{margin:0;color:var(--muted)}.vlc-dir-paginacion{display:flex;justify-content:center;gap:8px;margin-top:30px}.vlc-dir-paginacion .page-numbers{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--borde);border-radius:9px;background:#fff;color:var(--azul);font-weight:700;text-decoration:none}.vlc-dir-paginacion .current{background:var(--azul);color:#fff;border-color:var(--azul)}
@media(max-width:1100px){.vlc-dir-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}.vlc-dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.vlc-dir-filtros{grid-template-columns:1fr;padding:16px}.vlc-dir-filtros button,.vlc-dir-limpiar{width:100%;justify-content:center}
/* Carrusel horizontal en mobile: cada tarjeta ocupa ~68% del ancho para que se asome la
   siguiente y quede claro que hay que deslizar, en vez de la lista larga de una columna. */
.vlc-dir-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:6px;scrollbar-width:none}
.vlc-dir-grid::-webkit-scrollbar{display:none}
.vlc-dir-card{flex:0 0 68%;scroll-snap-align:start}
.vlc-dir-card-imagen{height:155px}.vlc-dir-card h2{font-size:19px}
/* Atributo carrusel="no" del shortcode: vuelve a la lista de una columna sin scroll horizontal. */
.vlc-dir-publico.es-sin-carrusel .vlc-dir-grid{display:grid;grid-template-columns:1fr;overflow-x:visible;scroll-snap-type:none;padding-bottom:0}
.vlc-dir-publico.es-sin-carrusel .vlc-dir-card{flex:initial}
}
.vlc-dir-card-resenas{color:#f2a51a;font-weight:700;margin:0 0 10px}.vlc-dir-card-resenas span{color:#617083;font-weight:400}
.vlc-dir-vacio-costense{margin-top:18px;display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border:0;border-radius:10px;background:var(--coral);color:#fff;font:inherit;font-weight:800;font-size:14px;cursor:pointer}.vlc-dir-vacio-costense svg{width:16px;height:16px;fill:#fff;flex:0 0 auto}.vlc-dir-vacio-costense:hover{opacity:.92}

/* V2 suma una columna sin alterar la adaptación a tablet y móvil. */
@media(min-width:1101px){.vlc-dir-filtros:has([name="vlc_categoria"]){grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto}}
.vlc-modalidades-v2 select{max-width:100%;min-height:40px;padding:6px 12px;border:1px solid #cfd9e6;border-radius:8px;background:#fff;font:inherit}
