.product-page{background:var(--paper);min-height:100vh;color:var(--ink)}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:24px;font-size:13px;display:flex}.breadcrumbs a:hover{color:var(--forest)}.product-detail{max-width:1280px;margin:0 auto;padding:40px max(6vw,24px) 60px}.product-detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.product-detail-image{aspect-ratio:1;background:var(--sage-light);box-shadow:var(--shadow-soft);border-radius:28px;position:relative;overflow:hidden}.product-detail-image img{object-fit:cover}.product-detail-info>small{color:var(--leaf);font-weight:800}.product-detail-info h1{margin:8px 0 12px;font-size:clamp(30px,4vw,46px);line-height:1.5}.product-detail-desc{color:var(--muted);margin:0 0 26px;font-size:17px;line-height:2.1}.purchase-box{border:1px solid var(--line);background:#fff;border-radius:22px;gap:18px;padding:24px;display:grid}.option-group{border:0;margin:0;padding:0}.option-group legend{margin-bottom:10px;font-size:15px;font-weight:900}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1.5px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:99px;padding:0 18px;font-weight:800;transition:all .15s}.chip:hover{border-color:var(--forest-soft)}.chip.selected{background:var(--forest);border-color:var(--forest);color:#fff}.chip small{opacity:.75;font-weight:500}.price-box{background:var(--sage-light);border-radius:16px;padding:16px 18px}.price-box small{color:var(--muted);font-weight:700}.price-box strong{color:var(--forest);margin-top:2px;font-size:30px;display:block}.price-box strong span{font-size:14px}.price-box p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.9}.stock-note{color:var(--forest-soft);font-size:13px;font-weight:800}.stock-note.low{color:#a96a12}.stock-note.out{color:#a13a3a}.buy-row{gap:12px;display:flex}.quantity-picker{border:1.5px solid var(--line);border-radius:99px;flex-direction:row-reverse;align-items:center;display:flex;overflow:hidden}.quantity-picker button{background:0 0;border:0;width:46px;height:52px;font-size:20px}.quantity-picker button:disabled{opacity:.35;cursor:not-allowed}.quantity-picker span{text-align:center;min-width:34px;font-weight:900}.add-button,.buy-now{border:1.5px solid var(--forest);border-radius:99px;min-height:54px;font-size:16px;font-weight:900}.add-button{background:var(--forest);color:#fff;flex:1}.add-button:hover:not(:disabled){background:var(--forest-deep)}.buy-now{color:var(--forest);background:0 0}.buy-now:hover:not(:disabled){background:var(--sage-light)}.add-button:disabled,.buy-now:disabled{opacity:.45;cursor:not-allowed}.product-assurances{color:var(--muted);gap:8px;margin:22px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.product-assurances li:before{content:"✓";color:var(--forest-soft);margin-left:8px;font-weight:900}.related-products{max-width:1280px;margin:0 auto;padding:20px max(6vw,24px) 90px}.related-products h2{font-size:26px}.related-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.related-grid a{gap:6px;display:grid}.related-grid a>div{aspect-ratio:4/3;background:var(--sage-light);border-radius:18px;position:relative;overflow:hidden}.related-grid img{object-fit:cover}.related-grid span{color:var(--forest);font-weight:800}@media (max-width:900px){.product-detail-grid{grid-template-columns:1fr;gap:28px}.related-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.related-grid{grid-template-columns:1fr 1fr;gap:12px}.related-grid a>div{aspect-ratio:1}.related-grid b{font-size:14px}.buy-row{flex-direction:column}.quantity-picker{justify-content:center}}.sticky-buy{display:none}@media (max-width:700px){.product-page{padding-bottom:84px}.sticky-buy{z-index:25;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffef9f7;justify-content:space-between;align-items:center;gap:14px;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #1037271a}.sticky-buy small{color:var(--muted);font-size:12px;display:block}.sticky-buy strong{color:var(--forest);font-size:18px}.sticky-buy strong span{font-size:12px}.sticky-buy button{background:var(--forest);color:#fff;border:0;border-radius:99px;min-height:50px;padding:0 26px;font-size:15px;font-weight:900}.sticky-buy button:disabled{opacity:.45}}.buy-now{justify-content:center;align-items:center;width:100%;display:flex}.product-code{color:var(--muted);margin:0;font-size:14px}.product-code b{color:var(--ink);letter-spacing:.5px}.option-group legend{margin-bottom:12px;font-size:16px}.option-cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.option-cards.packaging{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.option-card{text-align:right;border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;gap:4px;min-height:68px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.option-card b{font-size:16px}.option-card span{color:var(--muted);font-size:13px}.option-card:hover{border-color:var(--forest-soft)}.option-card.selected{border-color:var(--forest);background:var(--sage-light);box-shadow:0 0 0 1px var(--forest) inset}.option-card.selected span{color:var(--forest);font-weight:800}.final-row{gap:8px;display:grid}.product-description{max-width:1280px;margin:0 auto;padding:10px max(6vw,24px) 50px}.product-description h2{border-bottom:2px solid var(--line);margin:0 0 16px;padding-bottom:12px;font-size:24px}.desc-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:40px;display:grid}.desc-text p{color:#3d5448;margin:0 0 14px;font-size:16px;line-height:2.2}.spec-table{border:1px solid var(--line);background:#fff;border-radius:16px;margin:0;overflow:hidden}.spec-table div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:13px 16px;display:flex}.spec-table div:last-child{border-bottom:0}.spec-table dt{color:var(--muted)}.spec-table dd{text-align:left;margin:0;font-weight:800}@media (max-width:900px){.desc-grid{grid-template-columns:1fr;gap:22px}}@media (max-width:560px){.option-cards{grid-template-columns:repeat(2,1fr)}.option-cards.packaging{grid-template-columns:1fr}}
