.product-page{width:min(1440px,100%);margin:auto;padding:0 clamp(1.25rem,4vw,4rem) var(--space-section)}
.product-record__heading{display:grid;gap:.65rem;padding:1.25rem 0 1.75rem;border-bottom:1px solid var(--color-border-strong)}
.product-record__meta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.78rem;font-weight:700}.product-record__meta b{padding:.35rem .55rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);font-size:.64rem;letter-spacing:.04em;text-transform:uppercase}
.product-record__heading h1{margin:0;font:700 clamp(3rem,4.4vw,4.4rem)/.92 var(--font-display);letter-spacing:-.035em;text-wrap:balance}
.product-ledger{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.72fr) minmax(290px,.85fr);border-bottom:1px solid var(--color-border-strong)}.product-ledger--no-facts{grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr)}
.product-gallery{min-width:0;display:grid;grid-template-columns:92px minmax(0,1fr);border-right:1px solid var(--color-border-strong);background:#fff}.product-gallery__thumbs{display:grid;align-content:start;border-right:1px solid var(--color-border)}.product-gallery__thumbs button{display:grid;gap:.5rem;padding:.75rem;border:0;border-bottom:1px solid var(--color-border);background:transparent;text-align:left;cursor:pointer}.product-gallery__thumbs button[aria-pressed=true]{color:var(--color-accent);box-shadow:inset 2px 0 var(--color-accent)}.product-gallery__thumbs span{font:700 .76rem/1 var(--font-display)}.product-gallery__thumbs img{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid transparent}.product-gallery__thumbs button[aria-pressed=true] img{border-color:var(--color-accent)}
.product-gallery__stage{min-height:610px;position:relative;display:grid;place-items:center;overflow:hidden}.product-gallery__stage>img{width:100%;height:100%;max-height:680px;object-fit:contain}.product-gallery__zoom{position:absolute;right:1rem;bottom:1rem;min-height:40px;display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:rgba(255,255,255,.94);font-size:.72rem;font-weight:700;cursor:pointer}.product-gallery__zoom svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.product-gallery--empty{display:grid;place-items:stretch;min-height:610px}.product-gallery__placeholder{display:flex;flex-direction:column;justify-content:space-between;padding:2rem;color:#171817;background:var(--color-accent)}.product-gallery__placeholder span{font:700 1rem/1 var(--font-display)}.product-gallery__placeholder strong{align-self:flex-end;max-width:8ch;font:700 clamp(4rem,8vw,8.5rem)/.82 var(--font-display);letter-spacing:-.04em;text-align:right;overflow-wrap:anywhere}.product-gallery__placeholder small{font-size:.72rem;font-weight:700}
.product-gallery__dialog{width:min(1000px,calc(100% - 2rem));max-width:none;height:min(92vh,1000px);padding:2.5rem;border:0;border-radius:var(--radius-card);background:#fff}.product-gallery__dialog::backdrop{background:rgba(21,22,21,.72)}.product-gallery__dialog img{width:100%;height:100%;object-fit:contain}.product-gallery__dialog button{position:absolute;right:1rem;top:1rem;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:#fff;cursor:pointer}.product-gallery__dialog svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.product-ledger__facts{min-width:0;border-right:1px solid var(--color-border-strong)}.product-ledger__facts dl{margin:0}.ledger-fact{display:grid;gap:.65rem;padding:1.6rem;border-bottom:1px solid var(--color-border)}.ledger-fact:last-child{border-bottom:0}.ledger-fact dt{color:var(--color-text-muted);font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.ledger-fact dd{margin:0;font-size:.88rem}.ledger-fact .compatibility-tags{margin:0}
.product-ledger__purchase{min-width:0;align-self:start;padding:1.6rem}.product-stock{display:flex;align-items:center;gap:.55rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border);font-size:.82rem;font-weight:700}.product-stock>span{width:9px;height:9px;border:2px solid var(--color-accent)}.product-stock--out{color:var(--color-text-muted)}.product-stock--out>span{border-color:var(--color-border-strong)}
.product-price-block{display:grid;gap:.55rem;padding:1.5rem 0;border-bottom:1px solid var(--color-border)}.product-price-block>span{color:var(--color-text-muted);font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.product-price-row{display:flex;align-items:baseline;gap:.8rem}.product-price{font:700 clamp(2.25rem,3vw,3.25rem)/.95 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.product-price-row del{color:var(--color-text-muted);font-size:.8rem}.product-price--unknown{max-width:10ch;font-size:clamp(2rem,2.7vw,2.8rem)}
.variant-selector{padding:1.5rem 0;border-bottom:1px solid var(--color-border)}.variant-selector fieldset{margin:0;padding:0;border:0}.variant-selector fieldset+fieldset{margin-top:1.25rem}.variant-selector legend{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;font-size:.72rem;font-weight:700}.variant-selector legend span{color:var(--color-text-muted);font-size:.6rem;font-weight:600}.variant-selector fieldset>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.variant-selector button{min-height:48px;display:grid;place-items:center;padding:.45rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:#fff;cursor:pointer}.variant-selector button[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.variant-selector button:disabled{color:var(--color-text-muted);background:var(--color-surface-subtle);cursor:not-allowed;text-decoration:line-through}.variant-selector button b{font-size:.74rem}.variant-selector button small{font-size:.54rem;text-decoration:none}
.product-purchase-control{min-height:48px;margin:1.5rem 0}.product-ledger__purchase .product-card__action,.product-ledger__purchase .quantity-control{height:52px}.product-delivery,.product-expert{display:flex;gap:.7rem;margin:0;padding:1rem 0;border-top:1px solid var(--color-border);font-size:.72rem}.product-delivery svg,.product-expert svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5}.product-expert{color:var(--color-text-muted)}
.product-information{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border-bottom:1px solid var(--color-border-strong)}.product-information>section{padding:clamp(2rem,4vw,4rem)}.product-information>section+section{border-left:1px solid var(--color-border-strong)}.product-information h2,.product-related h2{margin:0 0 1.25rem;font:700 clamp(2rem,3vw,3.25rem)/1 var(--font-display);letter-spacing:-.025em}.product-description p{max-width:65ch;margin:0;color:var(--color-text-muted)}.product-description p+p{margin-top:1rem}.product-specs dl{margin:0}.product-specs dl>div{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(0,1fr);gap:1.5rem;padding:.85rem 0;border-top:1px solid var(--color-border)}.product-specs dt{color:var(--color-text-muted);font-size:.74rem}.product-specs dd{margin:0;font-size:.8rem;font-weight:600}.product-package{grid-column:1/-1}.product-package ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:1px;background:var(--color-border);list-style:none}.product-package li{padding:1rem;background:var(--color-surface-page);font-size:.78rem}
.product-related{padding:var(--space-section) 0 0}.product-related>header{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.product-related>header p{max-width:45ch;margin:0;color:var(--color-text-muted);font-size:.82rem}.product-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.mobile-purchase-dock{display:none}.product-not-found{min-height:60vh;display:grid;place-content:center;justify-items:start}.product-not-found h1{max-width:10ch;margin:0 0 1rem;font:700 clamp(3rem,7vw,6rem)/.92 var(--font-display)}.product-not-found p{max-width:55ch;margin:0 0 2rem;color:var(--color-text-muted)}
@media(max-width:1100px){.product-ledger{grid-template-columns:minmax(0,1.25fr) minmax(210px,.65fr) minmax(270px,.8fr)}.product-gallery{grid-template-columns:72px minmax(0,1fr)}.product-gallery__stage,.product-gallery--empty{min-height:520px}.product-ledger__purchase,.ledger-fact{padding:1.25rem}.product-information>section{padding:2.5rem 2rem}}
@media(max-width:820px){.product-record__heading{display:block;padding-top:1.75rem}.product-record__heading h1{margin:.7rem 0 1rem;font-size:clamp(2.8rem,10vw,4.5rem)}.product-record__heading>.compatibility-tags{justify-content:flex-start}.product-ledger,.product-ledger--no-facts{display:flex;flex-direction:column}.product-gallery{order:1;border-right:0;border-bottom:1px solid var(--color-border-strong)}.product-ledger__purchase{order:2;width:100%;border-bottom:1px solid var(--color-border-strong)}.product-ledger__facts{order:3;border-right:0}.product-gallery__stage,.product-gallery--empty{min-height:0;aspect-ratio:3/4}.product-ledger__facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-fact{border-right:1px solid var(--color-border)}.ledger-fact:nth-child(2n){border-right:0}.product-information{grid-template-columns:1fr}.product-information>section+section{border-left:0;border-top:1px solid var(--color-border-strong)}.product-package{grid-column:auto}.product-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.product-page{padding-inline:1rem}.product-page>.breadcrumbs{padding:.85rem 0;white-space:nowrap;overflow-x:auto}.product-page>.breadcrumbs span[aria-current=page]{max-width:16ch;overflow:hidden;text-overflow:ellipsis}.product-record__meta{font-size:.7rem}.product-record__heading h1{font-size:clamp(2.55rem,12vw,3.8rem)}.product-gallery{grid-template-columns:1fr}.product-gallery__stage{order:1}.product-gallery__thumbs{order:2;grid-auto-flow:column;grid-auto-columns:76px;overflow-x:auto;border-top:1px solid var(--color-border);border-right:0}.product-gallery__thumbs button{border-right:1px solid var(--color-border);border-bottom:0}.product-gallery__thumbs button[aria-pressed=true]{box-shadow:inset 0 -2px var(--color-accent)}.product-gallery__zoom{right:.75rem;bottom:.75rem}.product-ledger__purchase{padding:1.25rem 0}.product-ledger__facts dl{grid-template-columns:1fr}.ledger-fact,.ledger-fact:nth-child(2n){padding:1.15rem 0;border-right:0}.product-information{margin-inline:-1rem}.product-information>section{padding:2.5rem 1rem}.product-specs dl>div{grid-template-columns:1fr;gap:.35rem}.product-package ul{grid-template-columns:1fr}.product-related>header{align-items:start;flex-direction:column;gap:.25rem}.product-related__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}.product-related__grid .product-card__content{padding:.85rem}.product-related__grid .product-card h3{font-size:.84rem}.product-related__grid .product-card__description{display:none}.product-related__grid .product-card__prices strong{font-size:1.35rem}.mobile-purchase-dock{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(100px,.7fr) minmax(160px,1.3fr);align-items:center;gap:.75rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid var(--color-border-strong);background:rgba(255,255,255,.97);transform:translateY(110%);transition:transform var(--duration-base) var(--ease)}.mobile-purchase-dock.is-visible{transform:none}.mobile-purchase-dock .product-price{font:700 1.35rem/1 var(--font-display)}.mobile-purchase-dock .product-card__action,.mobile-purchase-dock .quantity-control{height:46px}.product-gallery__dialog{width:100%;height:100%;max-height:none;padding:3.5rem 1rem 1rem;border-radius:0}}
@media(prefers-reduced-motion:reduce){.mobile-purchase-dock{transition:none}}
@media(prefers-reduced-motion:no-preference){.product-ledger{animation:ledger-settle .5s var(--ease) both}@keyframes ledger-settle{from{opacity:.01;clip-path:inset(0 0 8% 0);transform:translateY(10px)}to{opacity:1;clip-path:inset(0);transform:none}}}
