.pf-trigger{background:var(--white);border-radius:var(--radius-sm);color:var(--charcoal);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);border:1.5px solid #1a18161f;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;display:inline-flex}.pf-trigger:hover{border-color:var(--charcoal-muted);box-shadow:0 1px 6px #1a181614}.pf-trigger-badge{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:700;display:inline-flex}.pf-backdrop{display:none}.pf-sidebar{background:var(--white);border-radius:var(--radius);border:1px solid #1a181612;overflow:hidden}.pf-drawer-top{display:none}.pf-sidebar-top{border-bottom:1px solid #1a181612;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.pf-sidebar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--charcoal);font-size:.85rem;font-weight:700}.pf-clear-link{color:var(--charcoal-muted);transition:color var(--transition);font-size:.8rem;text-decoration:underline}.pf-clear-link:hover{color:var(--primary)}.pf-section{border-bottom:1px solid #1a181612}.pf-section:last-of-type{border-bottom:none}.pf-section-btn{width:100%;color:var(--charcoal);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;border:none;align-items:center;gap:.4rem;padding:.85rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}.pf-section-btn:hover{background:var(--cream)}.pf-section-name{flex:1}.pf-section-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.pf-chevron{color:var(--charcoal-muted);transition:transform var(--transition);flex-shrink:0}.pf-chevron-open{transform:rotate(180deg)}.pf-options{padding:.25rem 0 .75rem}.pf-option{color:var(--charcoal-muted);transition:color var(--transition),background var(--transition);border-left:2px solid #0000;align-items:center;gap:.6rem;padding:.45rem 1.25rem .45rem 1rem;font-size:.875rem;display:flex;position:relative}.pf-option:hover{background:var(--cream);color:var(--charcoal);border-left-color:#fe3c5e4d}.pf-option--active{color:var(--primary);background:var(--primary-subtle);border-left-color:var(--primary);font-weight:600}.pf-option--active:hover{background:var(--primary-subtle);color:var(--primary)}.pf-option-indicator{width:7px;height:7px;transition:background var(--transition),border-color var(--transition);border:1.5px solid #1a181633;border-radius:50%;flex-shrink:0}.pf-option--active .pf-option-indicator{background:var(--primary);border-color:var(--primary)}.pf-option-emoji{font-size:1rem;line-height:1}.pf-mobile-clear{display:none}.pf-close-btn{background:var(--cream);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--charcoal);cursor:pointer;transition:background var(--transition);border:none;justify-content:center;align-items:center;display:flex}.pf-close-btn:hover{background:var(--cream-dark)}@media (min-width:900px){.pf-trigger{display:none}.pf-sidebar{flex-shrink:0;width:220px;position:sticky;top:1.5rem;display:block!important}}@media (max-width:899px){.pf-sidebar{z-index:400;width:min(320px,88vw);transition:transform var(--transition-slow);-webkit-overflow-scrolling:touch;border:none;border-radius:0;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 32px #1a181626}.pf-sidebar--open{transform:translate(0)}.pf-backdrop{z-index:399;background:#1a181673;animation:.2s pf-fade-in;display:block;position:fixed;inset:0}@keyframes pf-fade-in{0%{opacity:0}to{opacity:1}}.pf-drawer-top{color:var(--charcoal);background:var(--white);z-index:1;border-bottom:1px solid #1a181614;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:1rem;font-weight:700;display:flex;position:sticky;top:0}.pf-sidebar-top{display:none}.pf-mobile-clear{border-top:1px solid #1a181612;padding:1rem 1.25rem;display:block}.pf-mobile-clear-btn{text-align:center;border-radius:var(--radius-sm);width:100%;color:var(--charcoal-muted);transition:color var(--transition),border-color var(--transition);border:1.5px solid #1a18161f;padding:.7rem;font-size:.875rem;font-weight:500;display:block}.pf-mobile-clear-btn:hover{color:var(--primary);border-color:var(--primary)}}
.location-filter{font-size:.9rem}.location-filter-trigger{background:var(--cream-dark);border-radius:var(--radius-sm);color:var(--charcoal);cursor:pointer;border:1px solid #0000;padding:.4rem .75rem}.location-filter-trigger:hover{background:#eee}.location-filter-picker{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.location-filter-picker select{flex:1;min-width:7rem}
.products-browse-section{width:100%;max-width:1200px;margin:0 auto}.products-browse-inner{width:100%}.products-browse-header{margin-bottom:1rem}.products-browse-header-top{flex-direction:column;gap:.75rem;display:flex}.products-browse-header .location-filter{margin-top:0}.products-browse-title{margin:0;font-family:Instrument Serif,serif;font-size:1.5rem}.products-browse-layout{flex-direction:column;gap:0;display:flex}.products-browse-content{flex:1;min-width:0}.products-browse-results-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.products-browse-results-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.products-browse-filter-slot{display:contents}.products-browse-count{color:var(--charcoal-muted);font-size:.9rem}.products-browse-active-filters{flex-wrap:wrap;gap:.5rem;display:flex}.products-browse-chip{background:var(--cream-dark);border-radius:var(--radius-sm);color:var(--charcoal);transition:background var(--transition),border-color var(--transition);border:1px solid #1a18161a;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.85rem;display:inline-flex}.products-browse-chip:hover{background:var(--cream);border-color:var(--charcoal-muted)}.products-browse-chip svg{opacity:.7}.products-browse-sort{align-items:center;gap:.5rem;display:flex}.products-browse-sort label{color:var(--charcoal-muted);font-size:.85rem}.products-browse-sort select{padding:.4rem 2rem .4rem .75rem;font-size:.9rem}.products-browse-grid,.products-browse-loading{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.products-browse-skeleton{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.products-browse-skeleton-img{aspect-ratio:1;background:linear-gradient(90deg,var(--cream-dark)25%,var(--cream)50%,var(--cream-dark)75%);background-size:200% 100%;animation:1.5s infinite products-browse-shimmer}.products-browse-skeleton-body{padding:.75rem .9rem}.products-browse-skeleton-line{background:linear-gradient(90deg,var(--cream-dark)25%,var(--cream)50%,var(--cream-dark)75%);background-size:200% 100%;border-radius:4px;height:.75rem;margin-bottom:.5rem;animation:1.5s infinite products-browse-shimmer}.products-browse-skeleton-line:last-child{margin-bottom:0}.products-browse-skeleton-line--short{width:60%}@keyframes products-browse-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.products-browse-empty{text-align:center;color:var(--charcoal-muted);padding:3rem}.products-browse-empty-icon{margin-bottom:.75rem;font-size:2.5rem}.products-browse-empty h3{color:var(--charcoal);margin-bottom:.5rem;font-size:1.1rem}.products-browse-empty p{font-size:.9rem}.products-browse-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.products-browse-pagination .btn-secondary{background:var(--cream-dark);border:1px solid var(--cream-dark);border-radius:var(--radius-sm);color:var(--charcoal);align-items:center;gap:.35rem;padding:.5rem 1rem;font-weight:600;display:inline-flex}.products-browse-pagination .btn-secondary:hover:not(:disabled){background:var(--cream);border-color:var(--charcoal-muted)}.products-browse-pagination .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.products-browse-pagination-info{color:var(--charcoal-muted);font-size:.9rem}@media (min-width:600px){.products-browse-title{font-size:1.75rem}.products-browse-grid,.products-browse-loading{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}}@media (min-width:900px){.products-browse-header{margin-bottom:1.25rem}.products-browse-header-top{flex-direction:row;justify-content:space-between;align-items:flex-start}.products-browse-layout{flex-direction:row;align-items:flex-start;gap:2rem}.products-browse-title{font-size:2rem}.products-browse-grid,.products-browse-loading{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}}
