/* Shared catalog components use the established MAXCARE tokens. */
.catalog-page { padding-block: 35px 80px; min-height: 60vh; }
.catalog-page h1 { font: 400 clamp(36px,4vw,58px)/1.3 var(--display); letter-spacing: -.03em; }
.catalog-page .section-heading { margin-block: 30px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:11px; }
.breadcrumbs a:hover { text-decoration:underline; }
.catalog-notice { padding:15px 0; color:var(--muted); font-size:12px; }
.catalog-empty { grid-column:1/-1; padding:35px 0; color:var(--muted); }
.catalog-empty h2 { font:32px var(--display); color:var(--ink); margin-bottom:12px; }
.catalog-empty a { display:inline-block; margin-top:15px; }
.catalog-filters { display:grid; grid-template-columns:1.7fr 1fr 1fr .8fr .8fr 1fr; gap:16px; padding:25px; background:var(--surface); border:1px solid var(--line); }
.catalog-filters label { display:flex; flex-direction:column; gap:8px; font-size:11px; min-width:0; }
.catalog-filters input,.catalog-filters select { width:100%; min-width:0; min-height:44px; border:1px solid var(--line); background:var(--paper); color:var(--ink); padding:10px; border-radius:0; }
.catalog-filters input:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.filter-actions { grid-column:1/-1; display:flex; align-items:center; gap:25px; }
.catalog-count { padding-block:24px; color:var(--muted); font-size:12px; }
.catalog-grid { row-gap:40px; }
.catalog-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:45px; }
.catalog-pagination a { display:flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; border:1px solid var(--line); padding:8px; font-size:12px; }
.catalog-pagination [aria-current=page] { background:var(--button); color:var(--on-button); }
.catalog-pagination span { align-self:center; }
.category-description { max-width:700px; margin-bottom:25px; color:var(--muted); white-space:pre-line; }
.catalog-card .product-info h3 { overflow-wrap:anywhere; }
.catalog-card .product-image-wrap { display:block; }
.catalog-card .product-detail { min-height:42px; }
.catalog-card .product-bottom { gap:12px; }
.catalog-card .price { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.catalog-card del { font-size:10px; color:var(--muted); font-weight:400; }
.catalog-card .stock-status { font-size:10px; margin-top:10px; color:var(--muted); }
.catalog-card a:focus-visible { outline-offset:3px; }
.product-detail-layout { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:start; margin-top:35px; }
.product-gallery,.product-copy { min-width:0; }
.gallery-stage { aspect-ratio:4/5; background:var(--surface); overflow:hidden; }
.gallery-stage img { width:100%; height:100%; object-fit:cover; }
.gallery-thumbnails { display:flex; flex-wrap:wrap; gap:12px; margin-top:15px; }
.gallery-thumbnails button { width:68px; height:85px; border:1px solid var(--line); padding:3px; background:var(--paper); }
.gallery-thumbnails button[aria-pressed=true] { border:2px solid var(--ink); }
.gallery-thumbnails img { width:100%; height:100%; }
.detail-brand { color:var(--muted); font-size:12px; margin-bottom:15px; }
.product-copy h1 { font-size:clamp(32px,3.2vw,47px); overflow-wrap:anywhere; }
.detail-summary { font-size:14px; color:var(--muted); line-height:1.9; margin-top:20px; }
.detail-price { font-size:25px; margin-top:25px; }
.detail-price del { font-size:17px; margin-inline-start:12px; color:var(--muted); }
.stock-status { margin-top:12px; font-size:12px; }
.detail-sku { font-size:11px; margin-block:12px 25px; color:var(--muted); }
.variant-options { border:0; margin:25px 0; padding:0; }
.variant-options legend { font-size:12px; margin-bottom:12px; }
.variant-options label { display:flex; gap:10px; align-items:center; padding:12px; border:1px solid var(--line); margin-bottom:9px; font-size:12px; }
.variant-options input { accent-color:var(--ink); width:18px; height:18px; }
.variant-options label:has(input:disabled) { color:var(--muted); }
.purchase-unavailable { opacity:.6; cursor:not-allowed; width:100%; justify-content:center; }
.purchase-notice { font-size:11px; color:var(--muted); margin-top:15px; }
.product-description { border-top:1px solid var(--line); padding-top:25px; margin-top:30px; }
.product-description h2 { font:28px var(--display); margin-bottom:15px; }
.product-description p { font-size:13px; white-space:pre-line; line-height:1.9; overflow-wrap:anywhere; }
.related-section { margin-top:75px; }
[dir=rtl] .catalog-page h1 { letter-spacing:0; line-height:1.6; }
@media(max-width:1100px) { .catalog-filters { grid-template-columns:repeat(3,minmax(0,1fr)); } .product-detail-layout { gap:35px; } }
@media(max-width:760px) {
  .catalog-page { padding-block:25px 55px; }
  .catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:17px; gap:14px; }
  .catalog-filters .search-field { grid-column:1/-1; }
  .product-detail-layout { grid-template-columns:1fr; gap:30px; }
  .catalog-card .product-info h3 { font-size:13px; }
  .catalog-card .product-detail { min-height:55px; }
  .catalog-page h1 { font-size:37px; }
  .product-copy h1 { font-size:36px; }
  .related-section { margin-top:45px; }
}
