.product-page {padding-top:24px;padding-bottom:64px}
.product-breadcrumb {display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:#5b5751;margin-bottom:26px}
.product-breadcrumb a {text-decoration:underline;text-underline-offset:3px}
.product-breadcrumb span {overflow-wrap:anywhere}
.product-layout {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:start}
.product-gallery {min-width:0;position:sticky;top:102px}
.gallery-stage {position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gallery-open {display:block;width:100%;padding:0;border:0;background:var(--card);cursor:zoom-in;aspect-ratio:1}
.gallery-open img {width:100%;height:100%;object-fit:contain}
.gallery-open[aria-busy=true] {opacity:.65}
.gallery-zoom-hint {position:absolute;bottom:14px;right:14px;pointer-events:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px;display:flex}
.gallery-thumbs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.gallery-thumb {padding:0;border:2px solid transparent;border-radius:var(--r-sm);background:var(--card);overflow:hidden}
.gallery-thumb[aria-current=true] {border-color:var(--ink);box-shadow:0 0 0 2px var(--yellow)}
.gallery-thumb img {width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.gallery-caption {display:flex;justify-content:space-between;gap:10px;color:#5b5751;font-size:12px;margin:14px 0 0}
.gallery-caption p {margin:0}
.product-brand {margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#5b5751}
.product-title {font-size:clamp(32px,3.2vw,44px);margin:0;line-height:1.07}
.product-title .pack-heading-count {display:block;color:var(--ink);font-size:1.12em;margin-bottom:5px}
.product-unit-total {font-size:13px;line-height:1.5;margin:-8px 0 20px;color:var(--ink)}
.product-content {margin:14px 0 22px;font-size:16px;color:#5b5751;line-height:1.5}
.product-price {display:flex;align-items:baseline;gap:12px;margin-top:18px;margin-bottom:7px}
.product-price strong {font-size:44px;font-family:var(--font-display);line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums}
.product-price span,.product-equivalent {font-size:13px;color:#5b5751}
.product-equivalent {margin:0 0 20px}
.product-stock {display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#17623f;margin:18px 0}
.product-stock.unavailable {color:var(--danger)}
.product-stock svg {flex-shrink:0}
.product-choice-label {display:block;font-weight:600;font-size:14px;margin:22px 0 10px}
.product-page .pack-options {margin:0 0 20px;gap:10px}
.product-page .pack-option {flex:1;border-radius:var(--r-sm);background:var(--card);padding:12px 16px;min-height:60px}
.product-page .pack-option[aria-current=page] {border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--yellow-tint)}
.product-quantity {display:flex;align-items:end;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line);margin:22px 0 20px}
.product-quantity label,.product-subtotal-label {display:block;font-size:13px;font-weight:600;margin-bottom:9px}
.product-stepper {display:flex;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;background:var(--card)}
.product-stepper button {border:0;background:var(--card);font-size:24px;width:44px;height:46px}
.product-stepper input {width:54px;min-width:0;border:0;text-align:center;font-size:16px;font-weight:600;appearance:textfield;background:var(--card)}
.product-stepper input::-webkit-inner-spin-button {appearance:none}
.product-stepper button:disabled {opacity:.3;cursor:default}
.product-subtotal {text-align:right}
.product-subtotal strong {font-size:24px;font-variant-numeric:tabular-nums}
.product-actions {display:grid;grid-template-columns:1fr 1fr;gap:12px}
.product-actions .btn {min-height:54px;padding:14px 12px;font-size:14px}
.product-actions .buy-now {border:1px solid var(--ink);background:var(--card);color:var(--ink)}
.product-actions .buy-now:hover {background:var(--paper-2)}
.product-delivery {display:flex;align-items:start;gap:10px;line-height:1.55;font-size:13px;color:#5b5751;margin:18px 0}
.product-delivery svg {flex-shrink:0;margin-top:2px}
.product-trust {display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px 0;border-block:1px solid var(--line);margin-bottom:12px}
.product-trust > div {display:flex;gap:10px;align-items:center}
.product-trust strong,.product-trust span {display:block;font-size:13px;line-height:1.5}
.product-trust span {color:#5b5751;font-size:12px}
.product-trust svg {flex-shrink:0}
.product-disclosure {border-bottom:1px solid var(--line);padding:0}
.product-disclosure summary {cursor:pointer;font-size:17px;font-weight:600;padding:20px 0;list-style:none;display:flex;align-items:center;justify-content:space-between}
.product-disclosure summary::-webkit-details-marker {display:none}
.product-disclosure summary::after {content:'+';font-size:24px;font-weight:400}
.product-disclosure[open] summary::after {content:'−'}
.product-disclosure p {font-size:14px;line-height:1.7;margin:0 0 18px;color:#5b5751}
.product-specs {margin:0 0 20px;display:grid;grid-template-columns:1fr 1.4fr;font-size:13px;line-height:1.5}
.product-specs dt,.product-specs dd {padding:10px 0;border-top:1px solid var(--line);margin:0}
.product-specs dt {color:#5b5751}
.product-specs dd {font-weight:600}
.product-share {display:flex;gap:10px;align-items:center;margin-top:20px;font-size:13px}
.product-share a {text-decoration:underline;text-underline-offset:3px;padding:8px 0}
.product-related {margin-top:64px;border-top:1px solid var(--line);padding-top:32px}
.product-related h2 {font-size:32px;margin:0 0 8px}
.product-related > p {color:#5b5751;margin:0 0 24px;font-size:14px}
.product-sticky-buy {display:none}
.gallery-dialog {width:min(94vw,900px);max-height:94dvh;padding:0;border:0;border-radius:var(--r);background:var(--card);color:var(--ink)}
.gallery-dialog::backdrop {background:rgba(0,0,0,.7)}
.gallery-dialog-bar {position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--card);z-index:1}
.gallery-dialog-bar p {margin:0;font-size:14px}
.gallery-dialog button {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card)}
.gallery-dialog img {width:100%;max-height:calc(94dvh - 128px);object-fit:contain}
.gallery-dialog-nav {display:flex;align-items:center;justify-content:center;gap:24px;padding:10px}
.product-page button:focus-visible,.product-page a:focus-visible,.product-page input:focus-visible,.product-page summary:focus-visible,.gallery-dialog button:focus-visible {outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:1000px){.product-layout{gap:28px}.product-actions{grid-template-columns:1fr}.product-trust{gap:10px}}
@media(max-width:760px){
 .screen:has(.product-page){padding-bottom:88px}
 .product-page {padding-top:18px;padding-bottom:100px}.product-breadcrumb{font-size:12px;margin-bottom:18px;gap:7px}.product-breadcrumb .breadcrumb-current{display:none}
 .product-layout {grid-template-columns:1fr;gap:28px}.product-gallery {position:static}.gallery-thumbs {gap:10px}.gallery-caption{font-size:11px}
 .product-title {font-size:34px}.product-content {margin:12px 0 18px}.product-price strong{font-size:40px}.product-actions{grid-template-columns:1fr 1fr;gap:10px}.product-actions .btn{font-size:13px}
 .product-trust{gap:14px}.product-related{margin-top:40px;padding-top:26px}.product-related h2{font-size:28px}
 .product-sticky-buy:not([hidden]) {display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;inset:auto 0 0;background:var(--card);border-top:1px solid var(--line-2);padding:12px 20px calc(12px + env(safe-area-inset-bottom));z-index:45;box-shadow:0 -3px 14px rgba(0,0,0,.06)}
 .product-sticky-buy strong{display:block;font-size:21px;font-variant-numeric:tabular-nums}.product-sticky-buy span{font-size:11px;color:#5b5751}.product-sticky-buy .btn{min-height:46px;font-size:13px}
 body:has(.product-sticky-buy:not([hidden])) .cart-notice{bottom:96px}
}
@media(prefers-reduced-motion:reduce){.gallery-open{transition:none}}
