.menu-backdrop { display: none; }
.catalog-section-label { grid-column: 1 / -1; margin: 0; padding: 12px 0; border-bottom: 1px solid #d9d9d9; font-size: 14px; font-weight: 700; letter-spacing: .06em; }
img { max-width: 100%; height: auto; }
.sidebar-close { display: none; }
.sidebar { overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.primary-filter,
.update-heading { font-weight: 700; color: #111; }
.primary-filter, .brand-toggle, .update-heading { text-decoration: underline; text-underline-offset: 4px; }
.section-heading { font-weight: 700; color: #111; }
.brand-toggle { font-weight: 700; color: #111; }
.update-group { margin-bottom: 10px; }
.update-brands { display: grid; gap: 2px; padding: 1px 0 5px 13px; }
.update-brand { border: 0; background: transparent; padding: 6px 0; color: #888; font-size: 14px; line-height: 1.35; text-align: left; cursor: pointer; }
.sidebar .date-filter { font-size: 14px; line-height: 1.35; }
.update-brand:hover, .update-brand.active { color: #111; text-decoration: underline; text-underline-offset: 3px; }
.brand-list { margin-top: 7px; padding: 5px 0 5px 12px; border-left: 1px solid #d9d9d9; }
.brand-list[hidden], .date-list[hidden] { display: none; }
.brand-filter { display: block; width: 100%; border: 0; background: transparent; padding: 4px 8px 4px 0; color: #777; font-size: 10px; line-height: 1.35; text-align: left; cursor: pointer; }
.custom-made-brands .brand-filter { font-size: 14px; padding-top: 6px; padding-bottom: 6px; }
.brand-filter:hover, .brand-filter.active { color: #111; text-decoration: underline; text-underline-offset: 3px; }
.brand-toggle, .update-heading { cursor: pointer; }
.brand-toggle::after, .update-heading::after { content: '+'; display: inline-block; margin-left: 7px; text-decoration: none; }
.brand-toggle[aria-expanded="true"]::after, .update-heading[aria-expanded="true"]::after { content: '−'; }
.product-card { content-visibility: auto; contain-intrinsic-size: auto 520px; }
.load-sentinel { grid-column: 1 / -1; height: 1px; }
.catalog-controls { display: flex; align-items: flex-end; gap: 18px; }
.sort-control { display: flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: .1em; color: #777; }
.sort-control select { border: 0; border-bottom: 1px solid #111; border-radius: 0; background: #fff; padding: 4px 20px 4px 2px; color: #111; font-size: 10px; letter-spacing: .06em; cursor: pointer; }
.catalog-controls .count { margin: 0 0 4px; }

@media (max-width: 680px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  .topbar { grid-template-columns: auto 1fr auto; }
  .layout, main, .grid, .product-card { width: 100%; max-width: 100%; min-width: 0; }
  main { overflow-x: hidden; }
  .grid { grid-template-columns: minmax(0, 1fr); }
  .product-card { overflow: hidden; }
  .image-wrap { aspect-ratio: auto; overflow: visible; }
  .image-wrap img, .product-card img { display: block; width: 100% !important; max-width: 100% !important; height: auto !important; object-fit: contain; }
  .product-row { min-width: 0; }
  .product-row strong { max-width: 100%; overflow-wrap: anywhere; }
  .search-panel input { width: 100%; min-width: 0; }
  .side-block { margin-bottom: 14px; }
  .catalog-head { gap: 14px; }
  .catalog-controls { flex-direction: column; align-items: flex-end; gap: 7px; }
  .sort-control span { display: none; }
  .sort-control select { max-width: 142px; }
  .mobile-menu {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: 12px;
    padding: 10px 4px;
    white-space: nowrap;
  }
  .menu-icon { font-size: 18px; line-height: 1; font-weight: 700; }
  .menu-hint { font-size: 16px; font-weight: 700; letter-spacing: -.02em; }
  .logo { flex-direction: column; line-height: .72; }
  .logo span { display: block; margin: 5px 0 0; font-size: 6px; line-height: 1; letter-spacing: .24em; }
  body.menu-open { overflow: hidden; }
  body.menu-open .menu-backdrop {
    display: block;
    position: fixed;
    inset: 62px 0 0;
    border: 0;
    background: rgba(0, 0, 0, 0.18);
    z-index: 8;
  }
  .sidebar {
    width: min(82%, 340px);
    box-shadow: 10px 0 28px rgba(0, 0, 0, 0.08);
    overflow-y: auto;
  }
  .sidebar-close {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: -12px 0 24px;
    padding: 8px 0 14px;
    border: 0;
    border-bottom: 1px solid #d9d9d9;
    background: transparent;
    font-size: 26px;
    line-height: 1;
    text-align: left;
  }
  .sidebar-close span {
    font-size: 11px;
    letter-spacing: .14em;
  }
}

#brandList .brand-filter { text-transform: uppercase; }

#dateView { margin: 0; font-size: 14px; font-weight: 700; cursor: default; }
#dateView::after { content: none; }

.purchasing-service-heading { margin: 0; font-size: 14px; font-weight: 700; cursor: pointer; }

.purchasing-service { max-width: 840px; padding: 12px 0 48px; }
.purchasing-service[hidden] { display: none; }
.purchasing-service h1 { font-size: 28px; font-weight: 700; padding-bottom: 22px; margin: 0 0 28px; border-bottom: 1px solid #d9d9d9; }
.purchasing-service p { margin: 0 0 14px; font-size: 18px; line-height: 1.8; word-break: keep-all; overflow-wrap: break-word; }
@media (max-width: 680px) { .purchasing-service h1 { font-size: 24px; } .purchasing-service p { font-size: 16px; } }

[hidden] { display: none !important; }
.lookbook-card .image-wrap { aspect-ratio: 16 / 9; overflow: hidden; background: #000; }
.lookbook-card .image-wrap img { width: 100%; height: 100% !important; object-fit: contain; filter: none; }
.lookbook-card .pdf-badge { top: auto; left: auto; bottom: 10px; right: 10px; }
.lookbook-card .card-info { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding-top: 14px; }
.lookbook-card .brand { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.lookbook-card .meta { white-space: normal; line-height: 1.5; }

.color-heading { margin: 0; font-size: 14px; font-weight: 700; cursor: default; }
.color-list { margin-top: 7px; padding: 5px 0 5px 12px; border-left: 1px solid #d9d9d9; }
.sidebar .color-filter { display: flex; align-items: center; gap: 9px; font-size: 14px; line-height: 1.35; }
.sidebar .color-filter .color-swatch { flex: 0 0 12px; width: 12px; height: 12px; margin: 0; padding: 0; border: 1px solid #bbb; border-radius: 50%; }
.sidebar .color-filter .swatch-white { background: #fff; }
.sidebar .color-filter .swatch-black { background: #111; border-color: #111; }
.sidebar .color-filter .swatch-red { background: #bb1b2a; border-color: #bb1b2a; }

.source-sku { display: block; margin-top: 5px; color: #777; font-size: 11px; line-height: 1.4; font-weight: 400; }

.sidebar .color-filter .swatch-pink { background: #e8a5bd; border-color: #d38aa5; }
