.category-picker { position: relative; min-width: 0; font-family: inherit; font-size: .875rem; text-align: left; }
.category-picker > summary { min-height: 40px; padding: 10px 12px; border: 1px solid #7ba792; border-radius: 6px; color: #163e2b; background: #effaf3; cursor: pointer; overflow-wrap: anywhere; }
.category-picker-panel { position: absolute; z-index: 100; top: calc(100% + 4px); left: 0; width: 480px; max-width: min(88vw, 480px); padding: 12px; border: 1px solid #87aa9a; border-radius: 6px; background: #fff; box-shadow: 0 8px 24px #082b3240; color: #193e2e; }
.category-picker-panel input { width: 100%; min-width: 0; min-height: 42px; padding: 8px; border: 1px solid #a2bcad; border-radius: 4px; background: #fff; color: #153b2b; font: inherit; }
.category-picker-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.category-picker-crumbs button { padding: 7px 10px; border: 1px solid #8bbca2; border-radius: 4px; background: #def7e8; color: #163e2c; cursor: pointer; font: inherit; }
.category-picker-options { display: grid; max-height: min(320px, 45dvh); overflow-y: auto; gap: 2px; overscroll-behavior: contain; }
.category-picker-options button { display: block; width: 100%; padding: 10px; border: 0; border-bottom: 1px solid #e0ece4; border-radius: 0; color: #183d2c; background: #fff; text-align: left; font: inherit; line-height: 1.4; overflow-wrap: anywhere; cursor: pointer; }
.category-picker-options button:is(:hover,:focus-visible,[aria-selected="true"]) { background: #def7e8; outline-offset: -2px; }
.category-picker-options p { color: #4d6656; }
body[data-page="shop"] .storefront-category-slot { min-width: 0; margin-bottom: 8px; max-width: 480px; }
.category-picker select[hidden] { display: none; }
@media(max-width:600px) { .category-picker-panel { position: relative; width: 100%; max-width: 100%; box-sizing: border-box; } .category-picker-options { max-height: 280px; } }
