/* Costa Sustentable: componentes visuales (diseño Stitch). Todo scopeado bajo .vlc-cs. */
.vlc-cs{--cs-fondo:#f8f9ff;--cs-card:#fff;--cs-azul:#001142;--cs-azul2:#00236f;--cs-celeste:#0060ab;--cs-suave:#eff4ff;--cs-suave2:#e6eeff;--cs-suave3:#dce9ff;--cs-texto:#0d1c2e;--cs-muted:#444651;--cs-tenue:#5c5e6a;--cs-linea:#c5c5d3;--cs-terra:#e2725b;--cs-terra-osc:#442100;--cs-terra-txt:#2a1205;width:100%;background:var(--cs-fondo);color:var(--cs-texto);font-family:inherit;line-height:1.5;overflow-x:hidden;overflow-x:clip}
.vlc-cs *,.vlc-cs *::before,.vlc-cs *::after{box-sizing:border-box}
.vlc-cs .vlc-cs-contenedor{display:flex;flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;padding:24px 32px 48px}
.vlc-cs h1,.vlc-cs h2,.vlc-cs h3{margin:0;padding:0;color:var(--cs-azul);font-family:inherit;line-height:1.25}
.vlc-cs h2{font-size:24px;line-height:32px;font-weight:700}
.vlc-cs h3{font-size:18px;line-height:26px;font-weight:700;overflow-wrap:anywhere}
.vlc-cs p{margin:0;padding:0}
.vlc-cs ul.vlc-cs-categorias,.vlc-cs ul.vlc-cs-resultados,.vlc-cs ul.vlc-cs-chips,.vlc-cs ul.vlc-cs-sellos{list-style:none!important;margin:0;padding:0!important}
.vlc-cs ul.vlc-cs-categorias>li,.vlc-cs ul.vlc-cs-resultados>li,.vlc-cs ul.vlc-cs-chips>li,.vlc-cs ul.vlc-cs-sellos>li{list-style:none!important}
.vlc-cs a:focus-visible,.vlc-cs button:focus-visible{outline:3px solid var(--cs-celeste);outline-offset:2px}
.vlc-cs .vlc-cs-icono{flex-shrink:0;width:18px;height:18px}
.vlc-cs .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Breadcrumb */
.vlc-cs .vlc-cs-migas{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;letter-spacing:.04em;color:var(--cs-muted)}
.vlc-cs .vlc-cs-migas a{color:var(--cs-muted);text-decoration:none}
.vlc-cs .vlc-cs-migas a:hover{color:var(--cs-azul);text-decoration:underline}
.vlc-cs .vlc-cs-migas .vlc-cs-icono{width:14px;height:14px;color:var(--cs-linea)}
.vlc-cs .vlc-cs-migas span[aria-current]{color:var(--cs-azul);font-weight:600;overflow-wrap:anywhere}

/* Base de tarjetas y secciones */
.vlc-cs .vlc-cs-card{background:var(--cs-card);border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(13,28,46,.08)}
.vlc-cs .vlc-cs-seccion{display:flex;flex-direction:column;gap:16px}
.vlc-cs .vlc-cs-seccion-cabecera{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px}
.vlc-cs .vlc-cs-subtitulo{margin-top:-8px;color:var(--cs-muted)}
.vlc-cs .vlc-cs-seccion-cabecera .vlc-cs-subtitulo{margin-top:4px}
.vlc-cs .vlc-cs-sobretitulo{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#757682}
.vlc-cs .vlc-cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.vlc-cs .vlc-cs-grid--1{grid-template-columns:1fr}
.vlc-cs .vlc-cs-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.vlc-cs .vlc-cs-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.vlc-cs .vlc-cs-lista{display:flex;flex-direction:column;gap:12px}
.vlc-cs .vlc-cs-prosa{color:var(--cs-muted);line-height:1.6}
.vlc-cs .vlc-cs-prosa>*+*{margin-top:10px}
.vlc-cs .vlc-cs-prosa ul,.vlc-cs .vlc-cs-prosa ol{margin:0;padding-left:20px}

/* Chips, sellos y estados (siempre con texto, nunca solo color) */
.vlc-cs .vlc-cs-chips{display:flex;flex-wrap:wrap;gap:8px}
.vlc-cs .vlc-cs-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--cs-suave2);color:var(--cs-azul);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.03em}
.vlc-cs .vlc-cs-chip .vlc-cs-icono{width:14px;height:14px}
.vlc-cs .vlc-cs-chip--verificado{background:#e3f4ea;color:#17663f}
.vlc-cs .vlc-cs-chip--suave{background:var(--cs-suave);color:var(--cs-muted);font-weight:500;letter-spacing:0}
.vlc-cs .vlc-cs-materiales{display:flex;flex-direction:column;gap:6px}
.vlc-cs .vlc-cs-chip--ambar{background:#fff1cc;color:#7a5200}
.vlc-cs .vlc-cs-sellos{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.vlc-cs .vlc-cs-sello{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border-radius:10px;font-size:14px;font-weight:600}
.vlc-cs .vlc-cs-sello--verde{background:#e3f4ea;color:#17663f}
.vlc-cs .vlc-cs-sello--azul{background:var(--cs-suave3);color:var(--cs-azul2)}
.vlc-cs .vlc-cs-sello--ambar{background:#fff1cc;color:#7a5200}
.vlc-cs .vlc-cs-estado{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;font-size:12px;line-height:16px;font-weight:600}
.vlc-cs .vlc-cs-estado-punto{width:8px;height:8px;border-radius:50%;background:currentColor}
.vlc-cs .vlc-cs-estado--activo{background:#e3f4ea;color:#17663f}
.vlc-cs .vlc-cs-estado--temporal{background:#fff1cc;color:#7a5200}
.vlc-cs .vlc-cs-estado--cerrado{background:#ffe4e1;color:#93000a}

/* Avisos */
.vlc-cs .vlc-cs-aviso{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-left:4px solid #d5a000;border-radius:10px;background:#fff7df;color:#4d3800;font-weight:500}
.vlc-cs .vlc-cs-aviso .vlc-cs-icono{margin-top:2px;color:#9a6b00}
.vlc-cs .vlc-cs-nota{display:flex;align-items:flex-start;gap:6px;font-size:14px;line-height:20px;color:var(--cs-tenue)}
.vlc-cs .vlc-cs-nota .vlc-cs-icono{width:16px;height:16px;margin-top:2px}
.vlc-cs .vlc-cs-sin-dato{color:var(--cs-muted);font-style:italic}

/* Botones y enlaces */
.vlc-cs .vlc-cs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 22px;border:0;border-radius:12px;font:inherit;font-size:14px;line-height:20px;font-weight:700;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background-color .15s,filter .15s}
.vlc-cs .vlc-cs-btn--chico{min-height:38px;padding:8px 14px;font-size:13px}
.vlc-cs .vlc-cs-btn--primario{background:var(--cs-azul);color:#fff}
.vlc-cs .vlc-cs-btn--primario:hover{background:var(--cs-azul2);color:#fff}
.vlc-cs .vlc-cs-btn--secundario{background:var(--cs-suave);color:var(--cs-azul)}
.vlc-cs .vlc-cs-btn--secundario:hover{background:var(--cs-suave2);color:var(--cs-azul)}
.vlc-cs .vlc-cs-enlace{display:inline-flex;align-items:center;gap:6px;color:var(--cs-celeste);font-size:14px;font-weight:600;text-decoration:none}
.vlc-cs .vlc-cs-enlace:hover{color:var(--cs-azul);text-decoration:underline}
.vlc-cs .vlc-cs-acciones{display:flex;flex-wrap:wrap;gap:12px}

/* Hero de ficha */
.vlc-cs .vlc-cs-hero{position:relative;display:flex;flex-direction:column;gap:16px;padding:40px;overflow:hidden}
.vlc-cs .vlc-cs-hero::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:rgba(211,227,255,.6);filter:blur(48px);pointer-events:none}
.vlc-cs .vlc-cs-hero>*{position:relative}
.vlc-cs .vlc-cs-titulo{font-size:40px;line-height:48px;font-weight:800;letter-spacing:-.015em;overflow-wrap:anywhere}
.vlc-cs .vlc-cs-bajada{max-width:768px;font-size:18px;line-height:28px;color:var(--cs-muted)}
.vlc-cs .vlc-cs-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-top:4px;font-size:14px;color:var(--cs-muted)}
.vlc-cs .vlc-cs-meta-item{display:inline-flex;align-items:center;gap:6px}
.vlc-cs .vlc-cs-meta-item .vlc-cs-icono{width:16px;height:16px;color:#757682}

/* Pasos: qué hacer / cómo prepararlo / qué no hacer */
.vlc-cs .vlc-cs-paso{display:flex;flex-direction:column;gap:12px}
.vlc-cs .vlc-cs-paso-icono{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--cs-suave3);color:var(--cs-azul)}
.vlc-cs .vlc-cs-paso-icono .vlc-cs-icono{width:22px;height:22px}
.vlc-cs .vlc-cs-paso--ok{border-top:4px solid #2f8f5b}
.vlc-cs .vlc-cs-paso--ok .vlc-cs-paso-icono{background:#e3f4ea;color:#17663f}
.vlc-cs .vlc-cs-paso--info{border-top:4px solid var(--cs-celeste)}
.vlc-cs .vlc-cs-paso--no{border-top:4px solid #ba1a1a}
.vlc-cs .vlc-cs-paso--no .vlc-cs-paso-icono{background:#ffe4e1;color:#93000a}

/* Tarjetas de punto / residuo */
.vlc-cs .vlc-cs-punto-card,.vlc-cs .vlc-cs-residuo-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.vlc-cs .vlc-cs-residuo-card p,.vlc-cs .vlc-cs-punto-card p{font-size:14px;color:var(--cs-muted)}
.vlc-cs .vlc-cs-residuo-card .vlc-cs-sobretitulo{margin-bottom:-8px}
.vlc-cs .vlc-cs-lugar{display:flex;align-items:flex-start;gap:6px}
.vlc-cs .vlc-cs-lugar .vlc-cs-icono{width:16px;height:16px;margin-top:2px;color:var(--cs-azul)}
.vlc-cs .vlc-cs-horario{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;background:var(--cs-suave)}
.vlc-cs .vlc-cs-horario p{color:var(--cs-texto)}
.vlc-cs .vlc-cs-horario .vlc-cs-icono{width:14px;height:14px}
.vlc-cs .vlc-cs-card-acciones{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:4px}
.vlc-cs .vlc-cs-residuo-card .vlc-cs-enlace{margin-top:auto}

/* Estado vacío y trámite */
.vlc-cs .vlc-cs-vacio{display:flex;flex-wrap:wrap;align-items:center;gap:16px;border:1px dashed var(--cs-linea);box-shadow:none;background:var(--cs-suave)}
.vlc-cs .vlc-cs-vacio>div{flex:1 1 260px;display:flex;flex-direction:column;gap:4px;color:var(--cs-muted)}
.vlc-cs .vlc-cs-vacio strong{color:var(--cs-texto)}
.vlc-cs .vlc-cs-vacio .vlc-cs-btn--secundario{background:#fff;border:1px solid var(--cs-linea)}
.vlc-cs .vlc-cs-vacio-icono{display:inline-flex;color:var(--cs-celeste)}
.vlc-cs .vlc-cs-vacio-icono .vlc-cs-icono{width:28px;height:28px}
.vlc-cs .vlc-cs-tramite{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.vlc-cs .vlc-cs-tramite-texto{flex:1 1 260px;display:flex;flex-direction:column;gap:4px}
.vlc-cs .vlc-cs-tramite-texto p{font-size:14px;color:var(--cs-muted)}

/* Ubicación + mapa (55/45) */
.vlc-cs .vlc-cs-ubicacion{display:grid;grid-template-columns:1fr;gap:24px;align-items:stretch}
.vlc-cs .vlc-cs-ubicacion--mapa{grid-template-columns:minmax(0,11fr) minmax(0,9fr)}
.vlc-cs .vlc-cs-ubicacion-datos{display:flex;flex-direction:column;gap:16px}
.vlc-cs .vlc-cs-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0}
.vlc-cs .vlc-cs-datos>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;background:var(--cs-suave)}
.vlc-cs .vlc-cs-datos dt{font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:#757682}
.vlc-cs .vlc-cs-datos dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.vlc-cs .vlc-cs-mapa{padding:12px}
.vlc-cs .vlc-cs-mapa .vlc-sust-mapa{min-height:320px;border-radius:12px}

/* Bloques de texto (horario, antes de ir) */
.vlc-cs .vlc-cs-bloque{display:flex;flex-direction:column;gap:16px}
.vlc-cs .vlc-cs-bloque-cabecera{display:flex;align-items:center;gap:14px}

/* Información y fuentes */
.vlc-cs .vlc-cs-fuentes{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:20px 24px;border-radius:12px;background:var(--cs-suave)}
.vlc-cs .vlc-cs-fuentes-texto{flex:1 1 320px;display:flex;flex-direction:column;gap:4px}
.vlc-cs .vlc-cs-fuentes h2{font-size:16px;line-height:24px}
.vlc-cs .vlc-cs-fuentes p{font-size:14px;line-height:20px;color:var(--cs-tenue)}

/* La Costense (terracota) */
.vlc-cs .vlc-cs-costense{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;padding:32px;border-radius:16px;background:var(--cs-terra);color:var(--cs-terra-txt);overflow:hidden}
.vlc-cs .vlc-cs-costense::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,220,195,.35);filter:blur(30px);pointer-events:none}
.vlc-cs .vlc-cs-costense>*{position:relative}
.vlc-cs .vlc-cs-costense-texto{flex:1 1 420px;display:flex;flex-direction:column;gap:8px}
.vlc-cs .vlc-cs-costense h2{color:var(--cs-terra-txt)}
.vlc-cs .vlc-cs-costense .vlc-cs-sobretitulo{color:var(--cs-terra-txt)}
.vlc-cs .vlc-cs-costense-sugerencias{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}
.vlc-cs .vlc-cs-sugerencia{padding:8px 14px;border:1px solid rgba(42,18,5,.25);border-radius:999px;background:rgba(255,255,255,.55);color:var(--cs-terra-txt);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-align:left}
.vlc-cs .vlc-cs-sugerencia:hover{background:#fff}
.vlc-cs .vlc-cs-btn--costense{flex-shrink:0;background:var(--cs-terra-osc);color:#ffdcc3}
.vlc-cs .vlc-cs-btn--costense:hover{filter:brightness(1.25);background:var(--cs-terra-osc);color:#ffdcc3}

/* Páginas (/sustentable/, /reciclaje/, /puntos-verdes/) */
.vlc-cs.vlc-cs-componente{width:auto;background:transparent;overflow:visible}
/* overflow-x:clip (no hidden) en .vlc-cs: hidden crea un contenedor de scroll y anula el mapa sticky. */
.vlc-cs .vlc-cs-hero--pagina{gap:14px;background:linear-gradient(135deg,#fff 55%,var(--cs-suave) 100%)}
.vlc-cs .vlc-cs-hero--pagina>.vlc-cs-chip{align-self:flex-start;text-transform:uppercase;letter-spacing:.08em}
.vlc-cs .vlc-cs-hero-extra{display:flex;flex-direction:column;gap:16px;padding-top:6px}
.vlc-cs .vlc-cs-hero-extra>a{align-self:flex-start}
.vlc-cs .vlc-cs-hero-extra:has(>a){flex-direction:row;flex-wrap:wrap;gap:12px}
.vlc-cs .vlc-cs-centrado{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.vlc-cs .vlc-cs-buscar-bloque{display:flex;flex-direction:column;gap:18px;padding:32px}
.vlc-cs .vlc-cs-buscar-bloque .vlc-cs-buscador{width:100%;max-width:760px;margin:0 auto}
.vlc-cs .vlc-cs-habituales{display:flex;flex-direction:column;gap:10px}
.vlc-cs .vlc-cs-buscar-bloque .vlc-cs-habituales{width:100%;max-width:860px;margin:0 auto}
.vlc-cs .vlc-cs-sugerencia--azul{display:inline-flex;align-items:center;gap:6px;border-color:var(--cs-linea);background:#fff;color:var(--cs-azul);text-decoration:none}
.vlc-cs .vlc-cs-sugerencia--azul:hover{background:var(--cs-suave);color:var(--cs-azul)}
.vlc-cs .vlc-cs-sugerencia--azul .vlc-cs-icono{width:16px;height:16px;color:var(--cs-celeste)}

/* Buscador */
.vlc-cs .vlc-cs-buscador{display:flex;flex-direction:column;gap:12px}
.vlc-cs .vlc-cs-busqueda label{font-weight:600;color:var(--cs-azul)}
.vlc-cs .vlc-cs-busqueda-fila{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border:1px solid var(--cs-linea);border-radius:14px;background:#fff;box-shadow:0 1px 3px rgba(13,28,46,.06)}
.vlc-cs .vlc-cs-busqueda-fila:focus-within{border-color:var(--cs-celeste);box-shadow:0 0 0 3px rgba(0,96,171,.15)}
.vlc-cs .vlc-cs-busqueda-fila>.vlc-cs-icono{color:#757682}
.vlc-cs .vlc-cs-busqueda-fila input{flex:1;min-width:0;min-height:44px;padding:8px 4px;border:0;background:transparent;color:var(--cs-texto);font:inherit;font-size:16px;outline:none}
.vlc-cs .vlc-cs-btn--celeste{background:var(--cs-celeste);color:#fff}
.vlc-cs .vlc-cs-btn--celeste:hover{background:#004883;color:#fff}
.vlc-cs .vlc-cs-btn:disabled{opacity:.65;cursor:wait}
.vlc-cs .vlc-cs-estado-busqueda{font-size:14px;color:var(--cs-muted)}
.vlc-cs .vlc-cs-estado-busqueda:empty{display:none}
.vlc-cs .vlc-cs-resultados-zona{display:flex;flex-direction:column;gap:12px}
.vlc-cs .vlc-cs-resultados-zona:empty{display:none}
.vlc-cs .vlc-cs-resultados{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.vlc-cs .vlc-cs-resultado{display:flex;flex-direction:column;gap:8px;margin:0;padding:18px}
.vlc-cs .vlc-cs-resultado a{text-decoration:none}
.vlc-cs .vlc-cs-resultado a:hover h3{text-decoration:underline}
.vlc-cs .vlc-cs-resultado p{font-size:14px;color:var(--cs-muted)}
.vlc-cs .vlc-cs-resultado .vlc-cs-chip{align-self:flex-start}

/* Tres formas, próximamente, sigue creciendo */
.vlc-cs .vlc-cs-forma{display:flex;flex-direction:column;gap:10px}
.vlc-cs .vlc-cs-forma p{color:var(--cs-muted);font-size:15px}
.vlc-cs .vlc-cs-forma .vlc-cs-enlace{margin-top:auto}
.vlc-cs .vlc-cs-proximamente{display:flex;align-items:flex-start;gap:18px;border:1px dashed var(--cs-linea);box-shadow:none;background:transparent}
.vlc-cs .vlc-cs-proximamente>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.vlc-cs .vlc-cs-proximamente p{color:var(--cs-muted)}
.vlc-cs .vlc-cs-proximamente .vlc-cs-paso-icono{background:#e3f4ea;color:#17663f}
.vlc-cs .vlc-cs-creciendo{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;text-align:center}
.vlc-cs .vlc-cs-creciendo p{max-width:640px;color:var(--cs-muted)}
.vlc-cs .vlc-cs-creciendo .vlc-cs-chips{justify-content:center;margin:6px 0 0;padding:0;list-style:none}

/* Categorías */
.vlc-cs .vlc-cs-categorias{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.vlc-cs .vlc-cs-categorias li{margin:0}
.vlc-cs .vlc-cs-categoria{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;padding:18px;color:var(--cs-texto);text-decoration:none;transition:box-shadow .15s}
.vlc-cs .vlc-cs-categoria:hover{box-shadow:0 4px 14px rgba(13,28,46,.12)}
.vlc-cs .vlc-cs-categoria-nombre{font-weight:700;color:var(--cs-azul)}
.vlc-cs .vlc-cs-categoria-total{font-size:13px;color:var(--cs-muted)}

/* Filtros y listado de puntos */
.vlc-cs .vlc-cs-filtros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px;padding:20px}
.vlc-cs .vlc-cs-campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.vlc-cs .vlc-cs-campo label{font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:#757682}
.vlc-cs .vlc-cs-campo select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--cs-linea);border-radius:10px;background:#fff;color:var(--cs-texto);font:inherit}
.vlc-cs .vlc-cs-filtros-acciones{display:flex;align-items:center;gap:14px}
.vlc-cs .vlc-cs-conteo{font-size:14px;font-weight:600;color:var(--cs-muted)}
.vlc-cs .vlc-cs-lista-mapa{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,11fr);gap:24px;align-items:start}
.vlc-cs .vlc-cs-lista{display:flex;flex-direction:column;gap:14px}
.vlc-cs .vlc-cs-lista-mapa .vlc-cs-mapa{position:sticky;top:100px}
.vlc-cs .vlc-cs-lista .vlc-cs-punto-card{gap:8px;padding:18px}
.vlc-cs .vlc-cs-lista .vlc-cs-horario{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 10px}
.vlc-cs .vlc-cs-lista-mapa .vlc-sust-mapa{min-height:520px}
.vlc-cs .vlc-cs-paginacion{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;color:var(--cs-muted)}

@media (max-width:1023px){
    .vlc-cs .vlc-cs-grid,.vlc-cs .vlc-cs-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .vlc-cs .vlc-cs-grid--1{grid-template-columns:1fr}
    .vlc-cs .vlc-cs-ubicacion--mapa{grid-template-columns:1fr}
    .vlc-cs .vlc-cs-categorias{grid-template-columns:repeat(3,minmax(0,1fr))}
    .vlc-cs .vlc-cs-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}
    .vlc-cs .vlc-cs-lista-mapa{grid-template-columns:1fr}
    .vlc-cs .vlc-cs-lista-mapa .vlc-cs-mapa{position:static;order:-1}
    .vlc-cs .vlc-cs-lista-mapa .vlc-sust-mapa{min-height:340px}
}
@media (max-width:767px){
    .vlc-cs .vlc-cs-contenedor{gap:20px;padding:16px 16px 32px}
    .vlc-cs .vlc-cs-card,.vlc-cs .vlc-cs-hero{padding:20px}
    .vlc-cs .vlc-cs-titulo{font-size:30px;line-height:38px}
    .vlc-cs .vlc-cs-bajada{font-size:16px;line-height:24px}
    .vlc-cs h2{font-size:21px;line-height:28px}
    .vlc-cs .vlc-cs-grid,.vlc-cs .vlc-cs-grid--2,.vlc-cs .vlc-cs-grid--4{grid-template-columns:1fr}
    .vlc-cs .vlc-cs-acciones .vlc-cs-btn,.vlc-cs .vlc-cs-btn--costense{width:100%}
    .vlc-cs .vlc-cs-costense{padding:24px}
    .vlc-cs .vlc-cs-buscar-bloque{padding:20px}
    .vlc-cs .vlc-cs-categorias{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .vlc-cs .vlc-cs-categoria{padding:14px}
    .vlc-cs .vlc-cs-filtros{grid-template-columns:1fr}
    .vlc-cs .vlc-cs-filtros-acciones .vlc-cs-btn{flex:1}
    .vlc-cs .vlc-cs-hero-extra>a{width:100%}
    .vlc-cs .vlc-cs-busqueda-fila{padding-left:10px}
    .vlc-cs .vlc-cs-busqueda-fila .vlc-cs-btn{padding:10px 14px}
    /* Residuos aceptados en celular: dos columnas, nombre + enlace (la descripción sigue en la ficha del residuo). */
    .vlc-cs .vlc-cs-grid--compacta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .vlc-cs .vlc-cs-grid--compacta .vlc-cs-card{gap:8px;padding:14px;border-radius:12px}
    .vlc-cs .vlc-cs-grid--compacta .vlc-cs-paso-icono,.vlc-cs .vlc-cs-grid--compacta .vlc-cs-residuo-card p{display:none}
    .vlc-cs .vlc-cs-grid--compacta h3{font-size:15px;line-height:20px}
    .vlc-cs .vlc-cs-grid--compacta .vlc-cs-enlace{font-size:13px}
    .vlc-cs .vlc-cs-grid--compacta .vlc-cs-enlace .vlc-cs-icono{display:none}
}
