.shop {
  --paper:#faf8f5;
  --ink:#282420;
  --muted:#635c55;
  --rule:#dcd6cf;
  --card:#fffdfa;
  --accent:#a82434;
  --edge:clamp(18px,5vw,76px);
  --section:clamp(44px,6vw,88px);
  color:var(--ink);background:var(--paper);
}
.shop .productPage{max-width:1440px;margin:auto;padding:24px var(--edge) var(--section);background:var(--paper)}
.shop .productPage .back{display:inline-flex;align-items:center;min-height:34px;margin:0 0 18px;font-size:.82rem;color:var(--muted)}
.shop .productPage>article{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,82px);align-items:start}
.shop .productPage .detailCopy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;align-content:start;gap:0;padding:0;max-width:none;width:100%;min-width:0}
.shop .detailCopy>*{grid-column:1/-1;min-width:0}
.shop .detailCopy>small{font:650 .69rem/1.3 Inter,Arial,sans-serif;letter-spacing:.14em;color:var(--muted);margin:0 0 8px}
.shop .detailCopy>h1{grid-column:1;font:550 clamp(1.9rem,3.15vw,3.45rem)/1.06 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.055em;overflow-wrap:anywhere;margin:0}
.shop .detailCopy>.productPrice{grid-column:2;white-space:nowrap;align-self:end;margin:0 0 2px 12px;font:650 clamp(1.1rem,1.6vw,1.55rem)/1.2 Inter,Arial,sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.shop .detailCopy>p{margin:14px 0 0;color:var(--muted);font-size:1rem;line-height:1.55}
.shop .detailCopy .variantOptions{display:grid;gap:20px;margin:20px 0 0;padding:20px 0;border-block:1px solid var(--rule)}
.shop .detailCopy .variantOptions fieldset,.shop .detailCopy .kxBundles{border:0;padding:0;margin:0;min-width:0}
.shop .detailCopy fieldset legend,.shop .detailCopy form label{font-size:.91rem;font-weight:650;letter-spacing:0}
.shop .detailCopy .variantOptions legend,.shop .detailCopy .kxBundles legend{margin-bottom:9px;padding:0}
.shop .detailCopy .sizeGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.shop .detailCopy .sizeGrid button,.shop .detailCopy .kxBundles button{border:1px solid var(--rule);border-radius:9px;background:var(--card);color:var(--ink);min-width:0;min-height:56px;padding:8px 4px;display:grid;align-content:center;justify-items:center;gap:3px;font-size:.92rem;line-height:1.2}
.shop .sizeGrid button small,.shop .kxBundles button span{font-size:.75rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}
.shop .detailCopy :is(.sizeGrid,.kxBundles) button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#fcf1f0}
.shop .detailCopy>form{margin:0;padding:20px 0;display:grid;gap:14px}
.shop .detailCopy .tierNote{font-size:.83rem;color:var(--muted);line-height:1.45;margin:0 0 12px}
.shop .detailCopy .quantityControl{margin-top:10px}
.shop .detailCopy .previewNote{font-size:.77rem;letter-spacing:0;margin:0;color:var(--muted)}
.shop .detailCopy .primary{border-radius:12px;min-height:50px}
.shop .detailCopy .productPanel{margin:0;border:0;border-top:1px solid var(--rule);padding:0}
.shop .detailCopy .productPanel summary{padding:15px 0}
.shop .detailCopy .productPanel[open]{padding-bottom:14px}
.shop .detailCopy .purchaseFacts,.shop .productPage .sizeGuide{border-radius:12px;background:#f1ede7;color:var(--ink);padding:clamp(15px,2vw,24px);margin:18px 0 0}
.shop .detailCopy .purchaseFacts h2,.shop .productPage .sizeGuide h2{font:650 clamp(1.05rem,1.45vw,1.35rem)/1.25 Inter,Arial,sans-serif;letter-spacing:-.025em}
.shop .productPage .variantMedia{min-width:0}
.shop .productPage .kxPhoto{border-radius:14px}
.shop .productPage .mediaTabs button{border-radius:20px;padding-inline:14px}
.shop .kxMaking{padding-top:var(--section);margin-top:var(--section)}
.shop .catalogue .displayGrid{gap:clamp(22px,3vw,44px) clamp(12px,2vw,28px)}
.shop .catalogue .itemPhoto,.shop .kxProduction figure,.shop .workshop figure img{border-radius:12px;overflow:hidden}
.shop .cataloguePriceRow{align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}
.shop .catalogue .catalogueProductName{letter-spacing:-.035em}
.shop :is(.kxProduction,.kxContact,.buyingGuide,.workshop){padding-inline:var(--edge);padding-block:var(--section)}
.shop :is(.buyingGuide,.kxProduction,.kxContact,.workshop) h2,.shop .kxMaking h2{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:550;font-size:clamp(1.9rem,4vw,3.7rem);letter-spacing:-.055em}
@media(max-width:800px){
  .shop .productPage{padding-top:10px}
  .shop .productPage .back{margin-bottom:10px}
  .shop .productPage>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;align-items:baseline}
  .shop .productPage .variantMedia,.shop .productPage .detailCopy{display:contents}
  .shop .productPage article :is(.variantMedia,.detailCopy)>*{grid-column:1/-1;order:5}
  .shop .productPage article .detailCopy>small{order:0}
  .shop .productPage article .detailCopy>h1{grid-column:1;order:1}
  .shop .productPage article .detailCopy>.productPrice{grid-column:2;order:1}
  .shop .productPage article .variantMedia>.mediaTabs{order:2;margin:14px 0 0}
  .shop .productPage article .variantMedia>:not(.mediaTabs):not(.sizeGuide){order:3;margin-top:12px}
  .shop .productPage article .variantMedia>.sizeGuide{order:8}
  .shop .productPage article .detailCopy>.purchaseFacts{order:6}
  .shop .productPage article .detailCopy>.productPanel{order:7}
  .shop .productPage article .detailCopy>form{order:5}
  .shop .detailCopy .variantOptions{margin-top:16px;padding-block:16px}
}
@media(prefers-reduced-motion:no-preference){
  .shop :is(.sizeGrid,.kxBundles,.mediaTabs) button,.shop .primary{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
  .shop .kxCanvas img{animation:kxImageIn .2s ease-out}
  @keyframes kxImageIn{from{opacity:.8}to{opacity:1}}
}

@media(max-width:700px){.shop>header{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;padding-inline:12px}.shop>header .brand{gap:5px;white-space:nowrap;font-size:clamp(16px,4.4vw,21px)}.shop>header .brand img{width:clamp(26px,8vw,34px);height:auto}.shop>header .basket{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px;white-space:nowrap;font-size:.8rem}.shop>header .basket b{margin:0}.shop>header .menuToggle{padding-inline:4px;font-size:.84rem}}