.shop-wrap{max-width:1200px;margin:auto;padding:38px 24px 70px}.shop-intro{max-width:670px;margin-bottom:25px}.shop-intro .eyebrow{color:var(--cyan);font-size:11px;letter-spacing:.14em}.shop-intro h1{font-size:clamp(30px,4.5vw,50px);letter-spacing:-.04em;line-height:1.1;margin:12px 0}.shop-intro p{color:var(--muted);line-height:1.6}.shop-notice{padding:16px 20px;border:1px solid #385560;background:#10252b;border-radius:10px;margin-bottom:26px;font-size:13px;line-height:1.6}.shop-notice strong{color:#a6e9f6}.shop-notice p{margin:5px 0 0;color:#cedde2}.shop-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:24px;align-items:start}.shop-products{display:grid;grid-template-columns:1fr 1fr;gap:18px}.shop-product,.shop-cart{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.shop-product .product-image{width:100%;height:300px;object-fit:contain;background:#fff;display:block}.product-thumbs{display:flex;gap:6px;padding:10px 14px 0}.product-thumbs button{padding:0;background:#fff;border:2px solid transparent;border-radius:4px;overflow:hidden}.product-thumbs button[aria-pressed=true]{border-color:var(--cyan)}.product-thumbs img{display:block;width:33px;height:48px;object-fit:contain}.product-copy{padding:16px}.product-copy h2{font-size:18px;line-height:1.4;min-height:50px;margin:0 0 10px}.product-price{font-size:25px;font-weight:700;margin:0 0 8px}.product-copy small{display:block;min-height:36px;font-size:11px;line-height:1.5;color:var(--muted);margin-bottom:14px}.product-copy .button{width:100%}.shop-cart{padding:23px;position:sticky;top:20px}.shop-cart h2{font-size:23px;margin:0 0 22px}.cart-line{padding:13px 0;border-bottom:1px solid var(--line)}.cart-line strong{display:block;font-size:13px;line-height:1.6}.cart-line-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.cart-line input{width:55px;min-height:40px;background:var(--input);border:1px solid var(--line);color:white;text-align:center;border-radius:5px}.cart-remove{min-width:40px;min-height:40px;background:transparent;border:0;border-radius:5px;color:var(--muted);font-size:21px}.cart-controls{display:flex;gap:5px;align-items:center}.shop-total{display:flex;justify-content:space-between;margin:22px 0}.shop-total strong{font-size:24px}#shop-checkout{display:grid;gap:15px}#shop-checkout label{font-size:12px;color:var(--muted)}#shop-checkout input:not([type=checkbox]){display:block;width:100%;height:46px;margin-top:7px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit;font-size:16px;color:white;background:var(--input)}.shop-check{display:flex;align-items:start;gap:9px;line-height:1.6}.shop-check input{margin-top:4px;min-width:18px;min-height:18px;accent-color:var(--cyan)}#shop-feedback{color:var(--error);font-size:14px;line-height:1.5}#shop-feedback:empty{display:none}.shop-help{border-top:1px solid var(--line);margin-top:45px;padding-top:30px;max-width:750px}.shop-help h2{font-size:25px}.shop-help p{color:var(--muted);line-height:1.6}.shop-help .text-link{display:inline-flex;margin-right:24px;color:var(--cyan)}.order-number{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.order-state{font-size:22px!important;line-height:1.3;margin:18px 0!important}.order-note{font-size:13px;line-height:1.6;color:var(--muted)}.shop-cart [hidden],.shop-wrap [hidden]{display:none!important}.shop-cart .payment-button{height:auto;min-height:50px}.shop-cart .payment-button small{font-size:10px;color:var(--muted)}.shop-cart button:disabled{opacity:.5;cursor:not-allowed}.shop-cart button:focus-visible,.shop-product button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.shop-empty{color:var(--muted);font-size:13px;line-height:1.6}
@media(max-width:950px){.shop-layout{grid-template-columns:1fr}.shop-cart{position:static}.shop-products{max-width:680px}.shop-product .product-image{height:300px}.shop-cart{max-width:680px}.site-header>a:not(.brand):not(.header-phone){font-size:12px}}
@media(max-width:540px){.shop-wrap{padding:28px 14px 50px}.shop-products{gap:10px}.product-copy{padding:12px}.product-copy h2{font-size:14px;min-height:60px}.shop-product .product-image{height:210px}.product-price{font-size:23px}.product-copy .button{font-size:12px;padding:10px 8px}.shop-cart{padding:20px 16px}.shop-notice{padding:14px;font-size:12px}.site-header .header-phone{font-size:10px}.site-header>a:not(.brand):not(.header-phone){display:none}}
@media(max-width:350px){.shop-products{grid-template-columns:1fr}.product-copy h2{min-height:0}.shop-product .product-image{height:280px}}

.vest-catalogue .shop-products {max-width: none;}
.vest-catalogue .product-copy p:not(.product-price) {color: var(--muted); line-height: 1.55;}
.vest-catalogue .product-copy h2 {min-height: 0;}
.vest-gallery {padding: 0 16px 16px;}
.vest-gallery summary {cursor: pointer; color: var(--cyan); padding: 8px 0;}
.vest-gallery > div {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px;}
.vest-gallery img {display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 4px;}
@media (max-width: 540px) {
  .vest-catalogue .shop-products {grid-template-columns: 1fr;}
  .vest-catalogue .product-copy .button {font-size: 15px;}
}

.vest-catalogue .shop-products {align-items: start;}
.vest-stage, .vest-viewer, .vest-gallery img {background: #000;}
.vest-stage {position: relative;}
.vest-stage > a {display: block; cursor: zoom-in;}
.vest-catalogue .vest-stage .product-image {
  background: #000;
  height: clamp(280px, 35vw, 460px);
  padding: 8px 46px 24px;
}
.vest-stage output {
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--muted);
  font-size: 12px;
  pointer-events: none;
}
.vest-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--cyan);
  font: 30px/1 system-ui, sans-serif;
  cursor: pointer;
}
.vest-arrow:hover {border-color: var(--cyan);}
.vest-prev {left: 6px;}
.vest-next {right: 6px;}
.vest-gallery img {object-fit: contain;}
.vest-viewer {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(900px, calc(100vw - 16px));
  max-width: none;
  max-height: calc(100dvh - 16px);
  padding: 46px 50px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.vest-viewer::backdrop {background: rgb(0 0 0 / 85%);}
.vest-viewer img {
  display: block;
  width: 100%;
  height: min(75dvh, 1080px);
  object-fit: contain;
}
.vest-close {top: 4px; right: 6px; transform: none;}
