/* Reference-style collection browsing, isolated from home and product pages. */
body[data-page="collection"] .collection-main { width:100%; max-width:none; min-height:55vh; margin:0; padding:0 0 60px; }
body[data-page="collection"] .collection-section { padding:0; border:0; }
.collection-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.collection-breadcrumb { display:flex; align-items:center; gap:12px; min-height:58px; padding:0 16px; font-size:12px; line-height:18px; color:#888; }
.collection-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.collection-breadcrumb svg { width:11px; height:13px; color:#333; }
.collection-breadcrumb [aria-current] { color:#222; font-weight:700; overflow-wrap:anywhere; }
.collection-categories { display:flex; justify-content:center; gap:24px; width:100%; padding:8px 16px 28px; overflow-x:auto; scrollbar-width:none; overscroll-behavior-x:contain; }
.collection-categories::-webkit-scrollbar { display:none; }
.collection-category-link { display:flex; flex:0 0 84px; flex-direction:column; align-items:center; text-align:center; gap:8px; font-size:12px; line-height:16px; color:#555; }
.collection-category-link img { width:80px; height:80px; border-radius:50%; object-fit:cover; object-position:50% 20%; }
.collection-category-link>span { min-height:32px; }
.collection-category-link[aria-current="page"]>span { color:#222; font-weight:700; }
.collection-category-link:focus-visible { outline-offset:2px; }
body[data-page="collection"] .collection-toolbar { display:grid; grid-template-columns:290px 234px minmax(70px,1fr) auto; gap:16px; align-items:center; min-height:64px; padding:16px 15px; margin:0; background:#fff; border:0; }
body[data-page="collection"] .collection-toolbar.is-pinned { position:fixed; top:52px; left:0; right:0; z-index:19; box-shadow:0 1px 3px #0000000d; }
.collection-filter-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-width:0; height:32px; padding:0 9px; border:1px solid #e4e4e4; border-radius:6px; font-size:12px; font-weight:400; }
.collection-filter-toggle svg { width:12px; height:12px; transform:rotate(90deg); }
.collection-filter-toggle[aria-expanded="true"] svg { transform:rotate(-90deg); }
body[data-page="collection"] .sort-label { display:block; min-width:0; margin:0; font-size:12px; }
body[data-page="collection"] .sort-label select { width:100%; height:32px; min-height:32px; max-width:none; margin:0; padding:0 28px 0 12px; border:1px solid #e4e4e4; border-radius:6px; background:#fff; color:#555; font-size:12px; }
.collection-result-count { padding-left:8px; color:#333; font-size:14px; line-height:20px; }
.collection-view-controls { display:flex; align-items:center; justify-content:flex-end; gap:1px; }
.collection-view-controls button { position:relative; display:grid; place-items:center; width:30px; height:32px; padding:4px; color:#555; }
.collection-view-controls button[aria-pressed="true"]::after { content:''; position:absolute; bottom:-7px; left:9px; right:9px; height:1px; background:#777; }
.collection-view-controls img { display:block; width:24px; height:24px; }
.collection-body { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding:8px 15px 0; }
.collection-body.filters-open { grid-template-columns:296px minmax(0,1fr); }
.collection-sidebar,.collection-listing { min-width:0; }
body[data-page="collection"] .product-grid { --collection-columns:4; display:grid; grid-template-columns:repeat(var(--collection-columns),minmax(0,1fr)); gap:35px 30px; align-items:start; }
body[data-page="collection"] .product-card { min-width:0; }
body[data-page="collection"] .product-image-wrap { aspect-ratio:2/3; }
body[data-page="collection"] .product-image-link img { width:100%; height:100%; object-fit:cover; }
body[data-page="collection"] .product-wish { display:grid; place-items:center; width:40px; height:40px; min-width:40px; min-height:40px; top:8px; right:8px; padding:8px; border-radius:50%; background:#ffffffae; }
body[data-page="collection"] .product-wish svg { width:24px; height:24px; }
body[data-page="collection"] .product-info { padding:12px 0 0; }
body[data-page="collection"] .product-meta { margin:0 0 2px; color:#888; font-size:12px; line-height:18px; letter-spacing:0; }
body[data-page="collection"] .product-info h3 { font-size:14px; line-height:20px; font-weight:400; }
body[data-page="collection"] .product-name { display:block; margin:0 0 4px; color:#333; font-size:14px; line-height:20px; letter-spacing:0; font-weight:400; overflow-wrap:anywhere; }
body[data-page="collection"] .product-price { color:#222; font-size:14px; line-height:20px; font-weight:700; }
body[data-page="collection"] .product-price.on-request { font-size:14px; font-weight:400; }
body[data-page="collection"] .color-dots { display:none; }
body[data-page="collection"] .collection-quick-add { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; top:auto; right:auto; bottom:9px; left:9px; width:40px; height:40px; min-height:40px; padding:4px; border:0; border-radius:50%; background:#ffffffd9; color:#333; opacity:1; transform:none; font-size:9px; line-height:12px; letter-spacing:0; }
body[data-page="collection"] .collection-quick-add svg { width:19px; height:19px; }
body[data-page="collection"] .collection-quick-add:hover { background:#fff; color:#111; }
body[data-page="collection"] .load-more-wrap { margin:42px 0 0; text-align:center; }
body[data-page="collection"] .load-more-wrap .button { min-width:210px; min-height:44px; border-color:#333; color:#333; font-size:12px; }
body[data-page="collection"] .load-more-wrap .button:hover { color:#fff; }
body[data-page="collection"] .secondary-filters.collection-filter-panel { display:block; padding:0; margin:0; border:0; color:#333; }
.collection-filter-group { padding:0; border-bottom:1px solid #ededed; }
.collection-filter-group summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:12px 3px 12px 0; cursor:pointer; list-style:none; font-size:14px; line-height:20px; }
.collection-filter-group summary::-webkit-details-marker { display:none; }
.collection-filter-group summary svg { width:12px; height:12px; transform:rotate(90deg); }
.collection-filter-group[open] summary svg { transform:rotate(-90deg); }
.collection-filter-options { min-width:0; margin:0; padding:0 0 16px; border:0; }
.collection-filter-options label { display:flex; align-items:center; gap:12px; min-height:36px; padding:3px 2px; font-size:12px; line-height:18px; cursor:pointer; }
.collection-filter-options input { width:19px; height:19px; margin:0; accent-color:#333; flex:0 0 19px; }
body[data-page="collection"] .collection-search { display:flex; align-items:center; gap:8px; width:100%; max-width:none; min-width:0; padding:0 8px; margin:0 0 18px; border:1px solid #ddd; border-radius:3px; }
body[data-page="collection"] .collection-search svg { width:17px; height:17px; }
body[data-page="collection"] .collection-search input { display:block; width:100%; min-width:0; min-height:44px; padding:8px 0; border:0; font-size:14px; background:#fff; }
body[data-page="collection"] .clear-filters { display:inline-flex; align-items:center; justify-content:flex-start; min-height:44px; margin:12px 0 0; padding:0; color:#333; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.collection-filter-dialog { position:fixed; inset:auto 0 0; width:100%; max-width:100%; height:63dvh; max-height:calc(100dvh - 24px); margin:0; padding:0; border:0; border-radius:24px 24px 0 0; background:#fff; color:#222; overflow:hidden; }
.collection-filter-dialog[open] { display:flex; flex-direction:column; }
.collection-filter-dialog::backdrop { background:#0008; }
.collection-sheet-header { position:relative; flex:0 0 98px; display:flex; align-items:flex-end; min-height:98px; padding:42px 15px 18px; border-bottom:1px solid #e2e2e2; }
.collection-sheet-header h2 { margin:0; font-family:var(--sans); font-size:20px; line-height:26px; font-weight:700; }
.collection-sheet-close { position:absolute; display:grid; place-items:center; top:5px; left:calc(50% - 22px); width:44px; height:32px; padding:10px; }
.collection-sheet-close svg { width:13px; height:13px; transform:rotate(90deg); }
.collection-sheet-content { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 15px; }
.collection-sheet-footer { flex:0 0 auto; padding:12px 15px calc(16px + env(safe-area-inset-bottom)); border-top:1px solid #eee; background:#fff; }
.collection-sheet-footer button { display:flex; align-items:center; justify-content:center; width:100%; height:48px; padding:8px 16px; border-radius:28px; background:#dedede; color:#333; font-size:12px; font-weight:700; }
.collection-not-found { padding:70px 20px 90px; text-align:center; }
.collection-not-found h1 { margin:0 0 18px; font-size:30px; line-height:1.25; }
.collection-not-found p { max-width:470px; margin:0 auto 25px; color:#666; line-height:1.7; }
.collection-noscript { padding:28px 0; color:#666; }
.collection-noscript a { text-decoration:underline; }
@media (max-width:1100px) and (min-width:901px) {
  body[data-page="collection"] .collection-toolbar { grid-template-columns:240px 210px minmax(60px,1fr) auto; gap:12px; }
  .collection-body.filters-open { grid-template-columns:250px minmax(0,1fr); }
  body[data-page="collection"] .product-grid { column-gap:18px; }
}
@media (max-width:900px) {
  body[data-page="collection"] .collection-main { padding:0 0 36px; }
  .collection-breadcrumb { min-height:44px; padding:0 15px; font-size:12px; }
  .collection-categories { justify-content:flex-start; gap:0; padding:8px 0 14px; }
  .collection-category-link { flex:0 0 25%; min-width:0; gap:8px; padding:0 3px; font-size:12px; line-height:16px; }
  .collection-category-link img { width:64px; height:64px; }
  body[data-page="collection"] .collection-toolbar { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:34px 32px; gap:12px 16px; min-height:96px; padding:14px 15px 4px; }
  body[data-page="collection"] .collection-toolbar.is-pinned { top:0; }
  .collection-filter-toggle { height:32px; font-size:12px; }
  body[data-page="collection"] .sort-label select { height:32px; min-height:32px; font-size:12px; padding-left:12px; }
  .collection-result-count { grid-row:2; padding:0; font-size:14px; }
  .collection-view-controls { grid-row:2; gap:0; }
  .collection-view-controls button { width:30px; height:32px; }
  .collection-view-controls button:nth-child(n+3) { display:none; }
  .collection-view-controls button[aria-pressed="true"]::after { bottom:0; }
  .collection-body,.collection-body.filters-open { grid-template-columns:minmax(0,1fr); gap:0; padding:0; }
  body[data-page="collection"] .product-grid { --collection-columns:2; gap:22px 8px; }
  body[data-page="collection"] .product-wish { width:40px; height:40px; min-width:40px; min-height:40px; top:8px; right:8px; }
  body[data-page="collection"] .product-info { padding:8px 8px 0; }
  body[data-page="collection"] .product-meta { font-size:12px; line-height:17px; }
  body[data-page="collection"] .product-name { font-size:14px; line-height:19px; }
  body[data-page="collection"] .product-price,body[data-page="collection"] .product-price.on-request { font-size:14px; line-height:20px; }
  body[data-page="collection"] .collection-quick-add { width:40px; height:40px; min-height:40px; bottom:8px; left:8px; }
  body[data-page="collection"] .collection-search input { font-size:16px; }
  .collection-filter-options label { min-height:38px; }
  body[data-page="collection"] .load-more-wrap { margin-top:30px; }
  .collection-not-found { padding:42px 18px 55px; }
  .collection-not-found h1 { font-size:26px; }
}
@media (prefers-reduced-motion:reduce) { .collection-categories { scroll-behavior:auto; } }
