.catalogue-view #product-grid { display:block; }
.catalog-category-section + .catalog-category-section { margin-top:38px; }
.catalog-category-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:0 2px 13px; border-bottom:1px solid var(--line); margin-bottom:16px; }
.catalog-category-heading h2 { font:700 clamp(1.35rem,2.2vw,1.9rem)/1.15 var(--font-ui); letter-spacing:-.03em; margin:0; }
.catalog-category-heading span { color:var(--muted); font-size:.82rem; white-space:nowrap; }
.catalog-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.catalogue-view .product-card { border:1px solid #e5e0d8; border-radius:17px; box-shadow:0 8px 22px #07111b0a; min-width:0; }
.catalogue-view .product-card:hover { transform:translateY(-2px); box-shadow:0 14px 28px #07111b17; }
.catalogue-view .product-card:focus-within { outline:3px solid var(--orange); outline-offset:3px; }
.catalogue-view .product-image { position:relative; aspect-ratio:1/1.12; background:#f8f7f4; }
.catalogue-view .product-image img { position:absolute; inset:0; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center; padding:9px; transition:transform .18s ease; }
.catalogue-view .product-card:hover .product-image img { transform:scale(1.015); }
.catalogue-view .product-copy { padding:12px 14px 15px; min-height:88px; display:flex; flex-direction:column; gap:7px; }
.catalogue-view .product-copy h3 { font:700 .91rem/1.25 var(--font-ui); letter-spacing:-.015em; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.catalogue-view .product-copy .price { font-size:.84rem; margin-top:auto; color:#a74600; }

.product-detail { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(24px,4vw,64px); align-items:start; }
.product-detail .product-gallery { display:flex; flex-direction:column; gap:10px; min-width:0; position:sticky; top:calc(var(--header) + 16px); }
.product-detail .gallery-main { position:relative; min-height:0; height:min(51vh,520px); border-radius:22px; background:#f9f8f5; border:1px solid #e7e2db; }
.product-detail .gallery-main img { position:absolute; inset:0; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center; padding:12px; cursor:default; transform:none; }
.product-detail .gallery-thumbs { display:flex; order:0; gap:8px; max-width:100%; overflow-x:auto; overflow-y:hidden; padding:2px 2px 7px; scrollbar-width:thin; }
.product-detail .gallery-thumbs button { width:66px; height:70px; flex:0 0 66px; border:1px solid #ded9d2; border-radius:10px; padding:3px; cursor:pointer; }
.product-detail .gallery-thumbs button.active { border:2px solid var(--orange); }
.product-detail .gallery-thumbs button:focus-visible,.product-detail .color-options button:focus-visible { outline:3px solid var(--orange); outline-offset:2px; }
.product-detail .gallery-thumbs img { width:100%; height:100%; object-fit:contain; }
.product-detail .gallery-caption { order:1; color:var(--muted); font-size:.73rem; line-height:1.4; margin:0 2px; }
.product-detail .product-info { position:static; min-width:0; }
.product-detail .product-info h1 { font-size:clamp(2rem,3.2vw,3.1rem); line-height:1.08; margin:8px 0 10px; }
.product-detail .product-ref { font-size:.9rem; margin:0; }
.product-detail .product-price { margin:20px 0 8px; }
.product-detail .product-price .form-note { display:block; font:400 .85rem/1.5 var(--font-ui); margin-top:5px; color:var(--muted); }
.product-detail .option-block { padding:17px 0; }
.product-detail .option-block h2 { font:700 1rem var(--font-ui); letter-spacing:0; margin:0 0 12px; }
.product-detail .product-color-block { margin-top:14px; }
.product-detail .color-options { display:flex; flex-wrap:wrap; gap:9px; }
.product-detail .color-options button { min-width:38px; min-height:38px; width:38px; height:38px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px #cfd2d2; cursor:pointer; }
.product-detail .color-options button.is-selected { outline:2px solid var(--orange); outline-offset:2px; }
.product-detail .product-color-selection { display:flex; align-items:center; gap:12px; margin-top:16px; padding:12px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.product-detail .product-color-preview { display:block; width:48px; height:48px; flex:0 0 48px; border-radius:9px; background:var(--selected-color); border:1px solid #07111b30; }
.product-detail .product-color-selection strong { display:block; font-size:.91rem; }
.product-detail .product-color-selection small { display:block; color:var(--muted); font-size:.75rem; line-height:1.35; margin-top:3px; }
.product-detail .product-specification p { margin:0; color:#46535e; line-height:1.6; }
.product-detail .product-specification .feature-list { margin:10px 0 0; line-height:1.55; }
@media (max-width:1300px) { .catalog-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:900px) { .catalog-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .product-detail { grid-template-columns:1fr; } .product-detail .product-gallery { position:static; } }
@media (max-width:600px) {
  .catalog-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .catalog-category-section + .catalog-category-section { margin-top:30px; }
  .catalogue-view .product-copy { min-height:88px; padding:10px 11px 13px; }
  .catalogue-view .product-copy h3 { font-size:.82rem; }
  .catalogue-view .product-image img { padding:6px; }
  .product-detail .gallery-main { height:min(54vh,420px); }
  .product-detail .gallery-main img { padding:6px; }
  .product-detail .product-info h1 { font-size:clamp(1.9rem,8vw,2.5rem); }
}
@media (max-width:360px) { .catalog-category-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .catalogue-view .product-card,.catalogue-view .product-image img { transition:none!important; transform:none!important; } }
