@font-face{font-family:Proxima;src:url('/theme/original/fonts/proximanova/ProximaNova-Regular.woff2') format('woff2');font-display:swap}
:root{color-scheme:light;--bg:#f2f5f9;--card:#fff;--ink:#233e48;--muted:#657780;--line:#dce5e9;--accent:#236d83;--soft:#e5f1f5;--density:1}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.4 Proxima,system-ui,-apple-system,'Segoe UI',sans-serif}button,input,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,summary,a{touch-action:manipulation}button,summary{cursor:pointer}button{border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);padding:10px 14px}button:hover,a.primary:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #68b6d3;outline-offset:3px}a{color:var(--accent)}.primary{border:0;background:var(--accent);color:#fff;text-decoration:none;border-radius:11px;padding:11px 16px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:14px}.top{background:#d5eaf4;border-bottom:1px solid #c1dce9}.top-inner{max-width:1480px;margin:auto;padding:14px 28px;display:flex;align-items:center;gap:30px}.brand{display:flex}.brand img{object-fit:contain;max-width:100%;height:50px}.retail{font-size:14px;color:#365d6e}.login{margin-left:auto}.login span{font-size:20px}main{max-width:1480px;margin:auto;padding:24px 28px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px}.intro p{margin:0}.intro>p{font-size:14px;color:var(--muted)}.intro>p span{font-size:13px}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:700;color:var(--accent)}h1{font-size:30px;margin:3px 0 0;letter-spacing:-.5px}h2{font-size:19px}.toolbar{position:sticky;top:0;z-index:5;display:flex;gap:14px;background:var(--bg);padding:10px 0 14px}.group-toggle{width:260px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:8px 14px;gap:12px}.group-toggle small{display:block;color:var(--muted);font-size:11px}.group-toggle strong{font-size:15px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}#search-form{display:flex;flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:5px;gap:6px}#query{width:100%;min-width:0;background:transparent;color:var(--ink);border:0;padding:8px 12px;outline:none}#search-form:focus-within{outline:2px solid #65a8c0}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}aside{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card);align-self:start;position:sticky;top:87px;max-height:calc(100dvh - 105px);overflow:auto;scrollbar-width:thin}.category-head{display:none}#group-list button,.root{display:block;width:100%;text-align:left;border:0;border-radius:8px;padding:9px 10px;margin:2px 0;font-size:14px;background:transparent}.root{font-weight:700}#group-list button.active,.root.active{background:var(--soft);color:var(--accent);font-weight:700}#group-list details>summary{padding:9px 7px;font-size:14px;font-weight:650;list-style-position:outside;margin-left:14px}#group-list details .subgroups{border-left:1px solid var(--line);padding-left:7px;margin-left:10px}.catalog{min-width:0}.display-tools{display:flex;align-items:center;gap:18px;min-height:46px;margin-bottom:10px;font-size:13px}.stock{display:flex;align-items:center;gap:6px;white-space:nowrap}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}#count{color:var(--muted)}.view-options{margin-left:auto;display:flex;align-items:center;gap:5px}.view-options>button{font-size:20px;line-height:1;padding:8px 11px}.view-options button[aria-pressed=true]{color:var(--accent);background:var(--soft);border-color:#a5ccd9}#display-settings{position:relative}#display-settings summary{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.display-panel{position:absolute;right:0;z-index:8;width:250px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #132a3320}.display-panel label{display:flex;justify-content:space-between;gap:12px}.display-panel input[type=range]{width:100%;margin:15px 0;accent-color:var(--accent)}.display-panel>button{font-size:13px;width:100%}.display-panel .theme-label{justify-content:flex-start;align-items:center;margin-top:15px}.products{gap:calc(7px * var(--density));display:grid}.product{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:calc(10px * var(--density));min-width:0;position:relative}.products.list .product{display:grid;grid-template-columns:calc(66px * var(--density)) minmax(0,1fr) auto;align-items:center;gap:calc(13px * var(--density))}.product-image{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:8px;display:block}.image-button{padding:0;border:0;border-radius:8px;overflow:hidden;width:100%;background:transparent}.placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:1;color:#8c9ea6;background:#f0f3f5;border-radius:8px;font-size:calc(25px * var(--density))}.product-name{display:block;background:transparent;border:0;padding:0;text-align:left;font-size:calc(15px * var(--density));line-height:1.3;font-weight:600;overflow-wrap:anywhere}.article{color:var(--muted);font-size:calc(12px * var(--density));margin:0 0 3px}.price{color:var(--accent);font-weight:750;font-size:calc(18px * var(--density));white-space:nowrap}.buy-info{text-align:right}.unit,.availability{font-size:calc(12px * var(--density));color:var(--muted)}.availability{margin-top:5px}.availability.available{color:#358361}.products.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(12px * var(--density))}.products.grid .product{display:flex;flex-direction:column;gap:8px}.products.grid .image-button{align-self:center;max-width:calc(160px * var(--density))}.products.grid .product-copy{flex:1}.products.grid .buy-info{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 8px;text-align:left;border-top:1px solid var(--line);padding-top:8px}.products.grid .availability{width:100%;margin:0}.more{display:block;margin:20px auto;min-width:210px}.guest-note{font-size:13px;color:var(--muted);text-align:center;padding:22px 10px}#status{background:var(--soft);padding:18px;border-radius:12px;margin-bottom:12px}#status[hidden],[hidden]{display:none!important}#products[aria-busy=true]{opacity:.6}footer{margin-top:30px;padding:22px 0;border-top:1px solid var(--line);display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--muted)}footer>a{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);padding:26px}dialog::backdrop{background:#142b3980;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:12px;top:12px;z-index:1;font-size:24px;padding:4px 12px}#detail-image{width:100%;height:250px;object-fit:contain;background:#fff;border-radius:12px;margin-bottom:15px}#detail-price{display:block;font-size:26px;color:var(--accent);margin:15px 0}dialog>.primary{width:100%}
html[data-ts-theme=dark]{color-scheme:dark;--bg:#111e28;--card:#1c2d39;--ink:#e4eef3;--muted:#a8bac5;--line:#334955;--accent:#80c9e2;--soft:#294650}html[data-ts-theme=dark] .primary{background:#287a94;color:white}html[data-ts-theme=dark] .top{background:#203f4e;border-color:#355767}html[data-ts-theme=dark] .retail{color:#c6dde8}html[data-ts-theme=dark] .brand img{background:#d5eaf4;border-radius:8px;padding:3px}
@media(min-width:901px){.group-toggle{cursor:default}.group-toggle>span:last-child{display:none}}
@media(max-width:900px){.top-inner{padding:10px 14px;gap:12px}.brand img{width:140px;height:43px}.retail{display:none}.login{font-size:13px;padding:10px 12px}.login span{display:none}main{padding:14px}.intro{margin-bottom:8px}.intro h1{font-size:25px}.intro>p{display:none}.eyebrow{font-size:10px}.toolbar{gap:8px;flex-wrap:wrap;padding:8px 0 10px}.group-toggle{width:100%;min-height:52px}.group-toggle strong{max-width:calc(100vw - 95px)}#search-form{flex-basis:100%;min-height:48px}#query{font-size:16px;padding:7px}.layout{display:block}aside{display:none;position:fixed;inset:10px;z-index:20;max-height:calc(100dvh - 20px);box-shadow:0 0 0 100vmax #142b3977;overscroll-behavior:contain}aside.open{display:block}.category-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-12px;background:var(--card);padding:8px 0;z-index:1}.category-head h2{margin:0}.category-head button{font-size:25px;padding:2px 12px}#group-list button,#group-list details>summary,.root{padding-top:12px;padding-bottom:12px;font-size:15px}.display-tools{gap:10px;flex-wrap:wrap;font-size:12px;margin:3px 0 10px}.view-options{gap:4px}#count{font-size:11px}.products.list .product{grid-template-columns:calc(58px * var(--density)) minmax(0,1fr) auto;gap:calc(8px * var(--density));padding:calc(8px * var(--density))}.product-name{font-size:calc(14px * var(--density))}.article{font-size:calc(10px * var(--density))}.price{font-size:calc(15px * var(--density))}.unit,.availability{font-size:calc(10px * var(--density))}.buy-info{max-width:calc(99px * var(--density))}.availability{white-space:normal}.products.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.products.grid .product{padding:8px}.products.grid .image-button{max-width:calc(125px * var(--density))}footer{gap:10px;display:flex;flex-direction:column;margin-top:15px}footer>a{margin-left:0}.guest-note{font-size:12px}#detail-image{height:210px}}
html[data-ts-theme=dark] .availability.available{color:#8edbb7}

a.image-button{display:block;text-decoration:none}a.product-name{color:inherit;text-decoration:none}a.product-name:hover{text-decoration:underline}

/* Guest storefront layout. Scoped to this page; existing data/JS contracts stay intact. */
.guest-store .top{background:var(--card);border-bottom:1px solid var(--line)}
.guest-store .top-inner{max-width:1480px;min-height:76px;padding:12px 28px;gap:18px}
.guest-store .top .brand{flex:0 0 auto;min-width:0}
.guest-store .top .brand img{display:block;width:164px;height:52px;object-fit:contain;max-width:none}
.guest-store .top .retail{padding:7px 11px;border-radius:8px;background:var(--soft);color:var(--accent);font-size:13px;white-space:nowrap}
.guest-store .top .header-catalog,.guest-store .top .gc-top-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;flex-shrink:0}
.guest-store .top .header-catalog{margin-left:auto}
.guest-store .top .gc-top-link{margin-left:0}
.guest-store .top .header-catalog svg,.guest-store .top .gc-top-link svg{width:20px;height:20px;flex:none}
.guest-store .top .header-catalog:hover,.guest-store .top .gc-top-link:hover{background:var(--soft)}
.guest-store .top .login{margin-left:0;min-height:44px;min-width:76px;padding:10px 18px;border-radius:10px;font-size:14px;line-height:1.2;white-space:nowrap;flex:0 0 auto}
.guest-store main{padding-top:24px}
.guest-store .intro{margin-bottom:14px}
.guest-store h1{font-size:30px;line-height:1.2}
.guest-store .toolbar{gap:12px;padding:10px 0 14px;align-items:stretch}
.guest-store .group-toggle{width:240px;min-height:48px;border-radius:12px;padding:6px 13px}
.guest-store .group-toggle small{line-height:13px}
.guest-store .group-toggle strong{line-height:19px}
.guest-store #search-form{height:48px;min-height:48px;align-items:center;padding:1px;gap:4px;border-radius:12px;box-shadow:0 2px 5px #173b5105}
.guest-store #query{height:44px;padding:8px 12px;font-size:16px;line-height:1.3}
.guest-store #search-form>.primary{height:44px;min-height:44px;min-width:78px;padding:9px 16px;border-radius:10px;line-height:1.2}
.guest-store .layout{grid-template-columns:240px minmax(0,1fr);gap:12px}
.guest-store aside{top:80px;border-radius:14px;padding:10px;max-height:calc(100dvh - 96px)}
.guest-store .display-tools{min-height:48px;margin:0 0 12px;gap:14px;font-size:13px}
.guest-store .stock{min-height:44px;font-size:14px;gap:8px}
.guest-store input[type=checkbox]{width:18px;height:18px}
.guest-store .view-options{gap:5px}
.guest-store .view-options>button{width:44px;height:44px;padding:10px;min-height:44px;border-radius:10px;font-size:20px}
.guest-store #display-settings>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;font-size:13px}
.guest-store .display-panel{max-width:calc(100vw - 32px);box-shadow:0 12px 30px #173b511c}
.guest-store .display-panel>button{min-height:44px}
.guest-store button:disabled{opacity:.5;cursor:default;filter:none}
.guest-store button:focus-visible,.guest-store a:focus-visible,.guest-store summary:focus-visible{outline:3px solid #3988a4;outline-offset:3px}
.guest-store #search-form:focus-within{outline:3px solid #3988a4;outline-offset:2px}
.guest-store .products{gap:9px}
.guest-store .product{border-radius:13px;padding:12px}
.guest-store .products.list .product{grid-template-columns:clamp(48px,calc(72px * var(--density)),144px) minmax(0,1fr) auto;gap:16px}
.guest-store .product-copy{min-width:0}
.guest-store .product-name{font-size:clamp(15px,calc(15px * var(--density)),24px);line-height:1.4;font-weight:600}
.guest-store .article{font-size:clamp(11px,calc(12px * var(--density)),16px);line-height:1.35;margin-bottom:4px}
.guest-store .price{font-size:clamp(18px,calc(19px * var(--density)),28px);line-height:1.25;font-variant-numeric:tabular-nums}
.guest-store .unit,.guest-store .availability{font-size:12px;line-height:1.4}
.guest-store .availability.available{color:#24704d}
.guest-store .products.grid .product{padding:14px;gap:10px}
.guest-store .products.grid .image-button{width:100%;max-width:170px}
.guest-store .products.grid .product-name{font-size:15px}
.guest-store .more{min-height:46px;border-radius:11px}
.guest-store #status{font-size:14px;line-height:1.5;padding:16px}
.guest-store #status button{min-height:44px}
.guest-store #product-dialog{padding:24px;border-radius:18px;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px)}
.guest-store .dialog-close{width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:0;line-height:1}
.guest-store #detail-name{font-size:23px;line-height:1.3;margin:10px 0 12px}
.guest-store #detail-image{height:250px;margin-bottom:14px}
.guest-store #detail-stock{font-size:14px;color:var(--muted)}
.guest-store #detail-manufacturer-info{font-size:14px;line-height:1.55}
.guest-store #detail-manufacturer-info h3{font-size:17px;line-height:1.4}
.guest-store #detail-manufacturer-info dl{margin:14px 0}
.guest-store #detail-manufacturer-info dt{font-weight:600}
.guest-store #detail-manufacturer-info dd{margin:3px 0 12px;color:var(--muted)}
.guest-store #detail-manufacturer-info a{overflow-wrap:anywhere}
.guest-store #product-dialog>.primary{min-height:46px}
.guest-store .ts-typeahead-panel{border-color:var(--line);border-radius:13px;box-shadow:0 12px 28px #173b5126;font-size:14px}
.guest-store .ts-typeahead-panel button{min-height:48px;padding:10px;gap:10px;line-height:1.4}
.guest-store .ts-typeahead-panel button:focus-visible{outline:3px solid #3988a4;outline-offset:-3px}
.guest-store .ts-typeahead-hint,.guest-store .ts-typeahead-status{font-size:12px;line-height:1.4}
.guest-store .ts-typeahead-article{font-size:12px}
html[data-ts-theme=dark] .guest-store .availability.available{color:#8edbb7}
@media(max-width:1100px){
 .guest-store .top .retail{display:none}
 .guest-store .top-inner{gap:12px}
}
@media(max-width:900px){
 .guest-store .top-inner{min-height:68px;padding:10px 14px;gap:10px}
 .guest-store .top .brand img{width:140px;height:44px}
 .guest-store main{padding:16px 14px}
 .guest-store .intro{margin-bottom:10px}
 .guest-store .intro .eyebrow{display:none}
 .guest-store h1{font-size:25px;margin:0}
 .guest-store .toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0 12px}
 .guest-store #search-form{order:0;flex:1 1 100%}
 .guest-store .group-toggle{order:1;width:100%;min-height:44px;padding:6px 12px}
 .guest-store .group-toggle small{font-size:10px;line-height:12px}
 .guest-store .group-toggle strong{font-size:14px;line-height:17px;max-width:calc(100vw - 92px)}
 .guest-store .layout{display:block}
 .guest-store aside{inset:12px;top:12px;max-height:calc(100dvh - 24px);padding:14px;border-radius:16px}
 .guest-store .category-head{top:-14px;padding:0 0 12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
 .guest-store .category-head h2{font-size:19px}
 .guest-store .category-head button{width:44px;height:44px;padding:0;min-height:44px}
 .guest-store #group-list button,.guest-store .root,.guest-store #group-list details>summary{min-height:44px;line-height:1.4}
 .guest-store .display-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;margin-bottom:12px}
 .guest-store .stock{grid-row:1;grid-column:1}
 .guest-store .view-options{grid-row:1;grid-column:2;margin-left:0}
 .guest-store #count{grid-row:2;grid-column:1/-1;font-size:12px;line-height:1.4;color:var(--muted)}
 .guest-store .products.list .product{grid-template-columns:clamp(56px,calc(64px * var(--density)),88px) minmax(0,1fr);grid-template-areas:'photo copy' 'photo buy';gap:7px 12px;padding:12px;align-items:start}
 .guest-store .products.list .image-button{grid-area:photo;align-self:start}
 .guest-store .products.list .product-copy{grid-area:copy}
 .guest-store .products.list .buy-info{grid-area:buy;max-width:none;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;text-align:left;gap:3px 8px}
 .guest-store .products.list .price{max-width:100%;font-size:clamp(17px,calc(18px * var(--density)),25px);white-space:normal;overflow-wrap:anywhere}
 .guest-store .products.list .unit,.guest-store .products.list .availability{margin:0;font-size:12px}
 .guest-store .product-name{font-size:clamp(14px,calc(15px * var(--density)),23px)}
 .guest-store .article{font-size:11px}
 .guest-store .products.grid{gap:10px}
 .guest-store .products.grid .product{padding:12px}
 .guest-store .products.grid .price{font-size:18px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .guest-store .products.grid .image-button{max-width:140px}
 .guest-store #product-dialog{padding:20px;border-radius:16px}
 .guest-store #detail-image{height:210px;margin-top:15px}
 .guest-store #detail-name{font-size:21px}
 .guest-store #detail-price{font-size:25px}
 .guest-store dialog::backdrop{backdrop-filter:none}
}
@media(max-width:600px){
 .guest-store .top-inner{gap:8px;min-height:64px;padding:10px 14px}
 .guest-store .top .brand img{width:132px;height:42px}
 .guest-store .top .header-catalog,.guest-store .top .gc-top-link{width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;gap:0}
 .guest-store .top .header-catalog span,.guest-store .top .gc-top-link span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .guest-store .top .header-catalog svg,.guest-store .top .gc-top-link svg{width:20px;height:20px}
 .guest-store .top .login{min-width:66px;padding:10px 12px;font-size:14px}
 .guest-store .ts-typeahead-panel button{padding:10px 8px}
}
@media(max-width:360px){
 .guest-store .top-inner{gap:6px;padding-left:12px;padding-right:12px}
 .guest-store .top .brand img{width:112px;height:36px}
 .guest-store .top .login{min-width:64px;padding-left:10px;padding-right:10px}
 .guest-store main{padding-left:12px;padding-right:12px}
 .guest-store #search-form>.primary{min-width:70px;padding-left:12px;padding-right:12px}
 .guest-store .products.list .product{gap:7px 10px;padding:10px}
}
