:root {
  --ink: #101012; --surface: #211c19; --paper: #fff9f5; --white: #fff;
  --muted: #747b86; --line: #e9e0da; --orange: #d94b0b; --acid: #ff7900;
  font-family: "Manrope", system-ui, sans-serif; color: var(--ink); background: var(--paper); font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); }
button, input { font: inherit; } button, a { -webkit-tap-highlight-color: transparent; } a { color: inherit; text-decoration: none; } button { cursor: pointer; }
.shell { width: min(1380px, calc(100% - 56px)); margin-inline: auto; }
.utility-bar { background: var(--ink); color: #9da4ae; font-size: .75rem; }
.utility-inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.utility-links { display: flex; gap: 26px; color: #eef0f3; } .utility-links a:hover { color: var(--acid); }
.site-header { position: sticky; top: 0; z-index: 20; background: #fff; border-bottom: 1px solid rgba(11,12,15,.08); }
.header-inner { min-height: 78px; display: grid; grid-template-columns: auto auto minmax(260px,1fr) auto auto; align-items: center; gap: 12px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.brand-logo { display:block;width:350px;height:72px;object-fit:cover;object-position:center; }
@media(max-width:1100px) { .site-header .brand-logo { width:270px;height:62px; } }
@media(max-width:820px) { .site-header .brand-logo { width:205px;height:54px; } }
@media(max-width:560px) { .site-header .brand-logo { width:176px;height:48px; } .site-header .header-inner { grid-template-columns:auto minmax(0,1fr) auto; } }
.brand-mark { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--acid); font-weight: 800; font-size: 1.2rem; }
.brand-name { font-size: 1.18rem; font-weight: 800; letter-spacing: -.055em; } .brand-name span { color: var(--orange); }
.catalog-button { height: 46px; display: inline-flex; align-items: center; gap: 10px; padding: 0 17px; border: 0; border-radius: 99px; color: white; background: var(--ink); font-weight: 800; }
.catalog-button:hover { background: var(--orange); }
.catalog-icon { width: 17px; display: grid; grid-template-columns: repeat(2,6px); gap: 3px; }
.catalog-icon i { width: 6px; height: 6px; background: var(--acid); border-radius: 50%; }
.search-box { position: relative; height: 46px; display: flex; align-items: center; max-width: 650px; width: 100%; margin-inline: auto; background: white; border: 1px solid transparent; border-radius: 99px; box-shadow: 0 7px 28px rgba(20,23,29,.06); transition: .2s; }
.search-box:focus-within { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(255,110,28,.14); }
.search-box svg { width: 20px; margin-left: 17px; fill: none; stroke: #59616c; stroke-width: 1.8; stroke-linecap: round; }
.search-box input { min-width: 0; flex: 1; height: 100%; padding: 0 12px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .9rem; }
.search-box kbd { margin-right: 9px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 99px; background: var(--paper); color: #7b838d; font-size: .67rem; }
.header-action { position: relative; height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 13px; border: 0; border-radius: 99px; background: transparent; color: var(--ink); font-weight: 800; font-size: .8rem; }
.header-action:hover, .cart-action { background: white; }
.header-action { text-decoration:none; }
.header-action svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-action b { min-width: 20px; height: 20px; display: grid; place-items: center; position: absolute; right: -3px; top: -4px; border: 2px solid #fff; border-radius: 99px; background: var(--orange); color: white; font-size: .65rem; }
.intro { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 520px; gap: 14px; padding-block: 18px 58px; }
.intro-copy, .intro-panel { border-radius: 32px; }
.intro-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,5vw,76px); color: white; background: var(--ink); }
.eyebrow { margin: 0 0 14px; color: var(--orange); font-size: .72rem; font-weight: 800; letter-spacing: .15em; }
h1 { max-width: 760px; margin: 0; font-size: clamp(2.8rem,5.5vw,5.6rem); line-height: .92; letter-spacing: -.075em; }
h1 em { color: var(--acid); font-style: normal; }
.intro-copy > p:not(.eyebrow) { max-width: 580px; margin: 26px 0 0; color: #aeb4bc; font-size: 1.03rem; line-height: 1.7; }
.intro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.primary-button { min-height: 51px; padding: 0 23px; border: 0; border-radius: 99px; background: var(--orange); color: white; font-weight: 800; transition: transform .18s, background .18s; }
.primary-button:hover { transform: translateY(-2px); background: #ff7845; }
.text-link { font-size: .9rem; font-weight: 800; color: white; } .text-link span { color: var(--acid); font-size: 1.1rem; }
.intro-panel { position: relative; overflow: hidden; min-height: 500px; background: #111318; }
.intro-panel::after { content: "ENERGY"; position: absolute; right: -14px; top: 18px; writing-mode: vertical-rl; color: rgba(255,255,255,.05); font-size: 5.3rem; font-weight: 800; letter-spacing: -.08em; }
.hero-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 68% center; }
.intro-panel::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,rgba(9,10,12,.03) 40%,rgba(9,10,12,.84) 100%); }
.hero-product { position: absolute; z-index: 2; left: 30px; bottom: 32px; display: grid; gap: 4px; color: white; }
.hero-product span { color: var(--acid); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-product strong { font-size: 1.5rem; letter-spacing: -.04em; } .hero-product p { margin: 0; color: #aeb4bc; font-size: .82rem; }
.panel-tags { position: absolute; z-index: 2; right: 28px; bottom: 32px; display: flex; gap: 7px; }
.panel-tags span { padding: 8px 11px; border: 1px solid #3a3e47; border-radius: 99px; color: #e6e8eb; background: rgba(10,11,14,.45); font-size: .7rem; }
.catalog-section { padding-bottom: 88px; scroll-margin-top: 105px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.section-heading h2 { margin: 0; font-size: clamp(2.2rem,4vw,4rem); letter-spacing: -.065em; }
.result-count { margin: 0 0 8px; color: var(--muted); font-size: .86rem; }
.catalog-layout { display:grid; grid-template-columns:248px minmax(0,1fr); align-items:start; gap:22px; }
.category-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:-2px 0 20px; }
.category-group { min-width:0; padding:15px 17px 16px; border:1px solid #e5e8ec; border-radius:18px; background:linear-gradient(135deg,#fff 0%,#fafbfc 100%); box-shadow:0 8px 22px rgba(20,23,29,.035); }
.category-group-heading { display:flex; align-items:center; gap:11px; margin-bottom:12px; }.category-group-mark { width:36px; height:36px; display:grid; place-items:center; border-radius:12px; background:#111318; color:var(--acid); font-size:.72rem; font-weight:850; letter-spacing:.02em; }.category-group-heading > div > span { color:#959ba4; font-size:.62rem; font-weight:850; letter-spacing:.12em; }.category-group-heading h3 { margin:2px 0 0; font-size:1rem; letter-spacing:-.035em; }
.subcategory-list { display:flex; flex-wrap:wrap; gap:7px; }.subcategory-chip { min-height:35px; display:inline-flex; align-items:center; gap:8px; padding:0 10px; border:1px solid #e5e8eb; border-radius:999px; background:#fff; color:#3e444d; font-size:.73rem; font-weight:700; transition:background .16s,border-color .16s,color .16s,transform .16s; }.subcategory-chip:hover { transform:translateY(-1px); border-color:#c8cdd3; }.subcategory-chip small { min-width:18px; height:18px; display:grid; place-items:center; padding:0 4px; border-radius:99px; background:#f0f2f4; color:#7e858e; font-size:.65rem; font-variant-numeric:tabular-nums; }.subcategory-chip.active { border-color:var(--ink); background:var(--ink); color:#fff; }.subcategory-chip.active small { background:var(--acid); color:var(--ink); }
.brand-filter { position:sticky; top:96px; max-height:calc(100vh - 112px); min-width:0; padding:19px 16px 15px; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#d5d9dd transparent; scrollbar-width:thin; border:1px solid #e7e9ec; border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(20,23,29,.04); }
.brand-filter-head { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }.brand-filter-head .eyebrow { margin-bottom:5px; }.brand-filter-head h3 { margin:0; font-size:1.2rem; letter-spacing:-.04em; }.brand-filter-head small { display:block; margin-top:4px; color:var(--muted); font-size:.72rem; }
.brand-filter-clear { padding:5px 0; border:0; background:transparent; color:var(--orange); font-size:.72rem; font-weight:800; }.brand-filter-clear:disabled { color:#a1a6ad; cursor:default; }
.brand-filter-list { display:grid; gap:3px; margin-top:14px; padding-right:3px; }
.brand-option { min-height:42px; display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:10px; padding:6px 8px; border-radius:10px; color:#303640; cursor:pointer; transition:background .16s; }.brand-option:hover { background:#f5f6f7; }.brand-option input { appearance:none; width:18px; height:18px; display:grid; place-items:center; margin:0; border:1.5px solid #cbd0d6; border-radius:5px; background:#fff; }.brand-option input:checked { border-color:var(--orange); background:var(--orange); }.brand-option input:checked::after { content:""; width:8px; height:4px; margin-top:-2px; border:2px solid white; border-top:0; border-right:0; transform:rotate(-45deg); }.brand-option span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.84rem; font-weight:650; }.brand-option small { color:#8a919b; font-size:.72rem; font-variant-numeric:tabular-nums; }
.price-filter { margin-top:12px; padding:16px 0; border-top:1px solid #edf0f2; }.price-filter h4 { margin:0 0 11px; color:#303640; font-size:.9rem; }.price-range { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:end; gap:7px; }.price-range label { display:grid; gap:5px; color:#858c96; font-size:.72rem; font-weight:650; }.price-range input { width:100%; min-width:0; height:39px; padding:0 9px; border:1px solid #e1e4e8; border-radius:10px; outline:none; color:#303640; font:inherit; font-size:.8rem; }.price-range input:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(241,83,27,.1); }.price-range > span { padding-bottom:11px; color:#a3a8af; }
.characteristic-filters { border-top:1px solid #edf0f2; }.filter-group { border-bottom:1px solid #edf0f2; }.filter-group summary { min-height:45px; display:flex; align-items:center; justify-content:space-between; gap:8px; color:#303640; font-size:.87rem; font-weight:750; cursor:pointer; list-style:none; }.filter-group summary::-webkit-details-marker { display:none; }.filter-group summary::after { content:"⌄"; color:#89909a; font-size:1rem; transition:transform .16s; }.filter-group[open] summary::after { transform:rotate(180deg); }.filter-group summary small { margin-left:auto; color:var(--orange); font-size:.72rem; }.filter-options { display:grid; gap:2px; max-height:190px; margin:0 0 10px; overflow-y:auto; }.filter-options label { min-height:35px; display:grid; grid-template-columns:17px minmax(0,1fr) auto; align-items:center; gap:8px; padding:4px 6px; border-radius:8px; color:#4c535d; cursor:pointer; }.filter-options label:hover { background:#f6f7f8; }.filter-options input { appearance:none; width:16px; height:16px; display:grid; place-items:center; margin:0; border:1.5px solid #cbd0d6; border-radius:5px; background:#fff; }.filter-options input:checked { border-color:var(--orange); background:var(--orange); }.filter-options input:checked::after { content:""; width:7px; height:4px; margin-top:-2px; border:2px solid #fff; border-top:0; border-right:0; transform:rotate(-45deg); }.filter-options span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; font-weight:600; }.filter-options small { color:#9298a1; font-size:.7rem; }
.catalog-results { min-width:0; scroll-margin-top:104px; }.catalog-results .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.category-strip { display: flex; gap: 8px; margin-bottom: 24px; padding-bottom: 5px; overflow-x: auto; scrollbar-width: none; } .category-strip::-webkit-scrollbar { display: none; }
.category-chip { flex: 0 0 auto; min-height: 42px; padding: 0 17px; border: 1px solid var(--line); border-radius: 99px; background: transparent; color: #505762; font-size: .81rem; font-weight: 800; }
.category-chip:hover, .category-chip.active { border-color: var(--ink); background: var(--ink); color: white; }
.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.product-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; background: white; border: 1px solid transparent; border-radius: 22px; transition: transform .22s, box-shadow .22s; }
.product-card:hover { transform: translateY(-5px); box-shadow: 0 20px 50px rgba(20,23,29,.1); }
.product-media { position: relative; width: 100%; aspect-ratio: 1/.86; display: grid; place-items: center; padding: 28px; overflow: hidden; border: 0; background: linear-gradient(145deg,#f6f7f8,#eceef1); }
.product-media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .3s; }
.product-card:hover .product-media img { transform: scale(1.055); }
.stock-pill { position: absolute; z-index: 1; top: 14px; left: 14px; padding: 6px 9px; border-radius: 99px; background: var(--acid); color: var(--ink); font-size: .68rem; font-weight: 800; }
.stock-pill-limited { background: #fff1d9; color: #7c4b00; }
.stock-pill-unavailable { background:#f2e8e6; color:#873f35; }
.product-image-missing { color: #707781; font-size: .9rem; font-weight: 700; }
.detail-image-missing { position: relative; z-index: 1; max-width: 18rem; padding: 1rem 1.25rem; border: 1px solid #dfe2e6; border-radius: 14px; color: #646c75; background: rgba(255,255,255,.82); text-align: center; }
.product-info { flex: 1; display: flex; flex-direction: column; padding: 18px 19px 19px; }
.product-code { color: #969ca5; font-size: .68rem; font-weight: 800; letter-spacing: .05em; }
.product-title { margin: 9px 0 14px; padding: 0; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; border: 0; background: transparent; color: var(--ink); text-align: left; font-size: .94rem; font-weight: 700; line-height: 1.45; letter-spacing: -.02em; }
.product-title:hover, .details-link:hover { color: var(--orange); }
.product-meta { margin-top: auto; display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .72rem; }
.product-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 15px; border-top: 1px solid #eceef0; }
.details-link { padding: 0; border: 0; background: transparent; color: var(--ink); font-size: .78rem; font-weight: 800; }
.add-button { width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--ink); color: white; font-size: 1.35rem; line-height: 1; transition: .18s; }
.add-button:hover, .add-button.added { background: var(--orange); transform: rotate(8deg); }
.empty-state { padding: 80px 20px; text-align: center; border: 1px dashed #c9cdd3; border-radius: 22px; background: white; }
.empty-state div { font-size: 1.4rem; font-weight: 800; } .empty-state p { color: var(--muted); }
.empty-state button { padding: 11px 16px; border: 1px solid var(--ink); border-radius: 99px; background: white; font-weight: 700; }
footer { border-top:3px solid var(--acid); background:#fff; color:var(--ink); }
.footer-inner { min-height: 150px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.footer-brand .brand-logo { width:290px; height:67px; } .footer-inner > p { color:#6e6864; font-size:.85rem; }
.footer-contacts { display: flex; gap: 22px; font-size: .83rem; font-weight: 700; }
.footer-contacts a:hover { color:var(--orange); }
.drawer-backdrop { position: fixed; inset: 0; z-index: 50; background: rgba(11,12,15,.58); backdrop-filter: blur(4px); }
.cart-drawer { position: fixed; inset: 0 0 0 auto; z-index: 60; width: min(470px,100%); display: flex; flex-direction: column; padding: 30px; background: white; box-shadow: -20px 0 60px rgba(0,0,0,.18); transform: translateX(105%); transition: transform .28s; }
.cart-drawer.open { transform: translateX(0); }
.drawer-head { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.drawer-head h2 { margin: 0; font-size: 2rem; letter-spacing: -.055em; }
.icon-button, .dialog-close { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: white; font-size: 1.5rem; }
.cart-items { flex: 1; padding-block: 12px; overflow-y: auto; }
.cart-item { display: grid; grid-template-columns: 72px 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid #eceef0; }
.cart-item img { width: 72px; height: 72px; padding: 7px; object-fit: contain; background: var(--paper); border-radius: 14px; }
.cart-item-copy { min-width:0; }.cart-item h4 { margin: 0 0 4px; font-size: .8rem; line-height: 1.35; } .cart-item p { margin: 0; color: var(--muted); font-size: .7rem; }.cart-item-side { min-height:72px; display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; }.cart-item-side strong { white-space:nowrap; font-size:.78rem; }
.remove-item { width: 30px; height: 30px; border: 0; border-radius: 50%; background: var(--paper); color: #7a828c; font-size: 1rem; }
.quantity-control { width:max-content; display:inline-flex; align-items:center; gap:10px; padding:4px; border:1px solid #e3e6e9; border-radius:999px; background:#fff; }.quantity-control button { width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:50%; background:#f2f4f5; color:#20252c; font-size:1.15rem; line-height:1; }.quantity-control button:hover { background:#e8edf0; }.quantity-control output { min-width:20px; text-align:center; font-size:.86rem; font-weight:800; font-variant-numeric:tabular-nums; }.cart-quantity { margin-top:8px; gap:7px; padding:3px; }.cart-quantity button { width:26px; height:26px; font-size:1rem; }
.cart-empty { flex: 1; display: grid; align-content: center; justify-items: center; padding: 30px; text-align: center; } .cart-empty[hidden] { display: none; }
.empty-cart-icon { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--acid); font-size: 2rem; font-weight: 800; }
.cart-empty h3 { margin: 18px 0 6px; } .cart-empty p { max-width: 270px; margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.drawer-footer { padding-top: 18px; border-top: 1px solid var(--line); } .cart-total { display: flex; justify-content: space-between; margin-bottom: 15px; } .cart-total span { color: var(--muted); }
.full-width { width: 100%; } .drawer-footer small { display: block; margin-top: 10px; color: #868e98; text-align: center; line-height: 1.45; }
.toast { position: fixed; z-index: 80; left: 50%; bottom: 28px; max-width: calc(100% - 32px); padding: 13px 18px; border-radius: 99px; background: var(--ink); color: white; box-shadow: 0 12px 40px rgba(0,0,0,.22); font-size: .84rem; font-weight: 700; opacity: 0; transform: translate(-50%,20px); pointer-events: none; transition: .24s; }
.toast.show { opacity: 1; transform: translate(-50%,0); } body.drawer-open { overflow: hidden; }
.product-dialog { width: min(1120px,calc(100% - 34px)); max-height: calc(100vh - 34px); padding: 0; overflow: hidden; border: 0; border-radius: 30px; background: white; color: var(--ink); box-shadow: 0 30px 90px rgba(0,0,0,.32); }
.product-dialog::backdrop { background: rgba(11,12,15,.68); backdrop-filter: blur(6px); }
.dialog-close { position: absolute; z-index: 4; top: 18px; right: 18px; box-shadow: 0 8px 22px rgba(10,11,14,.08); }
.detail-layout { display: grid; grid-template-columns: minmax(420px,1.05fr) 1fr; height: min(820px,calc(100vh - 34px)); min-height: min(620px,calc(100vh - 34px)); overflow: hidden; border-radius: 30px; }
.detail-media { position: relative; min-height: min(620px,calc(100vh - 34px)); display: grid; place-items: center; padding: 0; overflow: hidden; background: radial-gradient(circle at 45% 37%,#fff 0,#f6f7f8 42%,#e5e7ea 100%); }
.detail-media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; object-position: center; mix-blend-mode: multiply; transform: none; filter: drop-shadow(0 28px 25px rgba(22,26,31,.18)); }
.detail-media img.detail-image-contain { object-fit: contain; padding: 22px; }
.detail-media { cursor: crosshair; }.image-lens { position: absolute; z-index: 3; width: 220px; height: 220px; border: 4px solid rgba(255,255,255,.96); border-radius: 50%; background-color: #f5f6f7; background-repeat: no-repeat; background-size: 380%; box-shadow: 0 24px 48px rgba(10,12,15,.26),0 0 0 8px rgba(202,255,51,.16),inset 0 0 0 1px rgba(11,12,15,.1); opacity: 0; pointer-events: none; transform: translate(-50%,-50%) scale(.82); transition: opacity .18s ease,transform .24s cubic-bezier(.2,.8,.2,1); }.detail-media:hover .image-lens { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.detail-content { padding: clamp(42px,5vw,62px) clamp(28px,4vw,54px) 42px; overflow-y: auto; }
.detail-status { display: flex; align-items: center; gap: 8px; margin: 0 0 22px; color: #7b828c; font-size: .74rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.detail-status::after { content: none; }
.detail-heading h2 { margin: 0; font-size: clamp(2rem,3.1vw,3rem); line-height: 1.03; letter-spacing: -.065em; }
.detail-heading p { margin: 8px 0 0; color: #515964; font-size: clamp(1rem,1.5vw,1.2rem); font-weight: 600; letter-spacing: -.025em; }
.detail-features { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; min-height: 42px; }
.detail-features .detail-feature { min-height: 62px; display: inline-flex; align-items: center; gap: 11px; padding: 9px 15px 9px 11px; border: 1px solid #e6e8eb; border-radius: 17px; background: linear-gradient(145deg,#fff,#f7f8f9); color: #252b34; box-shadow: 0 5px 15px rgba(20,23,29,.05); }
.feature-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.8); border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(24,29,36,.035),0 2px 5px rgba(24,29,36,.04); }.feature-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.feature-icon-orange { background:#fff0e7; color:#d94b0b; }.feature-icon-lime { background:#fff0df; color:#a84a00; }.feature-icon-gold { background:#fff5d9; color:#a97908; }.feature-icon-blue { background:#eaf2ff; color:#4274c6; }.feature-icon-violet { background:#f0edff; color:#7060c4; }.feature-icon-slate { background:#edf0f3; color:#4d5966; }
.detail-feature > span:last-child { display: grid; gap: 1px; }.detail-feature strong { font-size: .74rem; line-height: 1.1; }.detail-feature small { color: #7a828d; font-size: .61rem; font-weight: 700; line-height: 1.15; }
.detail-buy-row { display: grid; grid-template-columns: minmax(150px,.72fr) 1fr; align-items: center; gap: 28px; margin-top: 40px; padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.detail-price { display: grid; justify-items:start; gap: 3px; } .detail-price > span:first-child { color: var(--muted); font-size: .75rem; font-weight: 700; } .detail-price strong { color: #0b0c0f; font-size: clamp(2.05rem,3.35vw,2.95rem); line-height: .95; letter-spacing: -.075em; text-shadow: 0 8px 24px rgba(255,92,26,.12); }.detail-unit-price { color:var(--muted); font-size:.72rem; font-weight:600; }.detail-price .quantity-picker { margin-top:10px; }.quantity-picker > span { padding-right:8px; color:var(--muted); font-size:.76rem; font-weight:600; }
.detail-buy-row .primary-button { min-height: 58px; font-size: 1rem; box-shadow: 0 10px 22px rgba(255,92,26,.22); }
.purchase-notes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 25px 0 0; padding: 0; list-style: none; color: #303843; }
.purchase-notes li { min-width: 0; display: flex; align-items: center; gap: 9px; padding: 11px 9px; border: 1px solid #e8eaed; border-radius: 13px; background: #fbfbfc; }.note-icon { width: 32px; height: 32px; flex:0 0 auto; display: grid; place-items: center; border-radius: 10px; background:#fff0df; color:#a84a00; }.note-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.note-icon-truck { background: #f0f2f4; color: #303843; }.purchase-notes li > span:last-child { min-width:0; display:grid; gap:2px; }.purchase-notes strong { font-size: .68rem; line-height:1.1; }.purchase-notes small { color:#858c96; font-size:.58rem; font-weight:700; line-height:1.15; }
.detail-more { margin-top: 38px; padding-top: 27px; border-top: 1px solid var(--line); }
.detail-more-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }.detail-more h3 { margin: 0; font-size: 1rem; letter-spacing: -.025em; }.detail-article { margin: 0 0 5px; color: var(--muted); font-size: .75rem; }
.detail-specs { margin: 0; border-top: 1px solid var(--line); }.detail-specs div { display: grid; grid-template-columns: 1fr 1.3fr; gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: .82rem; }.detail-specs dt { color: var(--muted); }.detail-specs dd { margin: 0; font-weight: 700; }
.detail-description { margin: 10px 0 0; color: #68707a; font-size: .88rem; line-height: 1.65; }.detail-description-heading { margin: 26px 0 0; font-size: 1rem; letter-spacing: -.025em; }
@media (max-width:1100px) { .catalog-layout { grid-template-columns:220px minmax(0,1fr); gap:16px; } .catalog-results .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .header-action span { display:none; } .intro { grid-template-columns:1fr 1fr; } .panel-tags { display:none; } }
@media (max-width:820px) { .shell { width:min(100% - 28px,1380px); } .utility-inner > span,.search-box kbd { display:none; } .utility-inner { justify-content:flex-end; } .header-inner { grid-template-columns:auto auto 1fr auto auto; min-height:70px; } .catalog-button { width:46px; padding:0; justify-content:center; font-size:0; } .brand-name { display:none; } .intro { grid-template-columns:1fr; min-height:0; padding-top:14px; } .intro-copy { min-height:430px; } .intro-panel { min-height:430px; } .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .footer-inner { padding-block:34px; flex-wrap:wrap; } }
@media (max-width:760px) { .catalog-layout { display:block; }.category-groups { grid-template-columns:1fr; gap:9px; margin-bottom:16px; }.category-group { padding:13px; border-radius:15px; }.subcategory-chip { min-height:34px; font-size:.7rem; }.brand-filter { position:static; max-height:none; margin-bottom:17px; padding:15px; overflow:visible; }.brand-filter-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:220px; overflow-y:auto; }.catalog-results .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-dialog { width:calc(100% - 16px); max-height:calc(100vh - 16px); overflow-y:auto; border-radius:22px; } .detail-layout { display:block; height:auto; min-height:0; overflow:visible; border-radius:22px; } .detail-media { min-height:0; height:350px; padding:0; } .detail-media img { max-width:none; max-height:none; transform:none; } .detail-content { padding:30px 22px 28px; overflow:visible; } .detail-buy-row { grid-template-columns:1fr; gap:17px; margin-top:32px; } .detail-buy-row .primary-button { width:100%; } .detail-more { margin-top:38px; } .purchase-notes { grid-template-columns:1fr; }.purchase-notes li { padding:10px 12px; } }
@media (hover:none), (pointer:coarse) { .detail-media { cursor:default; }.image-lens { display:none; } }
@media (max-width:560px) { .shell { width:min(100% - 18px,1380px); } .utility-bar { display:none; } .header-inner { grid-template-columns:auto 1fr auto; gap:7px; } .catalog-button,#accountButton { display:none; } .brand-mark { width:38px; height:38px; } .search-box { height:44px; } .search-box input { font-size:.76rem; } .header-action { width:44px; height:44px; padding:0; } .intro { padding-bottom:46px; } .intro-copy { min-height:390px; padding:31px 24px; border-radius:24px; } h1 { font-size:3rem; } .intro-copy > p:not(.eyebrow) { font-size:.92rem; } .intro-panel { min-height:360px; border-radius:24px; } .hero-cover { object-position: 72% center; } .hero-product { left:22px; bottom:23px; } .section-heading { align-items:flex-start; flex-direction:column; gap:4px; } .product-grid { gap:9px; } .product-media { padding:14px; } .product-info { padding:13px; } .product-title { font-size:.79rem; } .product-meta { display:none; } .details-link { font-size:.72rem; } .footer-inner { display:grid; } .footer-contacts { flex-direction:column; gap:8px; } .cart-drawer { padding:20px; } .detail-media { height:300px; } .detail-heading h2 { font-size:2rem; } .detail-features { gap:6px; }.detail-features span { padding:7px 9px; font-size:.7rem; }.dialog-close { top:11px; right:11px; } }

/* Full supplier-catalog navigation and progressive product loading. */
.catalog-overview { display:flex; align-items:center; gap:10px; margin:-3px 0 15px; padding:13px 16px; border:1px solid #e6e9ed; border-radius:15px; background:linear-gradient(100deg,#fff,#f7f8f9); color:#575e68; font-size:.85rem; }
.catalog-overview strong { color:var(--ink); font-variant-numeric:tabular-nums; }
.catalog-overview-mark { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#fff0df; color:#ad4900; font-size:1rem; }
.catalog-overview-note { margin-left:auto; color:#858c96; font-size:.76rem; }
.category-group { padding:0; overflow:hidden; }
.category-group-summary { min-height:68px; display:grid; grid-template-columns:36px minmax(0,1fr) 20px; align-items:center; gap:12px; padding:13px 16px; cursor:pointer; list-style:none; }
.category-group-summary::-webkit-details-marker { display:none; }
.category-group-copy { min-width:0; display:grid; gap:4px; }
.category-group-copy small { color:#8b929b; font-size:.64rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.category-group-copy strong { overflow:hidden; color:var(--ink); font-size:.94rem; line-height:1.35; text-overflow:ellipsis; }
.group-chevron { color:#8a9098; font-size:1.15rem; transition:transform .18s ease; }
.category-group[open] .group-chevron { transform:rotate(180deg); }
.category-group .subcategory-list { margin:0 15px 15px; padding:12px 0 0; border-top:1px solid #eceef0; }
.subcategory-chip.category-all { border-color:#f1d5c2; background:#fff5ee; color:#593624; }
.subcategory-chip.category-all.active { border-color:var(--ink); background:var(--ink); color:#fff; }
.brand-search { height:39px; display:flex; align-items:center; gap:8px; margin-top:12px; padding:0 10px; border:1px solid #e2e5e8; border-radius:11px; background:#fbfbfc; color:#8a919a; }
.brand-search svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
.brand-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font:inherit; font-size:.8rem; }
.brand-no-results { margin:10px 4px; color:var(--muted); font-size:.8rem; }
.catalog-loading { min-height:180px; display:grid; place-items:center; border:1px solid #e6e9ed; border-radius:20px; background:#fff; color:#747b84; font-weight:700; }
.catalog-loading.catalog-load-error { color:#a43820; }
.product-grid[hidden],.catalog-loading[hidden],.load-more-products[hidden] { display:none!important; }
.load-more-products { min-height:48px; display:block; margin:22px auto 0; padding:0 22px; border:1px solid #dfe3e7; border-radius:99px; background:#fff; color:var(--ink); font:inherit; font-weight:800; transition:background .15s,border-color .15s,transform .15s; }
.load-more-products:hover { transform:translateY(-1px); border-color:var(--ink); background:#f8f9fa; }
.product-meta { display:grid; gap:7px; }
.product-meta strong { color:var(--orange); font-size:1.75rem; line-height:1.2; letter-spacing:-.035em; font-weight:800; overflow-wrap:anywhere; }
@media (max-width:560px) { .product-meta { display:grid; gap:5px; }.product-meta > span { font-size:.75rem; }.product-meta strong { font-size:1.3rem; } }
@media (max-width:760px) { .catalog-overview { align-items:flex-start; flex-wrap:wrap; }.catalog-overview-note { width:100%; margin-left:38px; }.category-group-summary { padding:12px; }.category-group .subcategory-list { margin:0 11px 12px; }.brand-search { margin-top:10px; } }

/* Illustrated catalogue hierarchy: real product photos identify sections and sub-sections. */
.category-groups { gap:14px; }
.category-group { border-color:#e3e6e9; border-radius:20px; background:#fff; box-shadow:0 6px 20px rgba(19,25,29,.035); transition:border-color .2s,box-shadow .2s,transform .2s; }
.category-group:hover { border-color:#d4d9de; box-shadow:0 14px 30px rgba(19,25,29,.075); transform:translateY(-1px); }
.category-group[open] { border-color:#d3d9df; box-shadow:0 14px 34px rgba(19,25,29,.07); }
.category-group-summary { min-height:204px; grid-template-columns:42px minmax(0,1fr) 232px; gap:14px; padding:16px 18px; }
.category-group-mark { width:42px; height:42px; border-radius:14px; font-size:.76rem; }
.category-group-copy { gap:5px; }
.category-group-copy small { font-size:.67rem; letter-spacing:.1em; }
.category-group-copy strong { font-size:1rem; line-height:1.3; white-space:normal; }
.category-group-visual { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.category-group-image,.category-group-image-fallback { width:210px; height:180px; display:grid; place-items:center; overflow:visible; border:0; border-radius:0; background:transparent; }
.category-group-image { object-fit:contain; object-position:center; mix-blend-mode:normal; transform:scale(1.12); filter:drop-shadow(0 14px 12px rgba(18,22,25,.18)); }
.category-group-image-fallback { color:#b94c0a; font-size:.85rem; font-weight:850; }
.group-chevron { width:18px; flex:0 0 18px; text-align:center; }
.category-group .subcategory-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0 15px 16px; padding:14px 0 0; }
.subcategory-chip { min-width:0; min-height:106px; justify-content:flex-start; gap:14px; padding:11px 13px; border-color:#eceff1; border-radius:14px; background:#fbfcfc; text-align:left; white-space:normal; }
.subcategory-chip:hover { border-color:#d5dbe0; background:#fff; transform:translateY(-1px); }
.subcategory-chip.active { border-color:#20242a; background:#20242a; color:#fff; }
.subcategory-image { width:94px; height:94px; flex:0 0 94px; display:grid; place-items:center; overflow:visible; border:0; border-radius:0; background:transparent; object-fit:contain; object-position:center; mix-blend-mode:normal; transform:scale(1.04); filter:drop-shadow(0 9px 8px rgba(18,22,25,.15)); }
.subcategory-image-fallback { color:#b94c0a; font-size:.9rem; }
.subcategory-copy { min-width:0; flex:1; display:grid; gap:4px; }
.subcategory-copy strong { display:-webkit-box; overflow:hidden; color:inherit; font-size:.78rem; font-weight:750; line-height:1.25; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.subcategory-copy small { color:#8a919a; font-size:.68rem; font-weight:650; }
.subcategory-chip.active .subcategory-copy small { color:#cbd0d6; }
.subcategory-chip small { min-width:auto; height:auto; display:block; padding:0; border-radius:0; background:transparent; color:#8a919a; font-size:.68rem; }
.subcategory-arrow { color:#a1a7ae; font-size:.85rem; }
.subcategory-chip.active .subcategory-arrow { color:var(--acid); }
.subcategory-chip.category-all { grid-column:1/-1; min-height:54px; justify-content:flex-start; border-color:#f1d5c2; background:#fff5ee; }
.subcategory-chip.category-all.active { border-color:#20242a; background:#20242a; }
.subcategory-all-icon { width:34px; height:34px; display:grid; flex:0 0 34px; place-items:center; border-radius:10px; background:#20242a; color:var(--acid); font-size:.95rem; }
.category-all.active .subcategory-all-icon { background:#3a4048; }
@media (max-width:760px) {
  .category-group-summary { min-height:170px; grid-template-columns:38px minmax(0,1fr) 166px; gap:10px; padding:13px 13px; }
  .category-group-mark { width:38px; height:38px; }
  .category-group-copy strong { font-size:.94rem; }
  .category-group-image,.category-group-image-fallback { width:152px; height:146px; border-radius:17px; }
  .category-group .subcategory-list { grid-template-columns:1fr; gap:7px; margin:0 11px 12px; padding-top:11px; }
  .subcategory-chip { min-height:98px; }
  .subcategory-image { width:84px; height:84px; flex-basis:84px; }
  .subcategory-chip.category-all { min-height:50px; }
}
.category-group-visual { position:relative; gap:0; }
.group-chevron { position:absolute; top:50%; right:-12px; width:18px; flex:0 0 18px; transform:translateY(-50%); }
.category-group[open] .group-chevron { transform:translateY(-50%) rotate(180deg); }

/* Full-page product details, sharing the existing product records and cart. */
#homeContent[hidden], #productPage[hidden], [data-detail-panel][hidden] { display:none!important; }
.product-page { padding-block:20px 72px; }
.product-breadcrumb { display:flex; align-items:center; gap:11px; min-height:38px; margin-bottom:18px; color:#9298a0; font-size:.82rem; }
.product-breadcrumb button { padding:6px 0; border:0; background:none; color:#626a74; font:inherit; font-weight:750; cursor:pointer; }
.product-breadcrumb button:hover { color:var(--orange,#f15a24); }
.product-breadcrumb span:last-child { overflow:hidden; color:#737a83; text-overflow:ellipsis; white-space:nowrap; }
.product-detail-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); align-items:start; gap:clamp(24px,3vw,46px); }
.product-gallery { position:sticky; top:20px; min-width:0; display:grid; grid-template-columns:82px minmax(0,1fr); gap:12px; }
.product-thumbnails { display:flex; flex-direction:column; gap:9px; max-height:600px; overflow:auto; scrollbar-width:thin; }
.product-thumbnail { width:82px; height:78px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; padding:5px; border:1px solid #e5e8eb; border-radius:13px; background:#fff; cursor:pointer; }
.product-thumbnail.active { border:2px solid #f15a24; }
.product-thumbnail img { width:100%; height:100%; object-fit:contain; }
.product-main-photo { position:relative; min-width:0; min-height:480px; aspect-ratio:1.03; display:grid; place-items:center; overflow:hidden; border-radius:20px; background:#f5f6f7; }
.product-main-photo > img { width:100%; height:100%; max-height:640px; object-fit:contain; }
.product-main-photo > img[hidden] { display:none; }
.detail-image-missing { max-width:280px; padding:30px; color:#9298a0; text-align:center; }
.gallery-arrow { position:absolute; top:50%; width:42px; height:42px; display:grid; place-items:center; transform:translateY(-50%); border:1px solid #e7e8ea; border-radius:50%; background:rgba(255,255,255,.94); color:#20242a; font-size:1.7rem; cursor:pointer; box-shadow:0 4px 14px #10182012; }
.gallery-arrow[hidden] { display:none; }
.gallery-arrow:hover { background:#fff; color:#ef5b25; }
.gallery-previous { left:14px; }.gallery-next { right:14px; }
.gallery-counter { position:absolute; right:14px; bottom:14px; padding:5px 9px; border-radius:99px; background:#20242ab8; color:#fff; font-size:.75rem; }
.product-summary { min-width:0; padding:3px 0 0; }
.product-meta-line { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-height:28px; color:#7b828b; font-size:.78rem; }
.product-meta-line strong { padding:3px 8px; border:1px solid #dbe4eb; border-radius:7px; color:#367dab; font-size:.8rem; }
.product-summary h1 { max-width:none; display:-webkit-box; overflow:hidden; margin:14px 0 7px; color:#171a1f; font-size:clamp(2rem,3vw,2.75rem); letter-spacing:-.045em; line-height:1.12; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.product-subtitle { min-height:1.4em; margin:0; color:#626a74; font-size:1.05rem; }
.product-status-line { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:17px 0 20px; }
.product-stock { display:inline-flex; align-items:center; gap:8px; padding:6px 11px; border-radius:99px; background:#edf8ee; color:#298246; font-size:.82rem; font-weight:800; }
.product-stock i { width:9px; height:9px; border-radius:50%; background:#42b95f; }
.product-stock-unavailable { background:#f6ecea; color:#93463b; }
.product-stock-unavailable i { background:#bd6253; }
.add-button:disabled,.product-buy-button:disabled { cursor:not-allowed; opacity:.55; }
.product-status-line .product-code { color:#78808a; font-size:.78rem; }
.product-summary .detail-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:0 0 23px; }
.product-summary .detail-feature { min-width:0; min-height:92px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; padding:12px 11px; border:0; border-radius:13px; background:#f4f7fa; }
.product-summary .feature-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.9); border-radius:14px; background:linear-gradient(145deg,#fff0e7,#ffe1d0); box-shadow:0 4px 10px rgba(30,35,40,.07),inset 0 1px 0 #fff; }
.product-summary .feature-icon svg { width:31px; height:31px; fill:none; stroke:#ed5b23; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.product-summary .feature-icon-lime { background:linear-gradient(145deg,#fff4e8,#ffe3ca); }.product-summary .feature-icon-lime svg { stroke:#b94c0a; }
.product-summary .feature-icon-gold { background:linear-gradient(145deg,#fff7df,#ffedb4); }.product-summary .feature-icon-gold svg { stroke:#c28b12; }
.product-summary .feature-icon-blue { background:linear-gradient(145deg,#edf4ff,#dce9ff); }.product-summary .feature-icon-blue svg { stroke:#3979d0; }
.product-summary .feature-icon-violet { background:linear-gradient(145deg,#f3f0ff,#e5e0ff); }.product-summary .feature-icon-violet svg { stroke:#7565c5; }
.product-summary .feature-icon-slate { background:linear-gradient(145deg,#f0f2f5,#e2e7eb); }.product-summary .feature-icon-slate svg { stroke:#586575; }
.product-summary .detail-feature span { min-width:0; display:grid; gap:3px; }
.product-summary .detail-feature strong { overflow-wrap:anywhere; color:#20252b; font-size:.83rem; line-height:1.2; }
.product-summary .detail-feature small { color:#7a828c; font-size:.72rem; line-height:1.25; }
.product-purchase-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:17px 0; border-top:1px solid #e8eaec; border-bottom:1px solid #e8eaec; }
.product-summary .detail-price { display:grid; gap:3px; }
.product-summary .detail-price strong { color:#e95016; font-size:clamp(2rem,3vw,2.7rem); letter-spacing:-.045em; line-height:1.05; }
.product-summary .detail-unit-price { color:#858c95; font-size:.77rem; }
.product-purchase-actions { display:flex; align-items:center; gap:12px; }
.quantity-picker { min-height:48px; display:flex; align-items:center; gap:4px; padding:4px; border:1px solid #e1e5e8; border-radius:13px; background:#fff; }
.quantity-picker button { width:34px; height:34px; border:0; border-radius:50%; background:#f1f3f5; color:#30353b; font:inherit; font-size:1.1rem; cursor:pointer; }
.quantity-picker button:hover { background:#e8ebed; }
.quantity-picker output { min-width:28px; color:#171a1f; font-weight:800; text-align:center; }
.product-buy-button { min-width:168px; min-height:53px; display:flex; justify-content:center; align-items:center; gap:9px; border:0; border-radius:12px; background:#f15a24; color:#fff; font-size:.98rem; font-weight:850; }
.product-buy-button:hover { background:#de4d1b; }
.product-buy-button span { font-size:1.15rem; }
.product-policies { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:17px 0 0; padding:0; list-style:none; }
.product-policies.no-warranty { grid-template-columns:repeat(2,minmax(0,1fr)); }
.product-policies li[hidden],.delivery-copy p[hidden] { display:none; }
.product-policies li { min-width:0; min-height:76px; display:flex; align-items:center; gap:12px; padding:11px; border:1px solid #eceef0; border-radius:13px; }
.policy-icon { width:56px; height:56px; flex:0 0 56px; display:grid; place-items:center; color:#ed4f1c; }
.policy-icon svg { width:48px; height:48px; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
.policy-icon-dispatch svg .truck-body { fill:currentColor; stroke:none; }
.policy-icon-dispatch svg .truck-window { fill:#fff; stroke:none; }
.policy-icon-dispatch svg .truck-wheel { fill:#fff; stroke:currentColor; stroke-width:2.3; }
.policy-icon-nova { color:#ed3c37; }
.policy-icon-nova svg .direction-arrow { fill:currentColor; stroke:none; }
.policy-icon-warranty svg .warranty-shield { fill:currentColor; stroke:none; }
.policy-icon-warranty svg .warranty-check { fill:none; stroke:#fff; stroke-width:3.2; }
.product-policies li > span:last-child { min-width:0; display:grid; gap:3px; }
.product-policies strong { color:#272c32; font-size:.88rem; line-height:1.25; }
.product-policies small { color:#737b84; font-size:.76rem; line-height:1.35; }
.product-tabs { margin-top:34px; overflow:hidden; border:1px solid #e6e8ea; border-radius:15px; background:#fff; }
.detail-tablist { display:flex; gap:clamp(15px,3vw,46px); overflow-x:auto; padding:0 22px; border-bottom:1px solid #e8eaec; scrollbar-width:thin; }
.detail-tablist [role=tab] { position:relative; min-height:55px; flex:0 0 auto; padding:0 1px; border:0; background:none; color:#545c65; font:inherit; font-size:.88rem; font-weight:700; cursor:pointer; }
.detail-tablist [role=tab][aria-selected=true] { color:#e95016; }
.detail-tablist [role=tab][aria-selected=true]::after { position:absolute; right:0; bottom:-1px; left:0; height:3px; border-radius:3px 3px 0 0; background:#f15a24; content:""; }
.detail-tab-panel { padding:26px 23px 30px; }
.detail-tab-panel h2 { margin:0 0 12px; font-size:1.45rem; letter-spacing:-.035em; }
.product-description-grid { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:28px; }
.product-description-grid .eyebrow { margin:0 0 10px; color:#e95a25; font-size:.8rem; font-weight:850; letter-spacing:.1em; }
.product-description-grid h2 { margin-bottom:12px; font-size:1.6rem; line-height:1.25; }
.product-description-grid .detail-description { max-width:none; margin:0; color:#515a63; font-size:1.12rem; line-height:1.75; white-space:pre-line; }
.description-facts { display:grid; gap:12px; margin:22px 0 0; padding:0; list-style:none; }
.description-facts li { display:flex; align-items:flex-start; gap:11px; color:#4e5760; font-size:1rem; line-height:1.55; }
.description-facts li > span:first-child { width:20px; height:20px; flex:0 0 20px; display:grid; place-items:center; border-radius:50%; background:#fff0e9; color:#ed5a22; font-weight:900; }
.description-facts strong { margin-right:5px; color:#282d33; }
.description-photo { margin:0; }
.description-photo img { width:100%; max-height:330px; display:block; object-fit:contain; border-radius:14px; background:#f5f6f7; }
.description-photo figcaption { margin-top:6px; color:#8a9098; font-size:.72rem; text-align:right; }
.detail-tab-panel .detail-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:18px 0 0; }
.detail-tab-panel .detail-specs > div { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:12px; padding:12px 0; border-bottom:1px solid #eceef0; }
.detail-tab-panel .detail-specs dt { color:#7b828b; font-size:.83rem; }
.detail-tab-panel .detail-specs dd { margin:0; color:#272c32; font-size:.85rem; font-weight:650; overflow-wrap:anywhere; }
.tab-placeholder,.delivery-copy { color:#626a74; font-size:.9rem; line-height:1.7; }
.delivery-copy p { margin:8px 0; }
/* Product detail: full titles, readable copy and category-specific use cases. */
.product-summary h1 { display:block; overflow:visible; -webkit-line-clamp:unset; line-clamp:unset; line-height:1.14; overflow-wrap:anywhere; }
.product-subtitle { min-height:0; max-width:70ch; margin-top:8px; font-size:1rem; line-height:1.55; }
.product-description-grid .detail-description { max-width:none; font-size:1.12rem; line-height:1.75; }
.description-facts { gap:10px; }
.description-facts li { font-size:1rem; }
.description-facts li > span:first-child { margin-top:1px; }
.product-use-cases { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:25px; }
.use-case { min-width:0; min-height:74px; display:flex; align-items:center; gap:11px; padding:12px; border:1px solid #e8eaed; border-radius:12px; background:#fff; }
.use-case-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:11px; background:#f3f5f7; color:#29333d; }
.use-case-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.use-case:nth-child(2) .use-case-icon { color:#3a9a50; background:#edf8ef; }
.use-case:nth-child(3) .use-case-icon { color:#e95a25; background:#fff0e8; }
.use-case > span:last-child { min-width:0; display:grid; gap:4px; }
.use-case strong { color:#262c33; font-size:.83rem; line-height:1.2; }
.use-case small { color:#737c86; font-size:.75rem; line-height:1.35; }
.supplier-description { margin-top:24px; border-top:1px solid #e9ebed; padding-top:16px; }
.supplier-description summary { color:#515b65; font-size:.88rem; font-weight:700; cursor:pointer; }
.supplier-description > div { margin-top:12px; color:#68717b; font-size:.9rem; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
@media (max-width:1000px) { .product-use-cases { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1000px) {
  .product-detail-grid { grid-template-columns:minmax(0,1fr) minmax(340px,.95fr); gap:24px; }
  .product-gallery { grid-template-columns:68px minmax(0,1fr); gap:9px; }
  .product-thumbnail { width:68px; height:66px; }
  .product-main-photo { min-height:390px; }
  .product-summary .detail-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-summary .detail-feature { min-height:72px; flex-direction:row; justify-content:flex-start; align-items:center; }
  .product-policies { gap:6px; }
  .product-policies li { padding:8px 7px; }
}
@media (max-width:760px) {
  .product-page { padding-block:9px 48px; }
  .product-breadcrumb { margin-bottom:11px; }
  .product-detail-grid { display:flex; flex-direction:column; gap:21px; }
  .product-gallery { position:static; width:100%; display:grid; grid-template-columns:1fr; grid-template-areas:"photo" "thumbs"; gap:9px; }
  .product-main-photo { grid-area:photo; width:100%; min-height:0; aspect-ratio:1.12; border-radius:16px; }
  .product-thumbnails { grid-area:thumbs; flex-direction:row; max-width:100%; max-height:none; overflow-x:auto; }
  .product-thumbnail { width:68px; height:64px; }
  .product-summary { width:100%; }
  .product-summary h1 { margin-top:10px; font-size:clamp(1.7rem,7vw,2.25rem); }
  .product-subtitle { font-size:.92rem; }
  .product-status-line { margin:13px 0 16px; }
  .product-summary .detail-features { margin-bottom:16px; }
  .product-summary .detail-feature { min-height:68px; padding:9px; }
  .product-purchase-row { grid-template-columns:1fr; gap:12px; padding:15px 0; }
  .product-summary .detail-price strong { font-size:2.25rem; }
  .product-purchase-actions { display:flex; flex-direction:column; align-items:stretch; }
  .quantity-picker { justify-content:space-between; width:100%; }
  .quantity-picker button { width:38px; height:38px; }
  .product-buy-button { width:100%; min-height:54px; }
  .product-policies { grid-template-columns:1fr; gap:8px; }
  .product-policies.no-warranty { grid-template-columns:1fr; }
  .product-policies li { min-height:60px; flex-direction:row; align-items:center; justify-content:flex-start; gap:10px; padding:8px 11px; }
  .product-policies li { gap:9px; padding:9px; }
  .policy-icon { width:52px; height:52px; flex-basis:52px; }.policy-icon svg { width:44px; height:44px; }
  .product-policies strong { font-size:.82rem; }
  .product-policies small { font-size:.72rem; }
  .product-tabs { margin-top:22px; border-radius:13px; }
  .detail-tablist { gap:22px; padding:0 14px; }
  .detail-tablist [role=tab] { min-height:50px; font-size:.8rem; }
  .detail-tab-panel { padding:20px 15px 22px; }
  .product-description-grid { grid-template-columns:1fr; gap:18px; }
  .product-description-grid .detail-description { font-size:1rem; line-height:1.7; }
  .product-description-grid h2 { font-size:1.4rem; }
  .description-facts li { font-size:.96rem; }
  .description-photo img { max-height:300px; }
  .detail-tab-panel .detail-specs { grid-template-columns:1fr; }
  .product-use-cases { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:18px; }
  .use-case { min-height:70px; padding:10px; }
  .use-case-icon { width:34px; height:34px; flex-basis:34px; }
  .use-case-icon svg { width:22px; height:22px; }
  .use-case strong { font-size:.8rem; }
  .use-case small { font-size:.72rem; }
  .product-summary h1 { overflow-wrap:anywhere; }
  .product-subtitle { font-size:.95rem; }
}
@media (max-width:390px) {
  .product-policies { grid-template-columns:1fr; gap:8px; }
  .product-policies li { min-height:60px; flex-direction:row; align-items:center; padding:8px 11px; }
  .product-summary .detail-feature strong { font-size:.76rem; }
}
/* Data-aware product layout: omit empty supplier fields instead of reserving space. */
@media (max-width:560px) {
  .header-inner { grid-template-columns:auto minmax(0,1fr) auto auto; }
  #accountButton { display:inline-flex; }
}
#detailFeatures:empty { display:none !important; }
#detailSubtitle[hidden], #productDescriptionContent[hidden], #descriptionPhotoWrap[hidden], #productUseCases[hidden] { display:none !important; }
#panel-description:not(.has-description-content) { padding-block:0; }
.product-description-grid.has-photo { grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr); align-items:center; }
.product-description-grid.has-photo .description-photo img { min-height:240px; max-height:390px; object-fit:contain; }
@media (max-width:760px) {
  .product-description-grid.has-photo { grid-template-columns:minmax(0,1fr); }
  .product-description-grid.has-photo .description-photo img { min-height:0; max-height:300px; }
}

/* Home catalog: a short, visual entry point with the full taxonomy on demand. */
.catalog-section > .section-heading { align-items:flex-end; margin-bottom:15px; }
.catalog-section > .section-heading h2 { font-size:clamp(1.72rem,2.7vw,2.55rem); line-height:1; letter-spacing:-.045em; }
.all-categories-toggle { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:11px; padding:0 19px; border:1px solid #dedfe1; border-radius:16px; background:#fff; color:#151719; font:inherit; font-size:.9rem; font-weight:850; cursor:pointer; box-shadow:0 8px 28px rgba(24,29,34,.06); }
.all-categories-toggle:hover { border-color:#ffb37d; background:#fff3e8; }
.all-categories-dots { width:20px; display:grid; grid-template-columns:repeat(2,6px); gap:4px; }
.all-categories-dots i { width:6px; height:6px; display:block; border-radius:2px; background:#16181a; }
.all-categories-toggle[aria-expanded=true] .all-categories-dots i { background:#e65c00; }
.popular-category-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1.65fr) repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(150px,1fr)); gap:12px; margin-bottom:34px; }
.popular-category-card { position:relative; min-width:0; min-height:150px; display:grid; grid-template-columns:minmax(0,1fr) minmax(92px,.9fr); align-items:center; gap:4px; overflow:hidden; padding:18px 11px 15px 18px; border:1px solid #e4e6e7; border-radius:21px; background:linear-gradient(145deg,#fff 0%,#f5f6f7 100%); color:#151719; text-align:left; cursor:pointer; box-shadow:0 12px 30px rgba(30,35,40,.05); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.popular-category-featured { grid-row:span 2; min-height:312px; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); padding:20px 18px 8px; }
.popular-category-featured .popular-category-copy { align-self:start; }
.popular-category-featured .popular-category-copy strong { font-size:clamp(1.35rem,1.7vw,1.8rem); }
.popular-category-featured .popular-category-visual { align-self:stretch; }
.popular-category-featured .popular-category-visual img { width:116%; max-width:none; height:270px; transform:translateY(7px) scale(1.08); }
.popular-category-compact .popular-category-copy { align-self:start; gap:5px; padding:2px 0 0; }
.popular-category-compact .popular-category-copy strong { font-size:clamp(.88rem,1vw,1.04rem); }
.popular-category-compact .popular-category-visual img { width:110%; max-width:none; height:122px; transform:scale(1.06); }
.popular-category-card::before { position:absolute; inset:auto auto 0 0; width:70px; height:5px; border-radius:0 5px 0 0; background:linear-gradient(90deg,#ffad00,#f04a08); content:""; transition:width .2s ease; }
.popular-category-card:hover { transform:translateY(-3px); border-color:#f4b68e; box-shadow:0 20px 42px rgba(30,35,40,.11); }
.popular-category-card:hover::before,.popular-category-card.active::before { width:100%; }
.popular-category-card.active { border-color:#e87329; background:linear-gradient(145deg,#fff0e4,#fff); }
.popular-category-copy { position:relative; z-index:2; align-self:end; display:grid; gap:9px; padding-bottom:6px; }
.popular-category-copy strong { font-size:clamp(1.02rem,1.35vw,1.32rem); line-height:1.1; letter-spacing:-.025em; overflow-wrap:anywhere; }
.popular-category-copy small { color:#777e85; font-size:.76rem; font-weight:750; }
.popular-category-visual { min-width:0; align-self:stretch; display:grid; place-items:center; }
.popular-category-visual img { width:100%; height:150px; display:block; object-fit:contain; filter:drop-shadow(0 16px 14px rgba(25,29,31,.2)); transition:transform .25s ease; }
.popular-category-card:hover .popular-category-visual img { transform:scale(1.1); }
.popular-category-featured:hover .popular-category-visual img { transform:translateY(4px) scale(1.14); }
.popular-category-compact:hover .popular-category-visual img { transform:scale(1.12); }
.popular-category-fallback { width:84px; height:84px; display:grid; place-items:center; border-radius:24px; background:#111316; color:var(--acid); font-size:2rem; }
.all-categories-panel { margin:0 0 38px; padding:24px; border:1px solid #e4e6e7; border-radius:26px; background:#f5f6f7; scroll-margin-top:100px; }
.all-categories-panel[hidden] { display:none !important; }
.all-categories-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.all-categories-heading h3 { margin:3px 0 0; font-size:1.55rem; letter-spacing:-.035em; }
.all-categories-heading > p { max-width:440px; margin:0; color:#697078; font-size:.86rem; line-height:1.55; text-align:right; }
.all-categories-panel .catalog-overview { margin-bottom:18px; background:#fff; }
.all-categories-panel .category-groups { margin-bottom:0; }
.catalog-layout { margin-top:0; }
.catalog-products-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin:0 0 17px; }
.catalog-products-heading h2 { margin:3px 0 0; font-size:clamp(1.65rem,3vw,2.35rem); letter-spacing:-.045em; }
.catalog-products-heading .result-count { margin:0; white-space:nowrap; }

@media (max-width:1240px) {
  .popular-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:auto; }
  .popular-category-featured { grid-column:span 2; grid-row:auto; min-height:242px; grid-template-columns:minmax(0,1fr) minmax(150px,1fr); grid-template-rows:1fr; }
  .popular-category-featured .popular-category-copy { align-self:end; }
  .popular-category-featured .popular-category-visual img { width:112%; height:222px; }
  .popular-category-compact { min-height:160px; }
}

/* Dedicated category directory: the full taxonomy without product clutter. */
.categories-page .intro,
.categories-page .catalog-section > .section-heading,
.categories-page .popular-category-grid,
.categories-page .catalog-layout { display:none; }
.categories-page .catalog-section { padding-block:38px 72px; }
.categories-page .all-categories-panel { margin:0; padding:0; border:0; background:transparent; }
.categories-page .all-categories-heading { align-items:end; margin-bottom:24px; }
.categories-page .all-categories-heading h3 { font-size:clamp(2rem,3.4vw,3.2rem); line-height:1.05; }
.categories-page .all-categories-heading > p { max-width:560px; font-size:.96rem; }
.categories-page .all-categories-panel .catalog-overview { margin-bottom:20px; border:1px solid #e8eaec; }
.categories-page .category-groups { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.categories-page .category-group { border-radius:22px; background:linear-gradient(145deg,#fff,#f7f8f8); }
.categories-page .category-group[open] { grid-column:span 2; }
.categories-page .category-group-summary { position:relative; min-height:276px; display:grid; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); align-items:start; gap:7px; padding:20px 18px 10px; }
.categories-page .category-group-mark { position:absolute; top:17px; right:17px; z-index:2; width:38px; height:38px; }
.categories-page .category-group-copy { min-height:68px; padding-right:48px; }
.categories-page .category-group-copy small { font-size:.67rem; }
.categories-page .category-group-copy strong { font-size:1.02rem; line-height:1.28; }
.categories-page .category-group-visual { min-height:172px; justify-content:center; }
.categories-page .category-group-image { width:100%; height:176px; border:0; border-radius:0; background:transparent; object-fit:contain; mix-blend-mode:normal; transform:scale(1.08); filter:drop-shadow(0 15px 13px rgba(21,25,28,.18)); }
.categories-page .group-chevron { top:auto; right:17px; bottom:17px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#eef0f1; color:#151719; transform:none; }
.categories-page .category-group[open] .group-chevron { background:#151719; color:var(--acid); transform:rotate(180deg); }
.categories-page .category-group .subcategory-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0 14px 15px; }
.categories-page .subcategory-chip { min-height:94px; }
.categories-page .subcategory-image { width:78px; height:78px; flex-basis:78px; border:0; border-radius:0; background:transparent; mix-blend-mode:normal; filter:drop-shadow(0 8px 7px rgba(21,25,28,.14)); }
.categories-page .subcategory-chip.category-all { min-height:52px; }
@media (max-width:1180px) {
  .categories-page .category-groups { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .categories-page .category-group[open] { grid-column:span 2; }
}
@media (max-width:820px) {
  .categories-page .catalog-section { padding-block:28px 56px; }
  .categories-page .all-categories-heading { display:block; }
  .categories-page .all-categories-heading > p { margin-top:9px; text-align:left; }
  .categories-page .category-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .categories-page .category-group[open] { grid-column:1/-1; }
  .categories-page .category-group-summary { min-height:230px; padding:16px 14px 9px; }
  .categories-page .category-group-mark { top:13px; right:13px; }
  .categories-page .category-group-visual { min-height:140px; }
  .categories-page .category-group-image { height:146px; }
}
@media (max-width:560px) {
  .categories-page .catalog-section { padding-block:22px 44px; }
  .categories-page .all-categories-heading h3 { font-size:2rem; }
  .categories-page .category-groups { grid-template-columns:1fr; }
  .categories-page .category-group[open] { grid-column:auto; }
  .categories-page .category-group-summary { min-height:164px; grid-template-columns:minmax(0,1fr) 138px; grid-template-rows:1fr; align-items:center; padding:14px; }
  .categories-page .category-group-copy { min-height:0; padding-right:0; }
  .categories-page .category-group-visual { min-height:128px; }
  .categories-page .category-group-image { height:132px; }
  .categories-page .category-group-mark { width:32px; height:32px; font-size:.68rem; }
  .categories-page .group-chevron { right:10px; bottom:10px; width:30px; height:30px; }
  .categories-page .category-group .subcategory-list { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .popular-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .popular-category-featured { grid-column:auto; min-height:220px; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); }
  .popular-category-featured .popular-category-copy { align-self:start; }
  .popular-category-featured .popular-category-visual img { width:108%; height:182px; }
}
@media (max-width:760px) {
  .catalog-section > .section-heading { align-items:center; }
  .catalog-section > .section-heading h2 { font-size:1.7rem; }
  .all-categories-toggle { min-height:44px; padding:0 13px; border-radius:13px; font-size:.78rem; }
  .popular-category-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(250px,78vw); gap:11px; margin-inline:calc(var(--shell-gutter,16px) * -1); margin-bottom:28px; padding-inline:var(--shell-gutter,16px); overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .popular-category-card,.popular-category-featured,.popular-category-compact { grid-column:auto; grid-row:auto; min-height:168px; grid-template-columns:minmax(0,1fr) 118px; grid-template-rows:1fr; padding:18px 10px 17px 18px; border-radius:20px; scroll-snap-align:start; }
  .popular-category-featured .popular-category-copy,.popular-category-compact .popular-category-copy { align-self:end; }
  .popular-category-copy strong { font-size:1.12rem; }
  .popular-category-visual img,.popular-category-featured .popular-category-visual img,.popular-category-compact .popular-category-visual img { width:108%; height:138px; transform:scale(1.04); }
  .all-categories-panel { margin-inline:-8px; padding:15px; border-radius:20px; }
  .all-categories-heading { display:block; }
  .all-categories-heading > p { margin-top:7px; text-align:left; }
  .catalog-products-heading { align-items:flex-start; }
  .catalog-products-heading h2 { font-size:1.75rem; }
  .catalog-products-heading .result-count { white-space:normal; text-align:right; }
}
@media (max-width:430px) {
  .catalog-section > .section-heading { display:grid; grid-template-columns:1fr auto; gap:10px; }
  .catalog-section > .section-heading h2 { font-size:1.55rem; }
  .all-categories-toggle { width:47px; padding:0; font-size:0; }
  .all-categories-dots { margin:0; }
  .catalog-products-heading { display:block; }
  .catalog-products-heading .result-count { margin-top:6px; text-align:left; }
}

/* One compact hero: copy and product visual share a single surface. */
.intro { grid-template-columns:1.06fr .94fr; min-height:350px; gap:0; margin-block:14px 34px; padding-block:0; overflow:hidden; border:1px solid #20242b; border-radius:32px; background:#0d0f12; box-shadow:0 20px 48px rgba(20,24,28,.12); }
.intro-copy,.intro-panel { border-radius:0; }
.intro-copy { position:relative; z-index:3; padding:clamp(28px,3.2vw,42px); background:transparent; }
.intro-copy h1 { font-size:clamp(2.7rem,4.2vw,4.25rem); }
.intro-copy > p:not(.eyebrow) { margin-top:14px; font-size:.96rem; line-height:1.5; }
.intro-actions { margin-top:18px; }
.intro-panel { min-height:350px; margin-left:-190px; }
.intro-panel::before { background:linear-gradient(90deg,#0d0f12 0%,rgba(13,15,18,.98) 18%,rgba(13,15,18,.78) 34%,rgba(13,15,18,.38) 50%,rgba(13,15,18,.08) 64%,rgba(13,15,18,0) 74%),linear-gradient(180deg,rgba(9,10,12,.02) 48%,rgba(9,10,12,.62) 100%); }
.hero-product,.panel-tags { display:none; }
@media (max-width:820px) {
  .intro { grid-template-columns:1fr; gap:0; margin-block:12px 30px; }
  .intro-copy { min-height:330px; background:#0d0f12; }
  .intro-panel { min-height:270px; margin-left:0; }
  .intro-panel::before { background:linear-gradient(180deg,rgba(13,15,18,.2) 0%,rgba(9,10,12,.08) 45%,rgba(9,10,12,.84) 100%); }
}
@media (max-width:560px) {
  .intro { margin-block:9px 27px; border-radius:24px; }
  .intro-copy { min-height:300px; padding:26px 22px; }
  .intro-copy h1 { font-size:2.55rem; }
  .intro-copy > p:not(.eyebrow) { margin-top:15px; line-height:1.5; }
  .intro-actions { gap:15px; margin-top:19px; }
  .intro-panel { min-height:230px; }
  .hero-product { left:20px; bottom:18px; }
}

/* Homepage advertising carousel; approved campaign artwork can be extended with more slides. */
.hero-carousel.intro { display:block; position:relative; height:auto; aspect-ratio:1891 / 831; min-height:0; margin-block:14px 35px; padding:0; overflow:hidden; border:0; border-radius:27px; background:#0d1015; box-shadow:0 20px 50px rgba(13,17,22,.16); }
.hero-slides { position:absolute; inset:0; }
.hero-slide { position:absolute; inset:0; display:grid; grid-template-columns:minmax(0,56%) minmax(0,44%); grid-template-rows:minmax(0,1fr); align-items:center; overflow:hidden; color:#fff; background:#0b1017; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .55s ease,visibility .55s ease; }
.hero-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; }
.hero-slide--art { display:block; }
.hero-slide--art::before,.hero-slide--art::after { display:none; }
.hero-art-link,.hero-art-link picture { display:block; width:100%; height:100%; }
.hero-slide--art .hero-art-link { position:relative; }
.hero-art-link img { display:block; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
.hero-art-link:focus-visible { outline:4px solid var(--acid); outline-offset:-7px; }
.hero-slide--camera .hero-art-link { position:relative; }
.hero-slide--camera .hero-art-link img { object-position:center; }
.hero-ad-copy { position:absolute; z-index:2; top:50%; left:6%; width:44%; transform:translateY(-50%); color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.3); }
.hero-ad-kicker { display:block; margin-bottom:14px; color:var(--acid); font-size:clamp(.7rem,1vw,.93rem); font-weight:800; letter-spacing:.18em; }
.hero-ad-copy h2 { margin:0; font-size:clamp(2.5rem,4.6vw,4.75rem); font-weight:900; line-height:.98; letter-spacing:-.055em; }
.hero-ad-copy h2 em { color:var(--acid); font-style:normal; }
.hero-ad-copy p { margin:20px 0 25px; color:#e5e8e8; font-size:clamp(.87rem,1.4vw,1.17rem); font-weight:700; line-height:1.45; }
.hero-ad-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:51px; padding:0 22px; border-radius:999px; background:var(--acid); color:#101411; font-size:clamp(.86rem,1.2vw,1rem); font-weight:850; text-shadow:none; box-shadow:0 10px 28px rgba(0,0,0,.2); }
.hero-ad-button span { font-size:1.2em; }
.hero-slide--camera .hero-art-link:hover .hero-ad-button { background:#ff9a38; transform:translateY(-2px); }
.hero-slide::before { content:""; position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(7,10,14,.54) 0%,rgba(7,10,14,.2) 45%,rgba(7,10,14,0) 73%),var(--hero-scene); background-size:cover; background-position:center; }
.hero-slide::after { content:""; position:absolute; z-index:1; width:44%; height:65%; right:3%; bottom:-26%; border-radius:50%; background:var(--hero-glow); opacity:.13; filter:blur(85px); pointer-events:none; }
.hero-slide-copy { position:relative; z-index:3; display:flex; flex-direction:column; align-items:flex-start; min-width:0; max-width:690px; padding:40px clamp(30px,5vw,72px); }
.hero-eyebrow { margin:0 0 15px; color:var(--acid); font-size:.72rem; font-weight:800; letter-spacing:.16em; }
.hero-eyebrow span { padding-inline:5px; color:#fff; opacity:.5; }
.hero-slide-copy h1 { max-width:650px; margin:0; font-size:clamp(2.45rem,4.15vw,4.45rem); line-height:1.02; letter-spacing:-.075em; text-wrap:balance; }
.hero-slide-copy h1 em { color:var(--acid); font-style:normal; }
.hero-description { max-width:510px; margin:17px 0 0; color:#e1e6e9; font-size:clamp(.93rem,1.2vw,1.07rem); line-height:1.48; }
.hero-product-name { max-width:510px; margin:13px 0 0; color:#afb8bc; font-size:.79rem; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hero-slide-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:23px; }
.hero-cta { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:48px; padding:0 20px; border-radius:11px; background:var(--acid); color:#101312; font-size:.84rem; font-weight:850; box-shadow:0 8px 24px rgba(255,121,0,.2); transition:transform .2s,background .2s; }
.hero-cta:hover { transform:translateY(-2px); background:#ff9a38; }
.hero-cta span { font-size:1.12rem; }
.hero-price { color:#fff; font-size:1.18rem; font-weight:850; white-space:nowrap; }
.hero-slide-visual { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:0; padding:10px 9% 30px 0; }
.hero-slide-visual img { display:block; width:min(96%,510px); height:100%; max-height:370px; object-fit:contain; filter:drop-shadow(0 28px 25px rgba(0,0,0,.6)) drop-shadow(0 0 26px rgba(255,255,255,.1)); transition:transform .55s ease; }
.hero-slide-visual:hover img { transform:translateY(-5px) scale(1.025); }
.hero-controls { position:absolute; z-index:5; right:28px; bottom:22px; display:flex; align-items:center; gap:9px; }
.hero-controls[hidden] { display:none; }
.hero-arrow { width:36px; height:36px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(13,17,21,.6); color:white; font-size:1.55rem; line-height:1; backdrop-filter:blur(8px); }
.hero-arrow:hover { background:var(--acid); color:#111; }
.hero-dots { display:flex; align-items:center; gap:7px; padding-inline:5px; }
.hero-dot { width:7px; height:7px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.5); transition:width .25s,background .25s; }
.hero-dot.is-active { width:26px; background:var(--acid); }
.hero-arrow:focus-visible,.hero-dot:focus-visible,.hero-cta:focus-visible { outline:3px solid var(--acid); outline-offset:3px; }
@media (max-width:900px) {
  .hero-carousel.intro { aspect-ratio:1891 / 831; }
  .hero-slide { grid-template-columns:minmax(0,57%) minmax(0,43%); }
  .hero-slide-copy { padding:30px 26px; }
  .hero-slide-copy h1 { font-size:clamp(2.2rem,4.7vw,3.25rem); }
  .hero-slide-visual { padding-right:5%; }
}
@media (max-width:640px) {
  .hero-carousel.intro { height:auto; aspect-ratio:1122 / 1402; margin-block:9px 27px; border-radius:22px; }
  .hero-ad-copy { top:8%; left:7%; width:86%; transform:none; }
  .hero-ad-kicker { margin-bottom:8px; font-size:.64rem; letter-spacing:.13em; }
  .hero-ad-copy h2 { font-size:clamp(1.85rem,8vw,2.55rem); line-height:.98; }
  .hero-ad-copy p { margin:10px 0 13px; font-size:.78rem; }
  .hero-ad-button { min-height:41px; padding:0 16px; font-size:.76rem; }
  .hero-slide { display:block; }
  .hero-slide::before { background-image:linear-gradient(180deg,rgba(7,10,14,.75) 0%,rgba(7,10,14,.4) 50%,rgba(7,10,14,.02) 100%),var(--hero-scene); background-position:62% center; }
  .hero-slide-copy { position:absolute; inset:0 0 auto; padding:25px 24px; }
  .hero-eyebrow { margin-bottom:11px; font-size:.61rem; }
  .hero-slide-copy h1 { max-width:440px; font-size:clamp(2.35rem,8.7vw,3.15rem); }
  .hero-description { margin-top:11px; font-size:.88rem; }
  .hero-product-name { max-width:340px; margin-top:8px; font-size:.71rem; -webkit-line-clamp:1; }
  .hero-slide-actions { gap:12px; margin-top:15px; }
  .hero-cta { min-height:44px; padding:0 16px; }
  .hero-price { font-size:.95rem; }
  .hero-slide-visual { position:absolute; right:1%; bottom:33px; width:79%; height:265px; padding:0; }
  .hero-slide-visual img { height:100%; width:100%; }
  .hero-controls { right:20px; bottom:15px; }
}
@media (max-width:390px) {
  .hero-carousel.intro { height:auto; }
  .hero-slide-copy h1 { font-size:2.28rem; }
  .hero-slide-visual { width:83%; height:245px; }
}
@media (prefers-reduced-motion:reduce) { .hero-slide,.hero-dot,.hero-slide-visual img { transition:none; } }

/* Compact full catalogue: each section uses its own supplier image. */
.all-categories-panel { padding:20px; }
.all-categories-panel .category-groups { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.all-categories-panel .category-group { border-radius:16px; box-shadow:0 5px 16px rgba(19,25,29,.035); }
.all-categories-panel .category-group[open] { grid-column:span 2; }
.all-categories-panel .category-group-summary { min-height:96px; grid-template-columns:34px minmax(0,1fr) 86px; gap:10px; padding:10px 12px; }
.all-categories-panel .category-group-mark { width:34px; height:34px; border-radius:11px; font-size:.67rem; }
.all-categories-panel .category-group-copy { gap:3px; }
.all-categories-panel .category-group-copy small { font-size:.59rem; letter-spacing:.075em; }
.all-categories-panel .category-group-copy strong { font-size:.81rem; line-height:1.22; }
.all-categories-panel .category-group-visual { min-width:0; justify-content:center; }
.all-categories-panel .category-group-image { width:82px; height:78px; border:0; border-radius:0; background:transparent; object-fit:contain; mix-blend-mode:normal; transform:none; filter:drop-shadow(0 7px 7px rgba(18,22,25,.15)); }
.all-categories-panel .group-chevron { right:-5px; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:#eef0f1; color:#5c646c; font-size:.72rem; }
.all-categories-panel .category-group[open] .group-chevron { background:#171a1e; color:var(--acid); }
.all-categories-panel .category-group .subcategory-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0 10px 11px; padding-top:10px; }
.all-categories-panel .subcategory-chip { min-height:70px; gap:9px; padding:7px 9px; border-radius:12px; background:#f9fafb; }
.all-categories-panel .subcategory-image { width:58px; height:58px; flex-basis:58px; border:0; border-radius:0; background:transparent; object-fit:contain; mix-blend-mode:normal; transform:none; filter:drop-shadow(0 5px 5px rgba(18,22,25,.12)); }
.all-categories-panel .subcategory-copy strong { font-size:.7rem; line-height:1.22; }
.all-categories-panel .subcategory-copy small { font-size:.62rem; }
.all-categories-panel .subcategory-chip.category-all { min-height:44px; }
.all-categories-panel .subcategory-all-icon { width:28px; height:28px; flex-basis:28px; border-radius:8px; font-size:.8rem; }

@media (max-width:1100px) {
  .all-categories-panel .category-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .all-categories-panel { padding:14px; }
  .all-categories-panel .category-groups { grid-template-columns:1fr; }
  .all-categories-panel .category-group[open] { grid-column:auto; }
  .all-categories-panel .category-group-summary { min-height:88px; grid-template-columns:32px minmax(0,1fr) 76px; padding:8px 10px; }
  .all-categories-panel .category-group-image { width:72px; height:68px; }
}
@media (max-width:460px) {
  .all-categories-panel .category-group .subcategory-list { grid-template-columns:1fr; }
  .all-categories-panel .subcategory-chip { min-height:66px; }
  .all-categories-panel .subcategory-image { width:54px; height:54px; flex-basis:54px; }
}

/* Large catalogue tiles: six visible sections across a desktop row. */
.all-categories-panel .category-groups { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.all-categories-panel .category-group { border-radius:20px; overflow:hidden; }
.all-categories-panel .category-group[open] { grid-column:1/-1; }
.all-categories-panel .category-group-summary { position:relative; min-height:232px; display:grid; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); align-items:start; gap:4px; padding:16px 14px 10px; }
.all-categories-panel .category-group-mark { position:absolute; top:14px; right:14px; z-index:3; width:32px; height:32px; border-radius:11px; }
.all-categories-panel .category-group-copy { position:relative; z-index:2; min-height:64px; padding-right:35px; }
.all-categories-panel .category-group-copy small { font-size:.61rem; }
.all-categories-panel .category-group-copy strong { font-size:.91rem; line-height:1.18; }
.all-categories-panel .category-group-visual { min-height:145px; align-self:stretch; justify-content:center; }
.all-categories-panel .category-group-image { width:100%; height:150px; transform:scale(1.08); filter:drop-shadow(0 12px 10px rgba(18,22,25,.18)); }
.all-categories-panel .group-chevron { top:auto; right:10px; bottom:10px; width:28px; height:28px; transform:none; }
.all-categories-panel .category-group[open] .group-chevron { transform:rotate(180deg); }
.all-categories-panel .category-group .subcategory-list { grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin:0 12px 14px; padding-top:12px; }
.all-categories-panel .subcategory-chip { min-height:98px; padding:9px 10px; }
.all-categories-panel .subcategory-image { width:76px; height:76px; flex-basis:76px; }
.all-categories-panel .subcategory-copy strong { font-size:.75rem; }
.all-categories-panel .subcategory-chip.category-all { min-height:48px; }

@media (max-width:1320px) {
  .all-categories-panel .category-groups { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:1080px) {
  .all-categories-panel .category-groups { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .all-categories-panel .category-group .subcategory-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .all-categories-panel .category-groups { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .all-categories-panel .category-group-summary { min-height:210px; }
  .all-categories-panel .category-group-image { height:132px; }
  .all-categories-panel .category-group .subcategory-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .all-categories-panel .category-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .all-categories-panel .category-group-summary { min-height:184px; padding:12px 10px 8px; }
  .all-categories-panel .category-group-copy { min-height:56px; padding-right:28px; }
  .all-categories-panel .category-group-copy strong { font-size:.78rem; }
  .all-categories-panel .category-group-mark { top:9px; right:9px; width:28px; height:28px; font-size:.59rem; }
  .all-categories-panel .category-group-visual { min-height:112px; }
  .all-categories-panel .category-group-image { height:116px; }
  .all-categories-panel .category-group .subcategory-list { grid-template-columns:1fr; }
}
