.product-page { padding: 0; }
.product-header, .product-layout, .product-footer { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.product-header { display:flex; align-items:center; justify-content:space-between; padding-block:26px; border-bottom:1px solid var(--border-subtle); }
.product-header nav { display:flex; gap:24px; align-items:center; font-size:14px; }
.product-header button { background:var(--bg-pill); color:var(--text-primary); border:0; border-radius:50%; width:44px; height:44px; font-size:24px; cursor:pointer; }
.product-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:72px; padding-block:56px 80px; align-items:start; }
.product-visual { position:sticky; top:30px; min-width:0; border-radius:28px; padding:32px; background:radial-gradient(ellipse at center, var(--bg-card-subtle), transparent 70%); border:1px solid var(--border-subtle); }
.product-eyebrow { font-size:10px; font-weight:800; letter-spacing:.13em; color:var(--text-muted); }
.product-visual img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; filter:drop-shadow(0 25px 22px #0003); }
.product-visual p { text-align:center; font-size:20px; }
.product-visual em { font-family:'Instrument Serif',serif; font-size:28px; }
.product-details { min-width:0; }
.product-details h1 { font-size:clamp(34px,4vw,54px); line-height:1.08; letter-spacing:-.05em; margin:16px 0; }
.product-description { color:var(--text-muted); font-size:14px; line-height:1.7; }
.product-price { font-size:36px; font-weight:800; margin-top:24px; }
.product-price span { font-size:13px; font-weight:400; color:var(--text-muted); }
.product-saving { margin-top:8px; color:var(--linkeo-cyan); font-size:13px; }
.product-specs { list-style:none; display:grid; gap:12px; font-size:14px; margin:24px 0; }
.product-share { margin-top:22px; background:none; border:0; color:var(--text-primary); border-bottom:1px solid var(--border-highlight); padding:12px 0; cursor:pointer; }
#share-status, #order-status { font-size:13px; overflow-wrap:anywhere; margin-top:10px; color:var(--linkeo-cyan); }
#share-status input { width:100%; padding:12px; }
.product-order { border-top:1px solid var(--border-subtle); margin-top:28px; padding-top:28px; display:grid; gap:18px; }
.product-order h2 { font-size:21px; margin-bottom:4px; }
.product-order .form-group { margin:0; min-width:0; }
.product-total { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:14px; }
.product-total output { font-size:25px; font-weight:800; }
.product-fine { font-size:12px; line-height:1.6; color:var(--text-muted); }
.product-home { display:block; text-align:center; margin-top:24px; padding:16px; border:1px solid var(--border-card); border-radius:12px; font-size:13px; }
.product-footer { border-top:1px solid var(--border-subtle); padding-block:28px; display:flex; justify-content:space-between; gap:20px; font-size:12px; color:var(--text-muted); }
.product-page a:focus-visible, .product-page button:focus-visible { outline:2px solid var(--linkeo-cyan); outline-offset:5px; }
.product-page button:active, .product-home:active { transform:scale(.97); }
.product-page button, .product-home { transition:transform .2s var(--ease-spring), background .2s; }
@media(max-width:760px) {
  .product-header, .product-layout, .product-footer { width:calc(100% - 36px); }
  .product-header { padding-block:16px; }
  .product-header nav { gap:16px; }
  .product-layout { grid-template-columns:1fr; gap:30px; padding-block:24px 40px; }
  .product-visual { position:static; padding:20px; }
  .product-visual img { max-height:340px; }
  .product-footer { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .product-page *, .product-page *::before { transition:none !important; transform:none !important; } }
