.category-listing-layout { display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start; }
.category-listing-content { min-width:0; }
@media(min-width:768px) {
    /* Allow the filter to stay pinned even when only one store is listed. */
    .category-listing-layout { min-height:100vh; }
    .category-listing-layout > .category-filter-sidebar {
        top:var(--category-filter-top,154px)!important;
        max-height:calc(100dvh - var(--category-filter-top,154px) - 20px);
        overscroll-behavior:contain;
    }
}
.category-filter-sidebar { position:sticky!important;top:154px!important;z-index:20;align-self:start;max-height:calc(100vh - 174px);overflow-y:auto;border:1px solid #dce3eb;border-radius:8px;background:#fff;box-shadow:0 4px 14px rgba(22,36,56,.04);scrollbar-width:thin;scrollbar-color:#a8adb4 transparent; }
.category-filter-drawer-header,.category-filter-trigger,.category-filter-backdrop { display:none; }
.category-filter-search { height:40px;display:flex;gap:8px;align-items:center;margin:0 14px 12px;padding:0 11px;border:1px solid #e3e8ee;border-radius:7px;color:#8793a4;background:#f7f9fb; }
.category-filter-search input { width:100%;min-width:0;border:0;outline:0;color:#23304a;background:transparent;font-size:13px; }
.category-filter-section { padding:16px; }
.category-filter-section h3 { margin:0 0 10px;color:#1f293b;font-size:13px;font-weight:700; }
.category-sort-filter label { min-height:29px;display:flex;gap:9px;align-items:center;color:#303a4b;font-size:13px;cursor:pointer; }
.category-sort-filter input { position:absolute;opacity:0;pointer-events:none; }
.category-sort-filter label>span { width:18px;height:18px;display:block;border:1.5px solid #89939f;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 4px #fff; }
.category-sort-filter input:checked+span { border-color:#323b48;background:#323b48; }
.category-filter-list { padding:0 8px 12px; }
.category-filter-list a { min-height:43px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 9px;border-radius:6px;color:#263247;text-decoration:none; }
.category-filter-list a:hover { background:#f7f9fb; }
.category-filter-list a.active { color:#ff5f00;background:#fff2e8; }
.category-filter-check { width:18px;height:18px;display:grid;place-items:center;border:1px solid #aeb7c3;border-radius:4px;color:transparent;background:#fff;font-size:9px; }
.category-filter-list a.active .category-filter-check { border-color:#ff6900;color:#fff;background:#ff6900; }
.category-filter-list strong { overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap; }
.category-filter-list small { min-width:24px;padding:2px 5px;border-radius:9px;color:#758297;background:#f0f3f7;text-align:center;font-size:10px; }
.category-filter-list a.active small { color:#ff5f00;background:#fff; }
.category-filter-empty { margin:0;padding:14px;color:#8793a4;text-align:center;font-size:12px; }
.category-filter-more { width:calc(100% - 32px);min-height:36px;display:flex;gap:8px;align-items:center;justify-content:center;margin:0 16px 14px;border:0;border-radius:6px;color:#4c596c;background:#f2f5f8;font-size:12px;font-weight:700;cursor:pointer; }
.category-filter-more:hover { color:#ff5f00;background:#fff2e8; }
.category-price-filter { padding-top:14px;border-top:1px solid #edf0f3; }
.category-price-filter>div { display:flex;gap:7px; }
.category-price-filter button { min-width:48px;height:32px;padding:0 12px;border:1px solid #cfd6de;border-radius:16px;color:#263247;background:#fff;font-size:14px;cursor:pointer; }
.category-price-filter button:hover,.category-price-filter button.active { border-color:#ff6900;color:#ff5f00;background:#fff2e8; }
.category-merchant-filter-empty { padding:42px 18px;color:#7f8b9c;text-align:center;background:#fff;border:1px dashed #d1d9e2;border-radius:8px;font-size:14px; }
.category-reference-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.category-reference-card { overflow:hidden;border:1px solid #dce3eb;border-radius:17px;background:#fff;box-shadow:0 4px 14px rgba(22,36,56,.05);transition:.2s; }
.category-reference-card:hover { transform:translateY(-3px);box-shadow:0 14px 30px rgba(22,36,56,.11); }
.category-reference-image { position:relative;height:190px;display:block;overflow:hidden;background:linear-gradient(135deg,#304269,#c35c18); }
.category-reference-image > img { width:100%;height:100%;object-fit:cover;transition:transform .25s; }
.category-reference-card:hover .category-reference-image > img { transform:scale(1.035); }
.category-reference-placeholder { width:100%;height:100%;display:grid;color:#fff;place-items:center;font-size:45px; }
.category-reference-image .rating,.category-reference-image .delivery-time { position:absolute;bottom:12px;z-index:2;display:inline-flex;gap:4px;align-items:center;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:800; }
.category-reference-image .rating { left:12px;color:#151515;background:#ffc914; }.category-reference-image .delivery-time { right:12px;color:#fff;background:#11182e; }
.category-reference-body { padding:14px 14px 13px; }
.category-reference-title { display:flex;gap:10px;align-items:center;justify-content:space-between; }.category-reference-title h3 { margin:0;color:#121b30;font-size:17px;font-weight:800; }.category-reference-title .open-dot { color:#10a36a;font-size:11px;font-weight:700;white-space:nowrap; }.category-reference-title .open-dot::before { content:"";width:6px;height:6px;display:inline-block;margin-right:4px;border-radius:50%;background:#10b873; }
.category-reference-title .open-dot.is-closed { color:#d92d20; }.category-reference-title .open-dot.is-closed::before { background:#ef4444; }
.category-reference-address { margin:5px 0 11px;color:#8190a5;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.category-reference-address i { color:#ff6900; }
.category-reference-tags { display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px; }.category-reference-tags span { padding:5px 8px;border-radius:6px;color:#68778e;background:#f3f6fa;font-size:10px; }
.category-reference-footer { display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding-top:11px;border-top:1px solid #e8edf2; }.category-reference-footer > span { color:#7e8b9e;font-size:10px; }.category-reference-footer strong { color:#ff5f00;font-size:14px; }.category-reference-footer a { min-height:36px;display:inline-flex;gap:7px;align-items:center;padding:0 12px;border-radius:9px;color:#ff5f00;background:#fff1e7;font-size:10px;font-weight:800;white-space:nowrap; }
@media(max-width:1050px){.category-listing-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.category-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
    body.category-filter-open{overflow:hidden}
    .category-merchant-breadcrumb{margin-bottom:10px}
    .category-listing-layout{display:block}
    .category-filter-trigger{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid #ffd4bb;border-radius:9px;color:#ff5f00;background:#fff3eb;font-size:12px;font-weight:800;cursor:pointer}
    .category-filter-trigger--header{display:inline-flex;margin-left:auto}
    .category-merchants-header{flex-direction:row!important;align-items:center!important;gap:10px!important;padding:13px 15px!important;margin-bottom:15px}
    .category-merchants-header>div{gap:10px;min-width:0}
    .category-merchants-header .category-merchants-icon{width:38px;height:38px;border-radius:11px;font-size:15px}
    .category-merchants-header h1{margin:0;font-size:19px}
    .category-merchants-header p,.category-merchants-header>a{display:none!important}
    .category-filter-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:1998;background:rgba(12,24,45,.48);backdrop-filter:blur(2px)}
    .category-filter-sidebar{position:fixed!important;top:0!important;right:0;bottom:0;left:auto;z-index:1999;width:min(348px,calc(100% - 42px));max-height:none;margin:0;overflow-y:auto;border:0;border-radius:18px 0 0 18px;box-shadow:-14px 0 42px rgba(12,24,45,.22);transform:translateX(105%);transition:transform .24s ease}
    body.category-filter-open .category-filter-sidebar{transform:translateX(0)}
    .category-filter-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:17px 16px 13px;border-bottom:1px solid #edf0f3;color:#1f293b}
    .category-filter-drawer-header strong{font-size:17px}
    .category-filter-drawer-header button{display:grid;width:33px;height:33px;border:0;border-radius:50%;color:#2d3b51;background:#f1f4f8;font-size:18px;place-items:center;cursor:pointer}
    .category-filter-section{padding:14px 16px}
    .category-filter-list{padding-bottom:10px}
    .category-reference-grid{grid-template-columns:1fr}.category-reference-image{height:195px}
}
@media(max-width:420px){.category-reference-footer{grid-template-columns:1fr 1fr}.category-reference-footer a{grid-column:1/-1;justify-content:center}.category-reference-image{height:175px}}

.category-reference-footer { grid-template-columns: 1fr 1fr; }
.category-reference-footer > span { white-space: nowrap; }
.category-reference-footer a { grid-column: 1 / -1; justify-content: center; }

.category-tree-row { display:flex; align-items:center; min-width:0; }
.category-tree-row > a { flex:1; min-width:0; }
.category-tree-toggle { flex:0 0 30px; height:36px; border:0; border-radius:6px; background:transparent; color:#758297; cursor:pointer; }
.category-tree-toggle:hover { background:#fff2e8; color:#ff6900; }
.category-tree-toggle[aria-expanded="true"] i { transform:rotate(180deg); }
.category-tree-toggle:focus-visible { outline:2px solid #ff6900; }
.category-tree-children { margin:0 0 8px 17px; padding-left:8px; border-left:1px solid #e2e8f0; }
.category-tree-children a { grid-template-columns:minmax(0,1fr); min-height:38px; }
.category-tree-children strong { white-space:normal; overflow-wrap:anywhere; }
.category-tree-group[hidden], .category-tree-children[hidden] { display:none; }
