.catalog-search-wrap { padding: 28px var(--gutter) 0; max-width: 1440px; margin: auto; }
.catalog-search-wrap > label { display: block; margin-bottom: 9px; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: #67635d; }
.catalog-search-field { display: flex; gap: 14px; align-items: center; max-width: 600px; border: 1px solid #d6d1c9; background: #fff9; padding: 13px 17px; border-radius: 8px; }
.catalog-search-field:focus-within { border-color: #171717; box-shadow: 0 0 0 2px #00000009; }
.catalog-search-field input { width: 100%; min-width: 0; font-size: 14px; }
.filter-heading { font-size: 16px; letter-spacing: -.03em; font-weight: 500; margin-bottom: 25px; }
fieldset.sidebar-section { border: 0; border-bottom: 1px solid var(--border); min-width: 0; padding: 0 0 24px; margin: 0 0 24px; }
fieldset .sidebar-section__title { padding: 0; margin-bottom: 15px; }
.filter-size-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-size-grid .sidebar-check { position: relative; padding: 0; margin: 0; }
.filter-size-grid input { position: absolute; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.filter-size-grid .sidebar-check span { display: flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; border: 1px solid #d7d3cc; border-radius: 6px; padding: 5px 10px; transition: background .2s, color .2s; }
.filter-size-grid input:checked + span { background: #111; border-color: #111; color: #fff; }
.filter-size-grid input:focus-visible + span { outline: 2px solid #111; outline-offset: 3px; }
.filter-price-inputs { display: flex; align-items: center; gap: 9px; }
.filter-price-inputs label { flex: 1; min-width: 0; color: #67635d; font-size: 11px; }
.filter-price-inputs input { display: block; width: 100%; min-width: 0; padding: 10px 8px; margin-top: 7px; background: #fff; border: 1px solid #d7d3cc; border-radius: 5px; font-size: 13px; }
.filter-price-inputs input:focus { border-color: #111; }
.filter-hint { margin-top: 12px; font-size: 11px; color: #777; line-height: 1.6; }
.filter-reset { font-size: 12px; text-decoration: underline; text-underline-offset: 4px; padding: 8px 0; }
.filter-chip { display: inline-flex; align-items: center; gap: 13px; border: 1px solid #d6d1c9; border-radius: 999px; padding: 8px 13px; background: #fff; font-size: 11px; }
.filter-chip:hover { border-color: #111; }
.filter-chip span { font-size: 18px; line-height: 1; }
.active-filters-bar { flex-wrap: wrap; gap: 8px; }

/* Catálogo minimalista: conteúdo em largura total e filtros sob demanda */
.catalog-page { background:#fff; padding-top:0!important; }
.catalog-hero { width:100%; padding:0; background:#111; color:inherit; overflow:hidden; }
.catalog-hero[hidden] { display:none; }
.catalog-hero img { display:block; width:100%; height:min(78vh,820px); min-height:520px; object-fit:cover; object-position:center; }
.catalog-products-panel { position:relative; z-index:4; margin-top:clamp(-128px,-8vw,-92px); padding-top:clamp(64px,6vw,92px); border-radius:36px 36px 0 0; background:#fff; box-shadow:0 -22px 52px rgba(0,0,0,.14); overflow:hidden; }
.catalog-hero[hidden] + .catalog-products-panel { margin-top:0; padding-top:12px; border-radius:0; box-shadow:none; }
.catalog-toolbar { position:relative; top:auto; justify-content:flex-start; padding:clamp(20px,3vw,38px) var(--gutter) 12px; border:0; background:#fff; box-shadow:none!important; }
.catalog-toolbar__left,.catalog-toolbar__right { gap:10px; }
.catalog-toolbar__right { order:2; }
.toolbar-btn,.sort-select { min-height:44px; border:1px solid #242424; border-radius:0; background:#fff; color:#111; padding:0 17px; font-size:11px; letter-spacing:.11em; text-transform:uppercase; }
.toolbar-btn:hover { background:#111; color:#fff; }
.sort-select { padding-right:42px; }
.toolbar-count { display:none; }
.catalog-search-wrap,.catalog-cats,.catalog-sidebar,.grid-toggle-group { display:none!important; }
.catalog-layout { display:block; min-height:60vh; }
.catalog-products-area { width:100%; padding:10px 0 clamp(48px,6vw,84px); }
.catalog-grid { gap:clamp(14px,1.6vw,26px); }
.catalog-card { border-radius:0; box-shadow:none!important; background:#fff; }
.catalog-card:hover { transform:translateY(-2px); }
.catalog-card__img-wrap { aspect-ratio:1/1; border-radius:8px; background:#efefef; }
.catalog-card__img-wrap img { object-fit:contain; }
.catalog-card__info { padding:12px 0 18px; }
.catalog-card__brand { font-size:9px; color:#777; letter-spacing:.14em; }
.catalog-card__name { font-size:13px; font-weight:400; }
.catalog-card__price { font-size:14px; font-weight:500; }
.catalog-card__installment { font-size:11px; }
.filter-drawer { width:min(380px,92vw); box-shadow:22px 0 70px rgba(0,0,0,.18); }
.filter-drawer__header { padding:24px 28px; }
.filter-drawer__title { font-size:17px; font-weight:500; letter-spacing:-.02em; text-transform:none; }
.filter-drawer__body { padding:4px 28px 34px; }
.filter-drawer__footer { padding:18px 28px; background:#fff; }
.filter-drawer-overlay { background:rgba(10,10,10,.42); backdrop-filter:blur(2px); }
.filter-apply-btn,.filter-clear-btn { min-height:46px; border-radius:0; font-size:11px; letter-spacing:.1em; }

@media (max-width:639px) {
  .catalog-hero img { height:62svh; min-height:440px; object-position:48% center; }
  .catalog-products-panel { margin-top:-58px; padding-top:46px; border-radius:24px 24px 0 0; box-shadow:0 -14px 34px rgba(0,0,0,.14); }
  .catalog-hero[hidden] + .catalog-products-panel { margin-top:0; padding-top:8px; border-radius:0; box-shadow:none; }
  .catalog-toolbar { align-items:stretch; flex-wrap:wrap; padding:18px 16px 8px; }
  .catalog-toolbar__left { flex:1; }
  .toolbar-count { display:none; }
  .toolbar-btn,.sort-select { min-height:42px; }
  .catalog-products-area { padding:10px 0 48px; }
  .catalog-grid { gap:12px; }
}
.filter-drawer__body { padding-top: 25px; overflow-y: auto; min-height: 0; }
.filter-drawer__footer { flex-shrink: 0; background: #fff; }
.filter-drawer { width: 370px; overflow: hidden; }
.catalog-empty .filter-reset { margin-top: 20px; }
@media (max-width: 639px) { .catalog-search-field input { font-size: 16px; } .catalog-toolbar { gap: 10px; } .grid-toggle-group { display: none; } }
@media (prefers-reduced-motion: reduce) { .filter-drawer, .filter-drawer-overlay, .filter-badge { transition: none; } }
