.cat-page{background:var(--color-surface-muted);flex:1;padding-bottom:48px}.cat-head{border-bottom:1px solid var(--color-neutral-200);background:#fff}.cat-head-inner{padding:16px 0 20px}.cat-crumbs{color:var(--color-neutral-500);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}.cat-crumbs a:hover{color:var(--color-primary)}.cat-crumbs .cur{color:var(--color-neutral-800);font-weight:500}.cat-title{align-items:center;gap:14px;display:flex}.cat-title-icon{color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.cat-title h1{color:var(--color-neutral-900);font-size:22px;font-weight:800;line-height:1.2}.cat-title p{color:var(--color-neutral-500);margin-top:2px;font-size:14px}@media (min-width:1024px){.cat-title h1{font-size:28px}}.cat-layout{grid-template-columns:1fr;gap:0;padding-top:16px;display:grid}@media (min-width:1024px){.cat-layout{grid-template-columns:268px 1fr;gap:28px;padding-top:24px}}.cat-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cat-count{color:var(--color-neutral-600);font-size:14px}.cat-count b{color:var(--color-neutral-900);font-weight:700}.cat-sort-btn{border:1px solid var(--color-neutral-200);color:var(--color-neutral-800);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:border-color .15s,box-shadow .15s;display:inline-flex}.cat-sort-btn:hover{border-color:var(--color-neutral-400)}.cat-sort-btn:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #e300191f}.cat-sort-wrap{position:relative}.cat-sort-menu{border:1px solid var(--color-neutral-200);z-index:20;background:#fff;border-radius:12px;min-width:220px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #00000014}.cat-sort-item{color:var(--color-neutral-800);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;transition:background .12s;display:flex}.cat-sort-item:hover{background:var(--color-neutral-100)}.cat-sort-item.on{color:var(--color-primary);background:#e300190f;font-weight:600}.cat-sort-item .cat-sort-check{opacity:0;margin-left:auto}.cat-sort-item.on .cat-sort-check{opacity:1}.cat-mobile-bar{z-index:30;border-bottom:1px solid var(--color-neutral-200);background:#fff;grid-template-columns:1fr 1fr;gap:0;display:grid;position:sticky;top:0}.cat-mobile-btn{border:none;border-right:1px solid var(--color-neutral-200);color:var(--color-neutral-800);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:13px 10px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.cat-mobile-btn:last-child{border-right:none}.cat-mobile-btn:active{background:var(--color-neutral-100)}.cat-mobile-badge{background:var(--color-primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}@media (min-width:1024px){.cat-mobile-bar{display:none}}.cat-chips{scrollbar-width:none;flex-wrap:nowrap;gap:8px;margin-bottom:14px;padding-bottom:6px;display:flex;overflow-x:auto}.cat-chips::-webkit-scrollbar{display:none}@media (min-width:1024px){.cat-chips{flex-wrap:wrap;padding-bottom:0;overflow:visible}}.cat-chip{color:var(--color-primary);white-space:nowrap;background:#e3001914;border:1px solid #e3001940;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px 6px 12px;font-size:13px;font-weight:500;display:inline-flex}.cat-chip-x{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;place-items:center;width:18px;height:18px;margin-left:2px;display:grid}.cat-chip-x:hover{background:var(--color-primary-dark)}.cat-chip-clear{border:1px dashed var(--color-neutral-300);color:var(--color-neutral-600);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:7px 11px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.cat-chip-clear:hover{border-color:var(--color-primary);color:var(--color-primary)}.cat-sidebar{display:none}@media (min-width:1024px){.cat-sidebar{border:1px solid var(--color-neutral-200);background:#fff;border-radius:14px;align-self:start;max-height:calc(100vh - 32px);padding:4px 0;display:block;position:sticky;top:16px;overflow-y:auto}.cat-sidebar::-webkit-scrollbar{width:6px}.cat-sidebar::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:999px}}.cat-sidebar-head{border-bottom:1px solid var(--color-neutral-100);justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.cat-sidebar-head h3{color:var(--color-neutral-900);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.cat-sidebar-clear{color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-family:inherit;font-size:13px;font-weight:500}.cat-sidebar-clear:hover{background:#e3001914}.cat-sidebar-clear:disabled{color:var(--color-neutral-400);cursor:default}.cat-sidebar-clear:disabled:hover{background:0 0}.cat-section{border-bottom:1px solid var(--color-neutral-100)}.cat-section:last-child{border-bottom:none}.cat-section-head{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;font-family:inherit;display:flex}.cat-section-head:hover{background:var(--color-neutral-50)}.cat-section-title{color:var(--color-neutral-900);font-size:14px;font-weight:600}.cat-section-count{color:var(--color-primary);margin-left:6px;font-size:12px;font-weight:600}.cat-section-chev{color:var(--color-neutral-500);transition:transform .18s}.cat-section.open .cat-section-chev{transform:rotate(180deg)}.cat-section-body{padding:0 16px 14px;display:none}.cat-section.open .cat-section-body{display:block}.cat-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 0;display:flex;position:relative}.cat-check-box{border:1.5px solid var(--color-neutral-300);background:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;transition:border-color .12s,background .12s;display:grid}.cat-check:hover .cat-check-box{border-color:var(--color-primary)}.cat-check-box svg{opacity:0;color:#fff}.cat-check input{opacity:0;pointer-events:none;position:absolute}.cat-check input:focus-visible+.cat-check-box{outline:none;box-shadow:0 0 0 3px #e3001933}.cat-check input:checked+.cat-check-box{background:var(--color-primary);border-color:var(--color-primary)}.cat-check input:checked+.cat-check-box svg{opacity:1}.cat-check-label{color:var(--color-neutral-700);flex:1;font-size:14px}.cat-check-count{color:var(--color-neutral-500);font-size:12px}.cat-check input:disabled~.cat-check-label{color:var(--color-neutral-400)}.cat-check:has(input:disabled){cursor:not-allowed}.cat-pills{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cat-pill{border:1px solid var(--color-neutral-200);color:var(--color-neutral-700);cursor:pointer;text-align:center;background:#fff;border-radius:10px;padding:9px 8px;font-family:inherit;font-size:13px;font-weight:500;transition:all .12s}.cat-pill:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.cat-pill.on{border-color:var(--color-primary);color:var(--color-primary);background:#e3001914;font-weight:600}.cat-pill:disabled{color:var(--color-neutral-300);border-color:var(--color-neutral-100);cursor:not-allowed}.cat-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex;position:relative}.cat-toggle-label{color:var(--color-neutral-800);font-size:14px}.cat-toggle-track{background:var(--color-neutral-300);border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:background .15s;position:relative}.cat-toggle-thumb{background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.cat-toggle input{opacity:0;pointer-events:none;position:absolute}.cat-toggle input:checked~.cat-toggle-track{background:var(--color-primary)}.cat-toggle input:checked~.cat-toggle-track .cat-toggle-thumb{transform:translate(16px)}.cat-toggle input:focus-visible~.cat-toggle-track{box-shadow:0 0 0 3px #e3001933}.cat-grid-wrap{min-width:0}.cat-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (min-width:640px){.cat-grid{gap:16px}}@media (min-width:1024px){.cat-grid{grid-template-columns:repeat(3,1fr);gap:18px}}.cat-empty{border:1px solid var(--color-neutral-200);text-align:center;background:#fff;border-radius:16px;padding:48px 24px}.cat-empty-icon{background:var(--color-neutral-100);width:64px;height:64px;color:var(--color-neutral-500);border-radius:999px;place-items:center;margin:0 auto 16px;display:grid}.cat-empty h3{color:var(--color-neutral-900);margin-bottom:6px;font-size:18px;font-weight:700}.cat-empty p{color:var(--color-neutral-600);max-width:380px;margin:0 auto 20px;font-size:14px;line-height:1.55}.cat-empty-actions{flex-direction:column;align-items:center;gap:10px;display:inline-flex}.cat-empty-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.cat-empty-btn:hover{background:var(--color-primary-dark)}.cat-empty-hotline{color:var(--color-neutral-500);font-size:13px}.cat-empty-hotline a{color:var(--color-primary);font-weight:600}.sheet-backdrop{z-index:100;opacity:0;pointer-events:none;background:#0006;transition:opacity .25s;position:fixed;inset:0}.sheet-backdrop.open{opacity:1;pointer-events:auto}.sheet{z-index:101;background:#fff;border-radius:20px 20px 0 0;flex-direction:column;max-height:92vh;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 28px #0000001f}.sheet.open{transform:translateY(0)}.sheet-handle-wrap{justify-content:center;padding:10px 0 4px;display:flex}.sheet-handle{background:var(--color-neutral-300);border-radius:999px;width:40px;height:4px}.sheet-head{border-bottom:1px solid var(--color-neutral-100);justify-content:space-between;align-items:center;padding:6px 16px 14px;display:flex}.sheet-head h2{color:var(--color-neutral-900);font-size:17px;font-weight:700}.sheet-head-actions{align-items:center;gap:6px;display:flex}.sheet-close{background:var(--color-neutral-100);cursor:pointer;width:36px;height:36px;color:var(--color-neutral-700);border:none;border-radius:10px;place-items:center;display:grid}.sheet-body{flex:1;padding-bottom:20px;overflow-y:auto}.sheet-body .cat-section:last-child{border-bottom:none}.sheet-foot{border-top:1px solid var(--color-neutral-200);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0));background:#fff;grid-template-columns:1fr 2fr;gap:10px;display:grid}.sheet-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px 14px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.sheet-btn-ghost{border:1px solid var(--color-neutral-200);color:var(--color-neutral-700);background:#fff}.sheet-btn-ghost:hover{border-color:var(--color-neutral-400)}.sheet-btn-primary{background:var(--color-primary);color:#fff}.sheet-btn-primary:hover{background:var(--color-primary-dark)}.sheet-btn-primary:disabled{background:var(--color-neutral-300);cursor:not-allowed}.sheet.sheet-sort{max-height:auto}.sheet-sort-item{width:100%;color:var(--color-neutral-800);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--color-neutral-100);background:0 0;align-items:center;gap:12px;padding:14px 18px;font-family:inherit;font-size:15px;display:flex}.sheet-sort-item:last-child{border-bottom:none}.sheet-sort-item:active{background:var(--color-neutral-50)}.sheet-sort-item.on{color:var(--color-primary);font-weight:600}.sheet-sort-radio{border:1.5px solid var(--color-neutral-300);border-radius:999px;flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.sheet-sort-item.on .sheet-sort-radio{border-color:var(--color-primary)}.sheet-sort-item.on .sheet-sort-radio:after{content:"";background:var(--color-primary);border-radius:999px;width:10px;height:10px}
