/* Shared actual review summary; no decorative scores or fabricated totals. */
.nd-product-metrics{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;max-width:100%;min-width:0}
.nd-product-metrics .nd-review-stars{font-size:12px!important;letter-spacing:0}
.nd-product-metrics .nd-rating{display:inline-flex;align-items:center;gap:5px;flex-wrap:nowrap;font-size:11px}
.nd-product-sold{display:inline-block;white-space:nowrap;font-size:11px;line-height:1.5;color:var(--shop-muted,#b9c1ce)}
.nd-rating{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;font-size:12px;line-height:1.5;color:var(--shop-muted,#b9c1ce);text-decoration:none;max-width:100%}
.nd-review-stars{position:relative;display:inline-block;flex:none;white-space:nowrap;font:20px/1.2 Arial,sans-serif;letter-spacing:1px;color:var(--shop-muted,#a4adbb)}
.nd-review-stars-fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#e9a727}
#san-pham .product-card-actions{grid-template-columns:minmax(0,1fr)}
#san-pham .nd-rating{font-size:11px;gap:5px 8px}
#san-pham .nd-review-stars{font-size:18px}
.product-detail-page{--shop-bg:#0c0d10!important;--shop-card:#161a22!important;--shop-field:#10141b!important;--shop-line:#343c49!important;--shop-text:#f4f6fa!important;--shop-muted:#bbc4d1!important;background:var(--shop-bg)!important}
[data-theme=light] .product-detail-page{--shop-bg:#f5f6f8!important;--shop-card:#fff!important;--shop-field:#f7f8fa!important;--shop-line:#d8dee7!important;--shop-text:#19212e!important;--shop-muted:#536174!important}
.product-detail-page .product-page-shell{padding-top:22px}
.product-page-shell .product-detail{gap:26px;align-items:start}
.product-page-shell .product-main-image{aspect-ratio:1;background:#f1f3f6;border:1px solid var(--shop-line);border-radius:16px}
.product-page-shell .product-main-image img{width:100%;height:100%;max-height:none!important;object-fit:contain}
.product-page-shell .product-visual-column{min-width:0;max-width:100%}
.product-detail-page .product-page-shell{touch-action:pan-x pan-y pinch-zoom}
.product-page-shell .product-thumbs{display:flex;gap:9px;margin-top:12px;flex-wrap:nowrap;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;padding:3px 0 9px;box-sizing:border-box;scrollbar-width:thin}
.product-page-shell .product-thumb{width:72px;height:72px;flex:0 0 72px;scroll-snap-align:start;padding:3px;border-radius:9px;overflow:hidden;aspect-ratio:1;border:1px solid var(--shop-line);background:var(--shop-card);cursor:pointer}
.product-page-shell .product-thumb[aria-pressed=true]{border-color:var(--shop-accent,#ff2435);box-shadow:inset 0 0 0 1px var(--shop-accent,#ff2435)}
.product-page-shell .product-thumb:focus-visible{outline:2px solid var(--shop-accent,#ff2435);outline-offset:1px}
.product-page-shell .product-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.product-page-shell .product-summary{padding:26px;border-radius:16px;background:var(--shop-card);box-shadow:0 8px 30px rgba(0,0,0,.05)}
.product-page-shell .product-summary h1{font-size:clamp(24px,2.6vw,32px);line-height:1.4;margin:13px 0}
.product-page-shell .product-sale-label{font-size:11px;padding:5px 9px;border-radius:6px}
.product-page-shell .product-detail-price{padding:15px 17px;margin:18px 0 12px;border-radius:10px;background:var(--shop-selected,rgba(255,30,39,.08));font-size:28px;line-height:1.4}
.product-page-shell .product-order-intro{font-size:14px;line-height:1.6;margin:10px 0 18px}
.product-page-shell .product-picker-heading{margin-top:18px;padding-top:18px}
.product-page-shell .product-picker-heading h2{font-size:18px;margin:0 0 4px}
.product-page-shell .product-option-grid{gap:9px}
.product-page-shell .product-option-content{border-radius:8px!important;min-height:44px;padding:9px 12px;background:var(--shop-field);color:var(--shop-text)}
.product-page-shell .product-option-content img{border-radius:5px;width:38px;height:38px;object-fit:cover}
.product-page-shell .product-option-card input:checked+.product-option-content{border-color:var(--shop-accent);background:var(--shop-selected);color:var(--shop-text)}
.product-page-shell .product-overview{padding:22px;margin-top:18px;border-radius:16px}
.product-page-shell .product-actions .shop-btn{min-height:48px;border-radius:9px}
.product-page-shell #productOrderForm,.product-page-shell #productReviews{scroll-margin-top:110px}
.nd-order-note{display:flex;align-items:center;gap:9px;color:var(--shop-muted);font-size:13px;line-height:1.6;margin:20px 0}
.nd-order-note i{color:var(--shop-accent)}
.nd-product-reviews{padding:24px;border:1px solid var(--shop-line);border-radius:16px;background:var(--shop-card);margin-top:24px;color:var(--shop-text)}
.nd-reviews-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.nd-reviews-heading h2{font-size:22px;margin:0}
.nd-product-reviews>p,.nd-review-help{color:var(--shop-muted);font-size:13px;line-height:1.7}
.nd-review-form{max-width:680px;display:grid;gap:12px;margin:20px 0}
.nd-review-form fieldset{padding:0;border:0;margin:0;min-width:0}
.nd-review-form legend,.nd-review-form>label{margin-bottom:9px;font-size:14px;font-weight:600}
.nd-review-score-options{display:flex;flex-wrap:wrap;gap:8px}
.nd-review-score-options label{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--shop-line);border-radius:8px;background:var(--shop-field);cursor:pointer}
.nd-review-score-options label:has(input:checked){border-color:var(--shop-accent);background:var(--shop-selected)}
.nd-review-score-options input{accent-color:var(--shop-accent)}
.nd-review-form textarea{box-sizing:border-box;width:100%;max-width:100%;resize:vertical;min-height:120px;padding:12px;border:1px solid var(--shop-line);border-radius:9px;background:var(--shop-field);color:var(--shop-text);font:inherit;font-size:16px}
.nd-review-form textarea::placeholder{font-size:12px;color:var(--shop-muted)}
.nd-review-form .shop-btn{justify-self:start;min-height:44px}
.nd-review{padding:20px 0;border-top:1px solid var(--shop-line)}
.nd-review p{font-size:14px;line-height:1.7;overflow-wrap:anywhere;white-space:normal}
.nd-review-author{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:9px}
.nd-review-author>span{font-size:11px;color:var(--shop-accent)}
.nd-review-author time{font-size:12px;color:var(--shop-muted);margin-left:auto}
.nd-reviews-empty{border-top:1px solid var(--shop-line);padding-top:18px;margin-top:22px}
.nd-rating:focus-visible,.nd-review-form :focus-visible{outline:2px solid var(--shop-accent);outline-offset:3px}
@media(max-width:900px){.product-page-shell .product-main-image{order:0}.product-page-shell .product-thumbs{order:1}.product-page-shell .product-summary{order:2;padding:18px}.product-page-shell .product-overview{order:3;margin-top:0;padding:18px}.product-page-shell .product-detail{gap:16px!important}.product-page-shell .product-summary h1{font-size:23px}.product-page-shell .product-detail-price{font-size:25px}.product-page-shell .product-breadcrumb{font-size:11px;margin-bottom:16px}.nd-product-reviews{padding:18px}.nd-reviews-heading h2{font-size:20px}.product-page-shell .product-full-description{padding:18px}.nd-review-author time{margin-left:0}.nd-order-note{font-size:12px}}
@media(max-width:380px){#san-pham .nd-rating{font-size:10px}.nd-review-score-options{gap:5px}.nd-review-score-options label{padding:8px}}
