/* Desktop shop pages follow the supplied 1440px artwork. */
.shop-page{background:#fff;color:#000;color-scheme:light}
.shop-header{position:relative;height:calc(103.248 * var(--unit));background:#000;color:#fff}
.shop-page button:focus-visible,.shop-page a:focus-visible,.shop-page summary:focus-visible{outline:2px solid #166874;outline-offset:5px}
.shop-header button:focus-visible,.site-footer button:focus-visible,.site-footer a:focus-visible{outline-color:#fff}
.shop-catalog{padding:calc(49 * var(--unit)) calc(60 * var(--unit)) calc(65 * var(--unit))}
.shop-section-heading{margin:0;font-size:calc(24 * var(--unit));font-weight:800;line-height:1.1;letter-spacing:-.035em}
.shop-section-heading>img{width:calc(535 * var(--unit));height:calc(23 * var(--unit));object-fit:contain;object-position:left}
.shop-categories{display:flex;gap:calc(35 * var(--unit));margin:calc(60 * var(--unit)) 0 calc(50 * var(--unit))}
.shop-categories>button{position:relative;width:calc(144 * var(--unit));height:calc(30 * var(--unit))}
.shop-categories img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .35s ease}
.category-active{opacity:0}.shop-categories [aria-selected=true] .category-active,.shop-categories button:hover .category-active{opacity:1}
.shop-categories [aria-selected=true] .category-default{opacity:0}
.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(38 * var(--unit)) calc(10 * var(--unit))}
.shop-card{min-width:0;position:relative;transform-origin:center top}
.shop-card-photo{position:relative;aspect-ratio:322/378;overflow:hidden;border-radius:calc(16 * var(--unit));background:#eee}
.shop-card-photo>a{display:block;width:100%;height:100%}.shop-photo{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.shop-card-photo:hover .shop-photo{transform:scale(1.035)}
.shop-card-details,.shop-card-details>img{width:100%;display:block;aspect-ratio:322/113;height:auto}
.shop-card-actions{position:absolute;top:calc(12 * var(--unit));right:calc(7 * var(--unit));display:flex;align-items:center;gap:calc(13 * var(--unit))}
.shop-card-actions button{width:calc(29 * var(--unit));height:calc(25 * var(--unit));transition:transform .35s ease,filter .35s ease}
.shop-card-actions img{width:100%;height:100%;object-fit:contain}.shop-card-actions button:hover{transform:scale(1.1)}
.shop-card-actions [aria-pressed=true]{filter:brightness(.4) sepia(1) saturate(7) hue-rotate(135deg)}
.shop-photo-arrow{position:absolute;top:50%;display:grid;place-items:center;width:calc(49 * var(--unit));height:calc(49 * var(--unit));border-radius:calc(9 * var(--unit));background:#166874;color:#fff;opacity:0;transform:translateY(-50%) translateX(-7px);transition:opacity .35s ease,transform .45s var(--ease),background .3s ease}
.shop-photo-arrow svg{width:calc(12 * var(--unit));height:calc(18 * var(--unit))}
.shop-photo-prev{left:0}.shop-photo-next{right:0;transform:translateY(-50%) translateX(7px)}
.shop-photo-arrow:disabled{background:#000;cursor:default}.shop-card-photo:hover .shop-photo-arrow,.shop-card:focus-within .shop-photo-arrow{opacity:1;transform:translateY(-50%) translateX(0)}
.shop-photo-arrow:not(:disabled):hover{background:#218593}
.shop-motion .shop-card{opacity:0;transform:translateY(calc(34 * var(--unit))) rotateX(4deg);filter:blur(4px);transition:opacity .8s ease,transform 1s var(--ease),filter .8s ease;transition-delay:calc(var(--column,0) * 110ms)}
.shop-motion .shop-card.is-visible{opacity:1;transform:none;filter:none}
.shop-product{position:relative;min-height:calc(1112.752 * var(--unit));padding:calc(45.832 * var(--unit)) calc(60 * var(--unit)) calc(42 * var(--unit));display:grid;grid-template-columns:calc(816.312 * var(--unit)) calc(480 * var(--unit));gap:calc(23.688 * var(--unit));align-items:start}
.shop-product-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(6 * var(--unit))}
.shop-product-photos>img{width:100%;height:auto;aspect-ratio:405.156/509.125;border-radius:calc(16 * var(--unit));object-fit:cover}
.shop-product-info{position:relative;padding-top:calc(2.889 * var(--unit))}
.shop-product-name{margin:0;height:calc(79.125 * var(--unit))}.shop-product-sku{height:calc(47.174 * var(--unit))}.shop-product-price{height:calc(59.732 * var(--unit))}
.shop-product-buy{display:grid;gap:calc(5 * var(--unit));margin-bottom:calc(9 * var(--unit))}
.shop-product-buy button{height:calc(56 * var(--unit));width:100%;display:grid;place-items:center;background:#000;border-radius:2px;transition:background .45s ease,transform .45s var(--ease)}
.shop-product-buy button+button{background:#166874}.shop-product-buy button:hover{background:#21808a;transform:translateY(-2px)}
.shop-disclosure{border-bottom:1px solid #c3c3c3;overflow:hidden}.shop-disclosure summary{height:calc(59 * var(--unit));display:flex;align-items:center;justify-content:space-between;padding:0 calc(5 * var(--unit));cursor:pointer;list-style:none}
.shop-disclosure summary::-webkit-details-marker{display:none}.shop-disclosure summary>span{position:relative;width:calc(18 * var(--unit));height:calc(18 * var(--unit))}
.shop-disclosure summary>span::before,.shop-disclosure summary>span::after{content:"";position:absolute;background:#000;left:0;top:50%;width:100%;height:1.5px}.shop-disclosure summary>span::after{transform:rotate(90deg);transition:transform .35s ease}.shop-disclosure[open] summary>span::after{transform:rotate(0)}
.shop-specs{padding:var(--spec-top,calc(5 * var(--unit))) calc(6.17 * var(--unit)) var(--spec-bottom,calc(27 * var(--unit)))}
.shop-delivery{padding:0 calc(6 * var(--unit)) calc(25 * var(--unit));font-size:calc(18 * var(--unit));line-height:1.55}.shop-delivery a{color:#166874;text-decoration:underline}
.shop-carousel{position:relative;padding:calc(38 * var(--unit)) calc(60 * var(--unit)) calc(45 * var(--unit));background:#fff;color:#000}
.shop-carousel[hidden]{display:none}.shop-carousel .shop-categories{margin:calc(57 * var(--unit)) 0 calc(48 * var(--unit))}
.shop-carousel[data-shop-carousel=recent] .shop-grid{margin-top:calc(60 * var(--unit))}
.shop-carousel-arrows{position:absolute;right:calc(58 * var(--unit));top:calc(105 * var(--unit));display:flex;gap:calc(8 * var(--unit))}
.shop-carousel[data-shop-carousel=recent] .shop-carousel-arrows{top:calc(28 * var(--unit))}
.shop-carousel-arrows button{font:300 calc(40 * var(--unit))/1 Arial;width:calc(40 * var(--unit));height:calc(38 * var(--unit));transition:color .3s,transform .4s}.shop-carousel-arrows button:hover{color:#166874;transform:translateX(2px)}.shop-carousel-arrows button:disabled{opacity:.25;cursor:default}
.shop-toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);padding:15px 26px;background:#166874;color:#fff;font-size:16px;border-radius:3px;z-index:30;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.shop-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.shop-dialog{border:0;background:#fff;color:#000;padding:38px;width:550px;max-width:90vw;border-radius:12px;max-height:80vh}.shop-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}
.shop-dialog h2{font-size:25px;margin:0 0 28px}.shop-dialog-close{position:absolute;right:15px;top:8px;font-size:30px}.shop-dialog p{line-height:1.5}.shop-dialog a{color:#166874}.shop-dialog-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:15px;margin:16px 0;border-bottom:1px solid #ddd;padding-bottom:16px}.shop-dialog-row img{width:60px;border-radius:5px}.shop-dialog-row small{display:block;margin-top:6px;color:#777}.shop-dialog-row button{font-size:22px}.shop-dialog-total{font-weight:700;border-top:1px solid #ddd;padding-top:20px}.shop-dialog-contact{display:block;margin-top:24px;background:#166874;color:#fff!important;padding:15px;text-align:center;border-radius:2px}.shop-search-input{width:100%;padding:15px;border:1px solid #bbb;margin-bottom:10px;font:inherit}.shop-cart-count{position:absolute;right:-7px;top:-5px;background:#166874;color:white;font:10px/16px Arial;min-width:16px;border-radius:50%}
@media(prefers-reduced-motion:reduce){.shop-motion .shop-card{opacity:1;transform:none;filter:none;transition:none}.shop-photo{transition:none}.shop-card-photo:hover .shop-photo{transform:none}}

.shop-disclosure:first-of-type summary{height:calc(51 * var(--unit))}
.shop-photo-prev svg{transform:rotate(180deg)}
.shop-carousel[data-shop-carousel=recent] .shop-section-heading{width:fit-content;max-width:100%}
.shop-carousel[data-shop-carousel=recent] .shop-section-heading>img{display:block;width:calc(518 * var(--unit));height:auto;max-width:100%}

.shop-empty{grid-column:1/-1;min-height:calc(250 * var(--unit));font-size:calc(20 * var(--unit));color:#777;display:flex;align-items:center;justify-content:center}
