/* Panel lateral de menú: clases e ID originales. */
#panelCategorias.panel-categorias { position:fixed; inset:0; z-index:3000; display:flex; background:rgba(15,30,49,.48); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s,visibility .25s; }
#panelCategorias.active { opacity:1; visibility:visible; pointer-events:auto; }
#panelCategorias .panel-categorias-content { position:absolute; top:12px; bottom:12px; left:12px; display:flex; flex-direction:column; width:450px; max-width:calc(100% - 24px); height:calc(100% - 24px); background:#fff; color:#244d7c; border:1px solid #e1e7ef; border-radius:18px; box-shadow:0 12px 40px #0f1e3133; overflow:hidden; transform:translateX(calc(-100% - 24px)); transition:transform .25s ease; }
#panelCategorias.active .panel-categorias-content { transform:translateX(0); }
#panelCategorias .panel-categorias-header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-shrink:0; min-height:76px; padding:18px 20px; border-bottom:1px solid #e8edf4; background:#f7f9fc; }
#panelCategorias .panel-categorias-header h5 { display:flex; align-items:center; gap:10px; margin:0; color:#244d7c; font-size:1.15rem; font-weight:600; }
#panelCategorias .panel-categorias-header h5 > i { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; color:#e66a00; background:#fff0e1; }
#panelCategorias .cerrar-panel-btn { display:flex; align-items:center; justify-content:center; flex:0 0 36px; height:36px; border:1px solid #e1e7ef; border-radius:10px; background:#fff; color:#667589; font-size:1.5rem; line-height:1; cursor:pointer; }
#panelCategorias .cerrar-panel-btn:hover { border-color:#ffb36e; color:#e66a00; background:#fff5e9; }
#panelCategorias .panel-categorias-back { flex-shrink:0; padding:12px 18px; border-bottom:1px solid #e8edf4; background:#fff; }
#panelCategorias .panel-categorias-back.d-none { display:none; }
#panelCategorias .btn-volver { display:flex; align-items:center; gap:8px; min-height:36px; border:0; border-radius:8px; padding:6px 10px; background:#eef3fa; color:#244d7c; font-size:.85rem; font-weight:600; cursor:pointer; }
#panelCategorias .btn-volver:hover { background:#fff0e1; color:#e66a00; }
#panelCategorias .panel-categorias-lista { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; list-style:none; margin:0; padding:12px; }
#panelCategorias .panel-categorias-lista li { list-style:none; margin:0 0 8px; padding:0; border:1px solid #e8edf4; border-radius:10px; overflow:hidden; }
#panelCategorias .panel-item-row { display:flex; align-items:stretch; width:100%; min-height:50px; }
#panelCategorias .panel-item-main { flex:1; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border:0; background:#fbfcfe; color:#244d7c; text-align:left; cursor:pointer; }
#panelCategorias .panel-item-main span { flex:1; min-width:0; font-size:.82rem; line-height:1.5; font-weight:500; overflow-wrap:anywhere; }
#panelCategorias .panel-item-main i { flex-shrink:0; font-size:.85rem; color:#8190a2; }
#panelCategorias .panel-item-go { display:flex; align-items:center; justify-content:center; flex:0 0 46px; width:46px; border:0; border-left:1px solid #e8edf4; background:#fff; cursor:pointer; }
#panelCategorias .panel-item-go i { color:#e66a00; font-size:1rem; }
#panelCategorias :is(.panel-item-main,.panel-item-go):hover { background:#fff5e9; }
#panelCategorias :is(button,a):focus-visible { outline:2px solid #ff7900; outline-offset:-2px; }
@media(prefers-reduced-motion:reduce) { #panelCategorias, #panelCategorias .panel-categorias-content { transition:none; } }

/* Evita que los accesos flotantes tapen las acciones del panel abierto. */
body:has(#panelCategorias.active) :is(.btn-whatsapp,.btn-scroll-top) { visibility:hidden; pointer-events:none; }
