.categories-section{padding:1.5rem 1rem}.text-center{text-align:center}.badge-tag{display:inline-block;padding:.25rem .75rem;background:#fff7ed;color:var(--primary, #d97706);border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:.5rem}.section-title{font-size:1.5rem;font-weight:800;color:#1f2937;margin:0 0 1.5rem}.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem .75rem;max-width:480px;margin:0 auto}.category-item{background:transparent;border:none;outline:none;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.icon-wrapper{width:64px;height:64px;border-radius:50%;background:#fff7ed;display:flex;align-items:center;justify-content:center;color:#d97706;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s ease;box-shadow:0 4px 12px #d9770614}.category-item:active .icon-wrapper{transform:scale(.92)}.trigger-more .icon-wrapper{background:#f3f4f6;color:#4b5563;box-shadow:none}.icon-wrapper svg{width:28px;height:28px}.category-label{font-size:.8rem;font-weight:600;color:#374151;text-align:center;line-height:1.2}.category-item.is-active-filter .icon-wrapper{background:var(--primary, #d97706);color:#fff;box-shadow:0 6px 16px #d9770659}.category-item.is-active-filter .category-label{color:var(--primary, #d97706);font-weight:700}.extended-cat-card.is-active-filter{border-color:var(--primary, #d97706);background:#fff7ed}.sheet-backdrop{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(2px);z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease}.sheet-backdrop.active{opacity:1;pointer-events:auto}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top-left-radius:20px;border-top-right-radius:20px;z-index:105;max-height:80vh;max-height:80dvh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);box-shadow:0 -10px 30px #00000026}.bottom-sheet.active{transform:translateY(0)}.sheet-handle-wrapper{padding:.6rem 0 .2rem;display:flex;justify-content:center;cursor:grab;flex-shrink:0}.sheet-handle{width:40px;height:5px;border-radius:999px;background:#e5e7eb}.sheet-header{padding:.5rem 1.25rem .75rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f3f4f6;flex-shrink:0}.sheet-header h3{margin:0;font-size:1.05rem;font-weight:700;color:#111827}.btn-close-sheet{background:#f3f4f6;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4b5563;cursor:pointer}.btn-close-sheet svg{width:18px;height:18px}.sheet-body{padding:1rem 1.25rem 2rem;min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.extended-categories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.extended-cat-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #f3f4f6;border-radius:12px;text-decoration:none;background:#fafafa;width:100%;text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s ease,border-color .2s ease}.extended-cat-card:active{background:#fff7ed;border-color:#fde68a}.ext-icon-box{width:38px;height:38px;border-radius:10px;background:#fff;color:var(--primary, #d97706);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000000d;flex-shrink:0}.ext-icon-box svg{width:20px;height:20px}.ext-cat-info{display:flex;flex-direction:column;overflow:hidden}.ext-cat-name{font-size:.82rem;font-weight:700;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:860px){.bottom-sheet{height:min(48dvh,720px);max-height:calc(100dvh - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:22px}.sheet-body{padding:1rem 1rem calc(1.75rem + env(safe-area-inset-bottom))}.extended-categories-grid{align-content:start}}@media(max-width:420px){.extended-categories-grid{gap:.6rem}.extended-cat-card{min-width:0;padding:.68rem}}.desktop-hidden{display:none!important}@media(max-width:768px){.desktop-hidden.mobile-hidden{display:none!important}.desktop-hidden:not(.mobile-hidden){display:flex!important}.mobile-hidden{display:none!important}}
