body { background:var(--white); color:var(--text); }

.product-header {
  position:sticky; top:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:max(18px, env(safe-area-inset-top, 0px)) max(48px, env(safe-area-inset-right, 0px)) 18px max(48px, env(safe-area-inset-left, 0px));
  background:rgba(253,252,249,.94);
  backdrop-filter:blur(18px); border-bottom:1px solid rgba(0,0,0,.05);
}
.logo { font-family:'Playfair Display',serif; font-size:26px; font-weight:700; color:var(--dark); letter-spacing:6px; text-decoration:none; }
.logo span { color:var(--gold); }
.product-header-right { display:flex; align-items:center; gap:18px; }
.product-nav { display:flex; gap:28px; }
.product-nav a { text-decoration:none; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); transition:color .3s; }
.product-nav a:hover { color:var(--gold); }
.header-interest-link {
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  padding:11px 14px; border:1px solid rgba(201,168,76,.28); color:var(--text);
  font-size:11px; letter-spacing:1.3px; text-transform:uppercase; transition:all .3s;
}
.header-interest-link:hover { border-color:var(--gold); color:var(--gold); }
.header-interest-link.filled { background:var(--gold); border-color:var(--gold); color:var(--dark); }

.product-page { padding:48px max(48px, env(safe-area-inset-right, 0px)) 48px max(48px, env(safe-area-inset-left, 0px)); }
.product-hero { padding:24px 0 40px; }
.product-breadcrumb { display:flex; gap:10px; align-items:center; color:var(--muted); font-size:12px; margin-bottom:30px; }
.product-breadcrumb a { color:inherit; text-decoration:none; }
.product-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:start; }
.product-gallery-card { background:var(--cream); padding:18px; }
.product-main-image { width:100%; aspect-ratio:1; object-fit:cover; display:block; background:var(--warm); }
.product-main { background:linear-gradient(180deg,var(--white),var(--cream)); padding:32px; }
.product-badge { display:inline-block; padding:6px 12px; background:var(--gold); color:var(--dark); font-size:10px; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.product-kicker { display:block; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.product-title { font-family:'Playfair Display',serif; font-size:clamp(34px,4vw,54px); line-height:1.05; margin-bottom:16px; }
.product-desc { font-family:'Cormorant Garamond',serif; font-size:22px; line-height:1.7; color:var(--muted); margin-bottom:24px; }
.price-row { display:flex; align-items:end; gap:14px; margin-bottom:28px; }
.product-price { font-family:'Playfair Display',serif; font-size:44px; color:var(--dark); }
.per { font-size:15px; color:var(--muted); font-family:'Jost',sans-serif; }
.old-price { color:var(--muted); text-decoration:line-through; font-size:18px; }
.product-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:28px; }
.meta-card { background:rgba(255,255,255,.8); padding:16px; border:1px solid rgba(0,0,0,.06); }
.meta-label { display:block; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.meta-card strong { font-size:15px; line-height:1.5; }
.product-order-box { background:rgba(255,255,255,.82); border:1px solid rgba(0,0,0,.06); padding:18px; margin-bottom:22px; }
.qty-label { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.product-order-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.qty-control { display:flex; align-items:center; }
.qty-btn { width:42px; height:42px; border:1px solid #ddd; background:var(--white); color:var(--dark); cursor:pointer; transition:all .3s; }
.qty-btn:hover { border-color:var(--gold); color:var(--gold); }
.qty-value { width:58px; height:42px; border-top:1px solid #ddd; border-bottom:1px solid #ddd; display:flex; align-items:center; justify-content:center; font-weight:600; }
.order-summary { margin-top:12px; color:var(--muted); font-size:14px; }
.product-actions { display:flex; gap:12px; flex-wrap:wrap; }
.interest-panel { margin-top:18px; padding:18px; background:rgba(255,255,255,.86); border:1px solid rgba(0,0,0,.08); display:grid; gap:14px; }
.interest-label { display:block; margin-bottom:8px; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
.interest-summary { color:var(--muted); font-size:14px; line-height:1.8; }
.interest-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn-primary, .btn-outline {
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
  padding:14px 24px; font-size:11px; letter-spacing:2px; text-transform:uppercase; border:none; cursor:pointer; transition:all .3s;
}
.btn-primary { background:var(--gold); color:var(--dark); }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); }
.btn-outline { border:1px solid rgba(255,255,255,.25); color:var(--white); background:transparent; }
.dark-outline { border-color:rgba(0,0,0,.16); color:var(--text); }
.dark-outline:hover { border-color:var(--gold); color:var(--gold); }

.product-details { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:24px 0 32px; }
.detail-column { background:var(--cream); padding:30px; }
.detail-highlight { background:var(--dark); }
.section-tag { font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:14px; }
.section-title { font-family:'Playfair Display',serif; font-size:34px; line-height:1.2; margin-bottom:22px; }
.detail-highlight .section-title { color:var(--white); }
.spec-list { display:grid; gap:10px; }
.spec-row { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid rgba(0,0,0,.08); }
.spec-row span:first-child { color:var(--muted); font-size:14px; }
.spec-row span:last-child { color:var(--dark); font-weight:600; text-align:right; }
.benefit-list { display:grid; gap:18px; }
.benefit-item { padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.1); }
.benefit-item:last-child { border-bottom:none; padding-bottom:0; }
.benefit-item h3 { font-family:'Playfair Display',serif; font-size:22px; color:var(--white); margin-bottom:8px; }
.benefit-item p { color:rgba(255,255,255,.62); font-size:15px; line-height:1.8; }

.related-section { padding:24px 0 60px; }
.related-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.related-card { background:var(--cream); text-decoration:none; color:inherit; transition:transform .3s, box-shadow .3s; }
.related-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.08); }
.related-card img { width:100%; aspect-ratio:1.05; object-fit:cover; display:block; }
.related-info { padding:18px; }
.related-info span { display:block; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.related-info h3 { font-family:'Playfair Display',serif; font-size:21px; margin-bottom:8px; }
.related-info p { font-size:14px; color:var(--muted); line-height:1.7; }

.not-found { min-height:100vh; display:grid; place-items:center; text-align:center; padding:40px; }
.not-found h1 { font-family:'Playfair Display',serif; font-size:48px; margin-bottom:12px; }
.not-found p { color:var(--muted); margin-bottom:20px; }
.product-toast { position:fixed; right:max(24px, env(safe-area-inset-right, 0px)); bottom:max(24px, env(safe-area-inset-bottom, 0px)); background:var(--dark); color:var(--white); padding:14px 18px; border-left:3px solid var(--gold); z-index:2000; box-shadow:0 18px 40px rgba(0,0,0,.18); max-width:calc(100vw - 48px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)); }

@media (max-width: 1100px) {
  .product-layout, .product-details { grid-template-columns:1fr; }
  .related-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 768px) {
  .product-header { padding:max(16px, env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) 16px max(20px, env(safe-area-inset-left, 0px)); }
  .product-header-right { width:100%; justify-content:flex-end; }
  .product-nav { display:none; }
  .header-interest-link { padding:10px 12px; }
  .product-page { padding:24px max(20px, env(safe-area-inset-right, 0px)) 24px max(20px, env(safe-area-inset-left, 0px)); }
  .product-breadcrumb { display:none; }
  .product-main { padding:24px; }
  .product-desc { font-size:18px; line-height:1.55; margin-bottom:18px; }
  .product-meta-grid { grid-template-columns:1fr; }
  .product-meta-grid .meta-card:nth-child(n+3) { display:none; }
  .product-order-row { align-items:stretch; }
  .product-actions { flex-direction:column; }
  .interest-panel { padding:16px; }
  .detail-highlight { display:none; }
  .interest-actions { align-items:stretch; }
  .related-head { flex-direction:column; align-items:flex-start; }
  .related-grid { grid-template-columns:1fr; }
  .related-head .btn-outline { display:none; }
  .related-grid .related-card:nth-child(n+3) { display:none; }
}
