:root{font-family:Arial,Helvetica,sans-serif;color:#242222;background:#fff;font-synthesis:none;line-height:1.45;--line:#e1dede;--muted:#686464;--accent:#b6252d}
*{box-sizing:border-box}
html{scroll-padding-top:82px}
body{margin:0}
button,input,select{font:inherit;color:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:5px;padding:8px 12px}
button:disabled{cursor:default;opacity:.45}
a{color:var(--accent)}
:focus-visible{outline:3px solid #3689c0;outline-offset:2px}
[hidden]{display:none!important}
main,footer{width:min(100%,1120px);margin:auto;padding:20px}
h1,h2,h3,p{margin:0}
h1,h2{font-size:23px;line-height:1.25;letter-spacing:-.4px}
h3{font-size:17px;overflow-wrap:anywhere}
p{overflow-wrap:anywhere}
.section-heading,.tray-heading,.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hint,.catalog-note{font-size:13px;color:var(--muted);margin:8px 0 12px}
.catalog-note{color:#454040}
.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:600;display:inline-block;text-decoration:none;text-align:center;border-radius:5px;padding:11px 14px;font-size:14px}
.primary:disabled{background:#ebe6e6;color:#756969;border-color:#ebe6e6;opacity:1}
.text-button{color:var(--accent);font-size:13px;border-color:transparent;padding:6px 8px}
.site-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{width:min(100%,1120px);margin:auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo-link{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:inherit;font-weight:700;line-height:1.2}
.logo-link img{display:block;width:42px;height:42px;object-fit:contain;border-radius:7px;flex-shrink:0}
.logo-wordmark{font-size:18px;white-space:nowrap}
.header-actions,.dialog-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.language-switch{display:flex;align-items:center;border:1px solid var(--line);border-radius:5px;overflow:hidden;flex-shrink:0}
.language-switch button{border:0;border-radius:0;font-size:13px;padding:8px 10px;line-height:20px;min-height:36px;background:#fff}
.language-switch button+button{border-left:1px solid var(--line)}
.language-switch button[aria-pressed=true]{background:#fcf0f0;color:var(--accent);font-weight:700;box-shadow:inset 0 -2px var(--accent)}
.language-switch button:focus-visible{position:relative;outline-offset:-3px}
.header-messenger{font-size:13px;padding:9px 12px;white-space:nowrap}
.carousel-controls{display:flex;gap:6px;flex-shrink:0}
.carousel-controls button,.pagination button{font-size:26px;line-height:26px;width:40px;height:40px;padding:0}
.carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/4);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:12px 0 8px}
.carousel:empty{display:none}
.carousel .product-card{scroll-snap-align:start}
.catalog{margin-top:28px;scroll-margin-top:12px}
.inventory-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 12px;font-size:12px;color:var(--muted)}
.filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;margin-bottom:8px}
.filters label{min-width:0}
.filters input,.filters select,.variant-fields select,.comparison-controls select{width:100%;min-width:0;height:42px;border:1px solid #d2cbcb;border-radius:5px;background:#fff;padding:7px 9px;font-size:14px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.product-card{min-width:0;width:100%;max-width:240px;justify-self:center;align-self:start;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card-open{display:block;text-align:left;width:100%;border:0;padding:8px;border-radius:0;min-width:0;line-height:1.35}
.product-name{font-weight:600;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.photo-open,.listing-image{display:block;width:100%;border:0;border-radius:0;padding:0;background:#f8f8f8}
.photo-open{cursor:zoom-in}
.listing-image{cursor:pointer}
.photo-open:disabled{opacity:1;cursor:default}
.photo-frame{background:#f8f8f8;position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}
.photo-frame img{display:block;width:100%;height:100%;object-fit:contain;padding:3%;mix-blend-mode:multiply}
.listing-image .photo-frame{aspect-ratio:3/4}
.listing-image .photo-frame img{padding:0;mix-blend-mode:normal}
.card-stock{padding:0 8px 6px;font-size:12px;line-height:1.4}
.card-inquiry{margin:0 8px 8px;padding:7px 5px;border-color:var(--accent);color:var(--accent);font-size:12px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.photo-missing{padding:8px;font-size:12px;line-height:1.35;text-align:center;color:var(--muted)}
.photo-missing span{display:block}
.photo-missing span:first-child{font-size:24px;color:#a9a2a2}
.empty-state{padding:28px 12px;text-align:center;color:var(--muted);font-size:14px;border:1px solid var(--line);border-radius:6px}
.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px;font-size:14px}
.special-request{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0;padding:20px;background:#fff6f3;border:1px solid #e5c8c2;border-radius:9px}
.special-request h2{font-size:19px}
.special-request p{font-size:14px;margin-top:7px;max-width:700px}
.special-request .primary{flex-shrink:0}
.compare-tray{margin-top:24px;padding:18px;border:1px solid #d9c5c5;background:#fff;border-radius:8px;scroll-margin-top:12px}
.compare-tray h2{font-size:21px}
.tray-heading{flex-wrap:wrap}
.tray-heading>span{font-size:13px;color:var(--muted);margin-right:auto}
.tray-selections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tray-item{display:flex;min-width:0;border:1px solid var(--line);border-radius:5px;align-items:flex-start}
.tray-edit{flex:1;min-width:0;border:0;padding:10px;text-align:left}
.tray-copy{min-width:0;overflow-wrap:anywhere;font-size:13px}
.tray-copy strong,.tray-copy span{display:block}
.tray-remove{padding:4px 9px;border:0;font-size:22px;flex-shrink:0}
.tray-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px}
.tray-actions p{font-size:13px;color:var(--muted)}
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.comparison-grid>div{min-width:0}
.comparison-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.comparison-controls label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:13px;overflow:hidden;padding:3px}
.comparison-controls select:focus-visible{outline-offset:-3px}
.comparison-controls label:first-child,.comparison-controls .stock-status{grid-column:1/-1}
.comparison-photo{aspect-ratio:1/1;min-width:0}
.comparison-photo .photo-frame,.comparison-photo .photo-open{height:100%;border-radius:5px}
.comparison-photo.empty{background:transparent}
.comparison-details .primary{width:100%;margin-top:10px}
.stock-status{font-size:13px;color:var(--accent)}
.specs{font-size:13px;margin:12px 0}
.specs>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;border-top:1px solid var(--line);padding:7px 0;overflow-wrap:anywhere}
.specs dt{color:var(--muted)}
.specs dd{margin:0}
footer{border-top:1px solid var(--line);font-size:12px;color:var(--muted);margin-top:16px;padding-top:20px;padding-bottom:24px}
.footer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.rights-disclaimer{font-size:12px;line-height:1.55;margin-top:12px}
#productDialog{width:min(1170px,92vw);max-width:92vw;max-height:92vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:0;color:inherit;background:#fff;overscroll-behavior:contain}
#productDialog::backdrop{background:#211d1d80}
.dialog-bar{position:sticky;top:0;z-index:2;background:#fff;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.close-dialog{font-size:26px;border:0;padding:0 5px;line-height:30px;min-width:44px;min-height:44px;flex-shrink:0}
.dialog-language button{font-size:11px;line-height:18px;padding:5px 6px;min-height:28px}
.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:18px}
.gallery,.detail-info{min-width:0}
.gallery>.photo-open,.gallery>.photo-frame{border:1px solid var(--line);border-radius:6px;overflow:hidden}
.detail-info h2{font-size:25px;margin:3px 0 10px;overflow-wrap:anywhere}
.variant-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.variant-fields label{font-size:13px;min-width:0}
.variant-fields label span{display:block;margin-bottom:4px}
.detail-actions{display:grid;gap:8px;margin:14px 0}
.detail-actions button,.detail-actions a{width:100%;min-height:44px}
.detail-message{font-size:13px;color:var(--accent);margin:8px 0}
.popup-disclaimer{font-size:12px;line-height:1.5;color:var(--muted);margin:0;padding:0 18px 14px}
.photo-thumbnails{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;margin-top:8px;padding:2px 1px 5px;scrollbar-width:thin}
.photo-thumbnails button{flex:0 0 64px;width:64px;height:64px;padding:3px;border:1px solid var(--line);border-radius:5px;background:#fff;overflow:hidden;cursor:pointer}
.photo-thumbnails button[aria-pressed=true]{border:2px solid var(--accent);padding:2px;background:#fcf0f0}
.photo-thumbnails .photo-frame{width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:2px}
.photo-thumbnails .photo-frame img{padding:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
  html{scroll-padding-top:72px}
  main,footer{padding-left:10px;padding-right:10px}
  main{padding-top:14px}
  h1,h2{font-size:20px}
  .header-inner{padding:8px 10px;gap:8px}
  .header-actions{gap:7px}
  .logo-link{gap:7px}
  .logo-wordmark{font-size:15px}
  .language-switch button{font-size:12px;padding:7px 8px;min-height:34px}
  .header-messenger{font-size:12px;padding:9px}
  .carousel-controls{gap:4px}
  .carousel-controls button{width:30px;height:34px;font-size:24px}
  .carousel{grid-auto-columns:calc((100% - 15px)/4);gap:5px}
  .product-grid{gap:5px}
  .card-open{padding:6px 4px;font-size:11px}
  .product-name{font-size:11px;line-height:1.35}
  .card-stock{padding:0 4px 5px;font-size:10px}
  .card-inquiry{margin:0 4px 6px;padding:6px 2px;font-size:10px}
  .photo-missing{font-size:10px;padding:4px}
  .photo-missing span:first-child{font-size:20px}
  .catalog{margin-top:22px}
  .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px}
  .search-label{grid-column:1/-1}
  .filters input{font-size:16px}
  .filters select{font-size:12px;padding:7px 5px}
  .filters .text-button{font-size:11px;padding:4px}
  .hint,.catalog-note{font-size:12px}
  .special-request{flex-direction:column;align-items:stretch;gap:12px;padding:15px;margin:22px 0}
  .special-request h2{font-size:18px}
  .special-request p{font-size:13px}
  .compare-tray{padding:10px}
  .compare-tray h2{font-size:19px}
  .tray-heading{gap:7px}
  #collapseComparison{font-size:11px;padding:6px 0}
  .tray-selections{gap:7px}
  .tray-copy{font-size:12px}
  .tray-edit{padding:8px 5px}
  .tray-remove{padding:3px 6px}
  .tray-actions p{font-size:12px}
  .comparison-grid{gap:8px}
  .comparison-controls{grid-template-columns:1fr;gap:7px}
  .comparison-controls label,.comparison-controls .stock-status{grid-column:1}
  .comparison-controls select{font-size:16px;padding:6px}
  .comparison-controls label{font-size:12px}
  .comparison-details h3{font-size:14px}
  .comparison-details .specs{font-size:12px}
  .comparison-details .specs>div{grid-template-columns:1fr;gap:2px}
  .comparison-details .primary{font-size:12px;padding:9px 5px}
  #productDialog{width:96vw;max-width:96vw;max-height:94dvh}
  .product-detail{grid-template-columns:1fr;gap:18px;padding:8px}
  .popup-disclaimer{padding:2px 10px 12px}
  .detail-info h2{font-size:23px}
  .variant-fields select{font-size:16px}
  .dialog-bar{padding:8px 10px;gap:5px;font-size:12px}
  .dialog-controls{gap:4px}
  .dialog-language button{font-size:10px;padding:4px 5px;min-height:27px;line-height:18px}
  .close-dialog{padding:0 3px}
  .photo-thumbnails button{flex-basis:56px;width:56px;height:56px}
  .rights-disclaimer{font-size:11px}
  footer{font-size:11px}
}
@media(max-width:430px){.logo-wordmark{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
