.product-page { padding:clamp(2rem,5vw,5rem) clamp(1.25rem,8vw,9rem) 5rem; background:var(--cream); }.breadcrumb { display:inline-flex; gap:.45rem; margin-bottom:2rem; color:#63705f; font-size:.85rem; font-weight:700; }.breadcrumb a { color:var(--forest); }.product-layout { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(320px,1fr); gap:clamp(2.5rem,7vw,7rem); align-items:start; }.product-image { position:sticky; top:1.5rem; display:grid; place-items:center; min-height:500px; padding:2rem; border-radius:18px; background:#f2eadc; }.product-image img { width:min(100%,480px); max-height:570px; object-fit:contain; }.product-info h1 { margin:.1rem 0 1rem; color:var(--forest); font-size:clamp(2.8rem,5vw,5rem); line-height:.95; letter-spacing:-.045em; }.product-description { max-width:620px; color:#59645a; font-size:1.05rem; line-height:1.65; }.detail-price { display:flex; align-items:baseline; gap:.7rem; margin:1.5rem 0; }.detail-price strong { color:var(--forest); font-size:1.8rem; }.detail-price del { color:var(--muted); }.discount-label { padding:.25rem .55rem; border-radius:99px; color:#fff; background:var(--orange); font-size:.72rem; font-weight:700; }.detail-actions { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; max-width:520px; margin:1.5rem 0 2rem; }.detail-actions button { min-height:49px; border:0; border-radius:8px; font-weight:700; }.add-detail { color:#fff; background:var(--forest); }.bag-detail { color:var(--forest); background:#edf2e9; border:1px solid #cbdcc6 !important; }.purchase-note { margin:0 0 1.6rem; color:var(--muted); font-size:.82rem; }.assurance-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; margin:2rem 0; }.assurance-card { padding:1rem; border:1px solid #dbe2d5; border-radius:10px; background:#f3f7ee; }.assurance-card strong { display:block; color:var(--forest); }.assurance-card p { margin:.28rem 0 0; color:#59645a; font-size:.82rem; line-height:1.45; }.detail-section { padding-top:1.6rem; margin-top:1.6rem; border-top:1px solid var(--line); }.detail-section h2 { font-size:1.8rem; }.detail-section p { color:#59645a; }.nutrition-note { margin:.5rem 0 1rem !important; font-size:.78rem; }.nutrition-grid { display:grid; grid-template-columns:repeat(2,1fr); overflow:hidden; border:1px solid var(--line); border-radius:10px; }.nutrition-grid div { padding:.8rem 1rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--forest); font-size:.88rem; font-weight:700; }.nutrition-grid div:nth-child(2n) { border-right:0; }.not-found { max-width:680px; margin:4rem auto; text-align:center; }.not-found p { color:var(--muted); }
.detail-quantity-control { display:grid !important; grid-template-columns:44px 52px 44px !important; width:140px; min-height:49px; border-radius:8px; background:#fff; justify-self:start; }.detail-quantity-control button { width:auto !important; min-height:49px !important; padding:0; border-radius:0 !important; color:var(--forest); background:#edf2e9; }.detail-quantity-control span { display:grid; min-width:0; place-items:center; color:var(--forest); background:#fff; font-weight:700; }
.pack-select { margin-left:.35rem; padding:.45rem 2rem .45rem .65rem; border:1px solid #cbdcc6; border-radius:7px; color:var(--forest); background:#f3f7ee; font-weight:700; }
.detail-actions.has-quantity { grid-template-columns:140px 150px; gap:.55rem; }.detail-actions.has-quantity .bag-detail { width:150px; }
.product-gallery { position:relative; width:100%; }.gallery-stage { overflow:hidden; width:100%; border-radius:12px; background:#fff; }.gallery-slide { display:none; aspect-ratio:3 / 4; }.gallery-slide.active { display:grid; place-items:center; }.gallery-slide img,.gallery-slide video { width:100%; height:100%; object-fit:contain; background:#fff; }.gallery-arrow { position:absolute; z-index:2; top:50%; display:grid; width:42px; height:42px; place-items:center; padding:0; border:1px solid #d9d2c5; border-radius:50%; color:var(--forest); background:rgba(255,253,248,.94); box-shadow:0 3px 10px rgba(25,47,38,.16); font-size:2rem; line-height:1; transform:translateY(-50%); }.gallery-arrow:hover { color:#fff; background:var(--forest); }.gallery-prev { left:.65rem; }.gallery-next { right:.65rem; }.gallery-count { margin:.55rem 0 0; color:#59645a; font-size:.75rem; font-weight:700; text-align:center; }
.product-image { width:min(100%,480px); min-height:0; padding:1.25rem; justify-self:center; }
@media (max-width:760px) { .product-layout { grid-template-columns:1fr; }.product-image { position:static; min-height:360px; }.product-info h1 { font-size:3rem; }.assurance-grid { grid-template-columns:1fr; }.detail-actions { grid-template-columns:1fr; }.nutrition-grid { grid-template-columns:1fr; }.nutrition-grid div { border-right:0; } }
