.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);padding-top:calc(var(--hdr-h) + 48px);padding-bottom:clamp(56px,7vw,96px);align-items:start}
.pdp__crumb{grid-column:1/-1;color:var(--ink-mute)}
.gal{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:start}
.gal__thumbs{display:grid;gap:10px}
.gal__thumb{display:block;width:84px;aspect-ratio:4/5;border:1px solid var(--line-strong);overflow:hidden;position:relative;background:var(--tile);transition:border-color .2s}
.gal__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gal__thumb[aria-pressed="true"]{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}
.gal__main{aspect-ratio:4/5;position:relative}
.gal__main img{transition:transform .8s var(--ease),opacity .3s;transform-origin:50% 22%}
.gal__main.is-detail img{transform:scale(1.9)}
.info{position:sticky;top:96px;display:grid;gap:22px}
.info .pdp__title{font-size:clamp(40px,5vw,76px);line-height:.98;letter-spacing:.004em}
.info__type{color:var(--ink-mute);margin-top:-8px}
.info__price{font:700 clamp(28px,2.6vw,38px)/1 var(--ff-display);letter-spacing:.04em}
.info__desc{max-width:52ch;color:var(--ink-mute)}
.info .row{display:grid;gap:10px}
.info .lab{font:500 11px/1.4 var(--ff-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-mute)}
.info .lab b{color:var(--ink);font-weight:500}
.size-err{display:none;color:var(--color-error);font-size:12px}
.size-err::before{content:"! ";font-weight:500}
.info.has-err .size-err{display:block}
.info.has-err .chips{outline:1px solid var(--color-error);outline-offset:6px}
.buy{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-strong);height:48px}
.qty button{width:42px;height:100%;font-size:18px;transition:background .2s}
.qty button:hover{background:rgba(228,239,234,.08)}
.qty output{min-width:34px;text-align:center;font:500 13px/1 var(--ff-mono)}
.buy .btn{flex:1;min-width:200px}
.points{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:20px}
.points li{position:relative;padding-left:20px;font-size:13px}
.points li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:var(--brass)}
.assure{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:var(--ink-mute)}
.assure a{border-bottom:1px solid var(--line-strong)}
.pay-row.small .pay{width:44px;height:28px}
.more{padding:0 0 clamp(64px,8vw,120px)}
.more h2{font-size:clamp(34px,4vw,60px);margin-bottom:clamp(24px,3vw,40px)}
.more__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.nf{padding:calc(var(--hdr-h) + 80px) var(--pad-x) 120px}
.nf h1{font-size:clamp(40px,6vw,90px);margin-bottom:18px}
@media (max-width:900px){
  .pdp{grid-template-columns:1fr}
  .info{position:static}
  .gal{grid-template-columns:1fr}
  .gal__thumbs{grid-template-columns:repeat(2,84px);order:2}
  .more__grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
}
