/* Buscador Lateral El Tejado Solar */
:root{
	--bls-primario:var(--rmc-primario,#0D4F9C);
	--bls-acento:var(--rmc-acento,#F28C18);
	--bls-texto:var(--rmc-texto,#16212E);
	--bls-fondo:var(--rmc-fondo,#F3F6FA);
	--bls-linea:var(--rmc-linea,#E2E7EE);
	--bls-gris:var(--rmc-gris,#5B6573);
	--bls-fuente:var(--rmc-fuente,inherit);
	--bls-sombra:0 20px 44px -14px rgba(16,33,56,.26);
}

[data-bls-mover]{visibility:hidden;position:absolute;left:-9999px;animation:bls-revelar 0s linear 2s forwards}
@keyframes bls-revelar{to{visibility:visible;position:static;left:auto}}
.bls-aviso{margin:16px 0;padding:14px 18px;border:1px solid #F0C36D;border-left:4px solid #F28C18;border-radius:0 8px 8px 0;background:#FFF9EC;font-size:14px;line-height:1.5;color:#5A4412}
.bls-aviso a{color:#0D4F9C;font-weight:700}
.bls-aviso small{color:#8A7550}
.bls{font-family:var(--bls-fuente);color:var(--bls-texto);font-size:15px;line-height:1.45;margin:0 0 20px;text-align:left}
.bls *{box-sizing:border-box}
.bls button{font:inherit;color:inherit;background:none;border:0;margin:0;padding:0;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0}
.bls button::after{display:none!important}
.bls .bls-ico{width:20px;height:20px;flex:none;display:block}
.bls :focus-visible{outline:2px solid var(--bls-acento);outline-offset:2px;border-radius:6px}

/* Barra: botón de filtros + etiquetas activas */
.bls-barra{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bls .bls-abrir{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px;border-radius:10px;background:var(--bls-primario);color:#fff;font-weight:700}
.bls .bls-abrir:hover{filter:brightness(.92)}
.bls-n-activos[hidden]{display:none}
.bls-n-activos{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--bls-acento);color:#16212E;font-size:12px;font-weight:800;line-height:1}
.bls-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bls .bls-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--bls-linea);border-radius:999px;background:#fff;font-size:14px;font-weight:600}
.bls .bls-chip span{color:var(--bls-gris);font-size:16px;line-height:1}
.bls .bls-chip:hover{border-color:var(--bls-primario);color:var(--bls-primario)}
.bls .bls-chip-limpiar{background:var(--bls-fondo);font-weight:700;color:var(--bls-primario)}

.bls-estado{margin:14px 0 0!important;font-size:15px;color:var(--bls-gris)}
.bls-mas{margin-top:22px;text-align:center}
.bls .bls-mas-btn{display:inline-flex;align-items:center;height:46px;padding:0 26px;border:1px solid var(--bls-primario);border-radius:10px;color:var(--bls-primario);font-weight:700}
.bls .bls-mas-btn:hover{background:var(--bls-primario);color:#fff}

/* Panel lateral */
.bls-panel{position:fixed;inset:0;z-index:100100}
.bls-panel[hidden]{display:none}
.bls-panel-fondo{position:absolute;inset:0;background:rgba(10,22,40,.5);opacity:0;transition:opacity .22s ease}
.bls-panel-caja{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:min(90vw,360px);background:#fff;transform:translateX(-100%);transition:transform .22s ease}
.bls-panel.bls-visible .bls-panel-fondo{opacity:1}
.bls-panel.bls-visible .bls-panel-caja{transform:none}
body.admin-bar .bls-panel-caja{top:32px}
@media (max-width:782px){body.admin-bar .bls-panel-caja{top:46px}}
.bls-panel-cab{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 10px 12px 20px;border-bottom:1px solid var(--bls-linea);font-size:16px}
.bls .bls-cerrar{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;color:var(--bls-gris)}
.bls .bls-cerrar:hover{background:var(--bls-fondo);color:var(--bls-texto)}
.bls-panel-cuerpo{flex:1;overflow:auto;padding:4px 20px 20px;-webkit-overflow-scrolling:touch}
.bls-panel-pie{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--bls-linea);background:#fff}
.bls .bls-limpiar{flex:1;height:46px;border:1px solid var(--bls-linea);border-radius:10px;font-weight:600;color:var(--bls-gris)}
.bls .bls-limpiar:hover{border-color:var(--bls-primario);color:var(--bls-primario)}
.bls .bls-ver{flex:1;height:46px;border-radius:10px;background:var(--bls-acento);color:#16212E;font-weight:800}
.bls .bls-ver:hover{filter:brightness(.94)}

/* Grupos de filtros */
.bls-grupo{border-bottom:1px solid var(--bls-linea)}
.bls-grupo[hidden]{display:none}
.bls .bls-grupo-cab{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;font-size:15px;font-weight:700;text-align:left}
.bls-grupo-cab .bls-ico{transition:transform .2s ease;color:var(--bls-gris)}
.bls .bls-grupo-cab[aria-expanded="false"] .bls-ico{transform:rotate(-90deg)}
.bls-grupo-cuerpo{padding:0 0 12px}
.bls-grupo-cuerpo[hidden]{display:none}
.bls-grupo:not(.bls-abierto) .bls-op-extra{display:none}
.bls-op-fuera{display:none!important}
.bls .bls-buscar-op{width:100%;height:36px;margin:0 0 8px;padding:0 12px;border:1px solid var(--bls-linea);border-radius:8px;background:#fff;font:inherit;font-size:14px;color:var(--bls-texto);-webkit-appearance:none;appearance:none}
.bls .bls-buscar-op:focus{outline:none;border-color:var(--bls-primario);box-shadow:0 0 0 3px color-mix(in srgb,var(--bls-primario) 12%,transparent)}
.bls .bls-ver-todas{margin-top:6px;padding:6px 0;font-size:14px;font-weight:700;color:var(--bls-primario)}
.bls .bls-ver-todas:hover{text-decoration:underline}
.bls-op{display:flex;align-items:center;gap:10px;padding:7px 8px;margin:0 -8px;border-radius:8px;font-size:14px;cursor:pointer}
.bls-op:hover{background:var(--bls-fondo)}
.bls-op input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--bls-primario)}
.bls-op-txt{flex:1;min-width:0}
.bls-op-n{font-size:12px;font-weight:600;color:var(--bls-gris)}

html.bls-sin-scroll,html.bls-sin-scroll body{overflow:hidden!important}

/* Resultados propios cuando la página no tiene lista de productos */
.bls-resultados[hidden]{display:none}
.bls-resultados{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:20px 0 0;padding:0;list-style:none}
.bls-resultados li.product{width:auto!important;max-width:none!important;margin:0!important;float:none!important;list-style:none}

@media (max-width:600px){
	.bls .bls-abrir{width:100%;justify-content:center}
	.bls-resultados{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media (prefers-reduced-motion:reduce){
	.bls-panel *{transition:none!important}
}
