.product-page { min-height:100svh; background:var(--paper); }
.product-page [hidden] { display:none !important; }
.product-header { position:sticky; z-index:20; top:0; padding:.85rem 0; border-bottom:1px solid var(--line); background:rgba(251,247,237,.93); backdrop-filter:blur(16px); }
.product-header-grid { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.product-back-link { display:inline-flex; align-items:center; gap:.55rem; min-height:44px; padding:.6rem 0; border:0; border-bottom:1px solid transparent; background:transparent; color:var(--ink); cursor:pointer; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.product-back-link:hover { border-bottom-color:var(--rust); color:var(--rust); }
.product-loading { min-height:65svh; display:grid; place-items:center; color:var(--muted); }
.product-detail { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(350px,.8fr); gap:clamp(2.5rem,7vw,7rem); align-items:start; padding-top:clamp(2rem,5vw,5rem); padding-bottom:clamp(4rem,8vw,8rem); }
.product-gallery { position:sticky; top:120px; min-width:0; }
.product-main-image { margin:0; overflow:hidden; border:1px solid var(--line); background:#eee6d5; }
.product-main-image img { width:100%; aspect-ratio:1/.86; object-fit:cover; }
.product-thumbnails { display:flex; gap:.65rem; margin-top:.75rem; overflow:auto; }
.product-thumbnail { width:76px; height:76px; padding:0; overflow:hidden; border:1px solid var(--line); background:#eee6d5; cursor:pointer; }
.product-thumbnail[aria-current="true"] { border:3px solid var(--honey); }
.product-thumbnail img { width:100%; height:100%; object-fit:cover; }
.product-information { padding-top:clamp(.5rem,2vw,2rem); }
.product-brand { margin:0 0 1rem; color:var(--rust); font-size:.69rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.product-information h1 { margin:0; font:600 clamp(3rem,5.5vw,5.8rem)/.86 var(--serif); letter-spacing:-.05em; }
.product-intro { margin:1.5rem 0; color:#5f6459; font-size:1.04rem; }
.product-purchase-summary { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1rem; padding:1.3rem 0; border-block:1px solid var(--line); }
.product-purchase-summary strong { margin-right:auto; color:var(--rust); font:700 1.7rem/1 var(--sans); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.product-purchase-summary > span:not(.product-stock) { font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.product-stock { padding:.3rem .65rem; border-radius:99px; background:rgba(46,56,40,.1); color:var(--moss); font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.product-stock.low { background:rgba(242,169,0,.18); color:#815600; }
.product-stock.out { background:rgba(157,78,37,.12); color:var(--rust); }
.product-hive-reward{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;margin-top:1rem;padding:1rem;border:1px solid #e5b135;background:#fff8e7;color:var(--ink);text-decoration:none}.product-hive-reward>span:first-child{color:var(--honey);font-size:1.6rem}.product-hive-reward>span:nth-child(2){display:grid;gap:.15rem}.product-hive-reward strong{color:var(--rust);font-size:.84rem}.product-hive-reward small{color:var(--muted);font-size:.68rem}.product-hive-reward>b{font-size:.68rem}
.product-detail-actions { display:grid; grid-template-columns:90px 1fr auto; gap:.65rem; margin-top:1.25rem; }
.product-detail-actions .button { width:100%; min-height:52px; }
.product-detail-actions .wishlist-button { width:52px; min-height:52px; }
.product-detail-actions.post-add { grid-template-columns:1fr 1fr; }
.product-quantity { display:grid; gap:.15rem; color:var(--muted); font-size:.61rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.product-quantity input { width:100%; min-height:34px; padding:.25rem .5rem; border:1px solid var(--line); background:white; }
.product-action-message { min-height:1.4rem; margin:.65rem 0 0; color:var(--rust); font-size:.78rem; }
.product-reassurance { display:grid; margin-top:2rem; border-top:1px solid var(--line); }
.product-reassurance div { display:grid; gap:.15rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.product-reassurance strong { font-size:.8rem; }
.product-reassurance span { color:#696e63; font-size:.78rem; }
.product-full-description { margin-top:2.5rem; }
#product-full-description { color:#555b50; white-space:pre-line; }
.product-facts { display:grid; margin:2rem 0 0; border-top:1px solid var(--line); }
.product-facts div { display:grid; grid-template-columns:145px 1fr; gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--line); }
.product-facts dt { font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.product-facts dd { margin:0; color:#62685d; font-size:.82rem; }
.product-not-found { min-height:65svh; padding-block:7rem; }
.product-not-found h1 { max-width:700px; margin:0; font:600 clamp(3rem,6vw,6rem)/.9 var(--serif); }
.product-not-found .button { display:inline-flex; margin-top:1.5rem; text-decoration:none; }
.product-continue { padding:2.5rem 0; background:var(--honey); }
.product-continue .container { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.product-continue p { margin:0; font:600 clamp(1.5rem,3vw,2.4rem) var(--serif); }
.product-continue button { padding:.55rem 0; border:0; border-bottom:1px solid currentColor; background:transparent; cursor:pointer; font:700 .72rem var(--sans); letter-spacing:.09em; text-transform:uppercase; }
@media (max-width:800px) {
  .top-note span:not(.top-note-center) { display:none; }
  .top-note { justify-content:center; }
  .product-header .brand-mark span { display:none; }
  .product-detail { grid-template-columns:1fr; padding-top:1.25rem; }
  .product-gallery { position:static; }
  .product-information h1 { font-size:clamp(3rem,15vw,4.7rem); }
}
@media (max-width:520px) {
  .product-header-grid { width:min(100% - 1.5rem,1240px); }
  .product-back-link { font-size:.64rem; }
  .product-detail { width:min(100% - 1.5rem,1240px); }
  .product-continue .container { align-items:flex-start; flex-direction:column; }
  .product-detail-actions { grid-template-columns:78px 1fr auto; }
  .product-facts div { grid-template-columns:1fr; gap:.2rem; }
}
