/* Product-first layout, matching the established FALO product detail structure. */
:root{--paper:#f5f6f2;--radius:16px;--sale:#cc562b}
html{scroll-padding-top:145px}
.topbar{background:#fffef9f5}.topbar .wrap{min-height:68px}.wrap{width:min(1120px,100%);padding:0 24px}
.product-view main.wrap{padding-top:0}.product-view .preview{font-size:11px;padding:5px 12px}
.product-tabs{display:flex;justify-content:center;gap:48px;position:sticky;top:68px;z-index:14;background:#f5f6f2f5;backdrop-filter:blur(12px);border-bottom:1px solid #e3e7df;margin-bottom:20px}
.product-tabs button{position:relative;min-width:90px;padding:12px 10px;font-size:13px;color:#788074;line-height:1.4}
.product-tabs button small{font-size:10px;margin-top:1px}.product-tabs button.active{color:var(--green);font-weight:700}
.product-tabs button.active:after{content:'';position:absolute;bottom:0;left:25%;right:25%;height:3px;background:var(--gold);border-radius:4px}
.product-content{max-width:1000px;margin:auto}.product-view .hero{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:30px;align-items:start;margin:0 0 16px}
.gallery-stage{position:relative}.product-view .gallery-track{border:0;border-radius:12px;background:#f3f2ed;aspect-ratio:1;overflow-y:hidden}
.gallery-slide{display:block;flex:0 0 100%;min-width:0;width:100%;height:100%;padding:0;scroll-snap-align:start;scroll-snap-stop:always;cursor:zoom-in}
.product-view .gallery-slide img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-arrow{position:absolute;top:45%;width:34px;min-height:34px;border-radius:50%;background:#ffffffed;font-size:26px;line-height:1;box-shadow:0 3px 10px #0001}
.gallery-arrow.previous{left:10px}.gallery-arrow.next{right:10px}.gallery-count{position:absolute;right:12px;bottom:12px;background:#213c32ba;color:white;border-radius:16px;padding:3px 12px;font-size:12px;pointer-events:none}
.gallery-enlarge{position:absolute;bottom:12px;left:12px;border-radius:16px;background:#ffffffe6;color:#627166;font-size:10px;padding:4px 10px;pointer-events:none}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px}.gallery-thumbs button{padding:3px;border:1px solid #e1e6db;border-radius:9px;width:68px;height:68px;min-height:0;background:white;overflow:hidden}
.gallery-thumbs button[aria-pressed=true]{border:2px solid var(--gold);padding:2px;background:#fcf8ed}.gallery-thumbs img{width:100%;height:100%;object-fit:contain;display:block;border-radius:5px}
.product-view .gallery-dots{display:none}.product-view .hero-copy{padding:0;min-width:0}
.product-view .price-block{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(110deg,#fff0e3,#fff8ee);padding:18px 20px;border-radius:12px;margin-bottom:19px;border:1px solid #f7e7d7}
.product-view .price-label{display:block;color:#a46b42;font-size:11px;margin-bottom:3px}.product-view .price-label .translation{font-size:10px}
.product-view .price-block .price{font:bold 38px/1.2 Arial,sans-serif;color:var(--sale);letter-spacing:-1px}.product-view .price-block del{font-size:13px;margin-left:12px}
.price-brand{font:italic 28px Georgia,serif;color:#b99b71;flex:none;max-width:90px;overflow:hidden;text-overflow:ellipsis}
.product-view .hero-copy h1{font:600 27px/1.55 Arial,Khmer,sans-serif;margin:0 0 22px;letter-spacing:-.4px}
.product-view .hero-copy h1 small{font:400 14px/1.8 Khmer,sans-serif;color:#7c897c;margin-top:6px;letter-spacing:0}
.spec-entry{display:flex;gap:16px;align-items:center;width:100%;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;font-size:12px}
.spec-entry-label{font-weight:600;min-width:90px}.spec-entry>span:nth-child(2){color:var(--muted);font-size:12px;flex:1}.spec-entry>b{font-size:24px;color:#9aa191}.spec-entry small{font-size:9px}
.product-view .order-hint{margin:0;border:0;padding:18px 0;font-size:12px;line-height:1.9}.product-view .hero-cta{display:grid;grid-template-columns:.85fr 1.15fr;gap:10px;margin:12px 0 0}
.product-view .hero-cta .cta{font-size:13px;padding:11px 14px;min-height:50px}.product-view .hero-cta .cta small{font-size:9px}.product-view .hero-cta .cta svg{flex:none;width:18px}
.detail-jump{width:100%;font-size:12px;color:#8a927e;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px}.detail-jump small{font-size:10px;margin:0}
.review-preview{max-width:900px;margin:16px auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 16px;min-height:104px}
.review-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.review-preview h2{display:flex;gap:5px;align-items:baseline;font-size:14px;line-height:1.4;flex-wrap:wrap}.review-preview h2 small{display:inline;font-size:10px;margin:0}.review-preview h2>span{font-size:12px;color:#99a08f;font-weight:400}.review-preview-head>button{font-size:11px;color:#84917e;min-height:30px;white-space:nowrap}
.review-text-preview{display:flex;gap:10px;align-items:center;min-width:0;width:100%;min-height:24px;padding:0;text-align:left;font-size:12px;color:#6e7c70}.review-text-preview b{font-size:11px;max-width:100px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-text-preview>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-photo-preview{display:flex;align-items:center;width:100%;gap:10px;text-align:left;min-width:0;padding:3px 0}.review-mini-photos{display:flex;gap:5px;flex:none}.review-mini-photos img{width:42px;height:42px;object-fit:contain;border-radius:6px;background:#f7f7f1}.review-photo-copy{display:flex;flex-direction:column;min-width:0;flex:1;font-size:11px;line-height:1.6}.review-photo-copy b,.review-photo-copy>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-photo-copy b{font-size:10px;color:#889280}.review-photo-empty{font-size:11px;line-height:24px;color:#9aa391;border-top:1px solid #f1f3ec;margin-top:3px}
.product-details{max-width:900px;margin:24px auto 0}.detail-heading{display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 20px}.detail-heading>span{height:1px;width:64px;background:#d7dfd1}.detail-heading h2{text-align:center;font:600 21px/1.5 Arial,Khmer,sans-serif}.detail-heading h2 small{font-size:11px}
.product-view .description{padding:25px 28px;background:#fff;border-radius:12px;margin:0 0 20px;color:#5a6a5d;font-size:14px;white-space:normal}.description h3,.product-video h3,.detail-image-heading h3{color:var(--ink);font-size:17px;font-weight:600;line-height:1.5;margin:0 0 16px}.description h3 small,.product-video h3 small,.detail-image-heading h3 small{font-size:10px;display:inline;margin-left:7px}.description p{white-space:pre-line;line-height:1.95}
.product-video{background:#fff;border:1px solid var(--line);padding:20px;border-radius:12px;margin-bottom:24px}.product-view .video-wrap{border-radius:10px}.product-view .detail-video{max-height:80vh;aspect-ratio:auto;height:auto}
.detail-image-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:800px;margin:26px auto 14px}.detail-image-heading h3{margin:0}.detail-image-heading>span{font-size:11px;color:#8b9686}
.product-view .detail-stack{max-width:800px;gap:10px;margin:0 auto;overflow:hidden;border-radius:12px}.detail-photo{display:block;width:100%;padding:0;min-height:0;background:white;cursor:zoom-in;line-height:0}.product-view .detail-photo img{display:block;width:100%;height:auto;border-radius:0;object-fit:contain}
.product-end{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:26px 20px;max-width:800px;margin:10px auto 0;color:#6e806e}.product-end>span{font:25px Georgia,serif;color:var(--gold)}.product-end button{display:flex;gap:10px;align-items:center;font-size:12px}.product-end small{font-size:10px}.product-view .footer{max-width:900px;margin:auto;padding-top:16px}
.product-view .purchase-dock{width:min(760px,calc(100% - 40px));left:50%;right:auto;transform:translateX(-50%);bottom:15px;border:1px solid #dde4d7;border-radius:18px;padding:12px 20px;box-shadow:0 7px 35px #18382d18;gap:24px}.product-view .dock-price{min-width:130px}.product-view .purchase-dock .price{color:var(--sale);font:bold 25px Arial,sans-serif}.product-view .purchase-dock .cta{flex:1;min-width:180px;max-width:320px;min-height:48px;border-radius:25px}.product-view .back-top{border:0;background:var(--green);color:#fff;box-shadow:0 6px 20px #153e3233;width:46px;min-height:46px;bottom:108px;right:22px}
@media(max-width:760px){
 html{scroll-padding-top:125px}.wrap{padding:0 12px}.topbar .wrap{min-height:60px}.topbar{box-shadow:0 1px 6px #18382d05}.brand-mark{width:32px;height:32px;font-size:20px}.brand-copy{font-size:13px}
 .product-view main.wrap{padding:0}.product-view .preview{font-size:10px;line-height:1.6;padding:5px 12px}.preview small{font-size:9px}.product-tabs{top:60px;gap:0;margin:0;background:#fffefbf5;justify-content:space-around}.product-tabs button{font-size:12px;min-width:0;flex:1;padding:10px 6px;min-height:44px}.product-tabs button small{font-size:8px;line-height:1.4}.product-tabs button.active:after{left:34%;right:34%}
 .product-view .hero{display:block;border:0;border-radius:0;padding:0;margin-bottom:10px}.product-view .gallery-track{border-radius:0}.gallery-arrow{width:30px;min-height:30px;font-size:24px;top:44%}.gallery-arrow.previous{left:9px}.gallery-arrow.next{right:9px}.gallery-enlarge{font-size:9px;bottom:10px;left:10px}.gallery-count{bottom:10px;right:10px;font-size:11px;padding:3px 10px}.gallery-thumbs{display:none}.product-view .gallery-dots{display:flex;justify-content:center;height:23px;gap:5px;align-items:center}.gallery-dots button{width:18px;min-height:23px}.gallery-dots button:after{height:5px;width:5px}
 .product-view .hero-copy{padding:0 14px 8px}.product-view .price-block{padding:12px 15px;margin:0 0 13px;border-radius:10px}.product-view .price-label{font-size:10px;margin-bottom:3px}.product-view .price-label .translation{font-size:8px;display:inline;margin-left:6px}.product-view .price-block .price{font-size:31px}.product-view .price-block del{font-size:12px}.price-brand{font-size:24px}
 .product-view .hero-copy h1{font-size:20px;line-height:1.6;letter-spacing:0;margin:0 0 13px}.product-view .hero-copy h1 small{font-size:12px;line-height:1.7;margin-top:4px}.spec-entry{padding:11px 0;font-size:11px;gap:12px}.spec-entry-label{min-width:82px}.spec-entry>span:nth-child(2){font-size:11px}.spec-entry small{font-size:8px}.product-view .order-hint{font-size:11px;padding:12px 0 5px;gap:9px}.product-view .order-hint small{font-size:9px}.product-view .hero-cta,.detail-jump{display:none}
 .review-preview{margin:10px 10px 16px;padding:8px 11px;border-radius:10px;min-height:96px}.review-preview-head{gap:8px}.review-preview h2{font-size:13px;gap:4px}.review-preview h2 small{font-size:9px}.review-preview-head>button{font-size:10px;min-height:28px}.review-text-preview{font-size:11px;gap:6px;min-height:22px}.review-text-preview b{font-size:10px;max-width:70px}.review-mini-photos img{width:36px;height:36px}.review-photo-empty{font-size:10px;line-height:22px}
 .product-details{margin:20px auto 0}.detail-heading{gap:14px;margin:0 0 15px}.detail-heading>span{width:40px}.detail-heading h2{font-size:17px}.detail-heading h2 small{font-size:10px}.product-view .description{border-radius:10px;padding:18px 16px;margin:0 10px 16px;font-size:12px;line-height:1.95}.description h3,.product-video h3,.detail-image-heading h3{font-size:15px;margin-bottom:10px}.description h3 small,.product-video h3 small,.detail-image-heading h3 small{display:block;font-size:9px;margin:3px 0 0}
 .product-video{margin:0 10px 20px;padding:12px;border-radius:10px}.detail-image-heading{padding:0 14px;margin:20px auto 13px;align-items:center}.detail-image-heading h3{margin:0}.detail-image-heading>span{font-size:10px}.product-view .detail-stack{gap:8px;border-radius:0}.product-end{padding:22px 16px}.product-end button{font-size:11px;gap:8px}.product-view .footer{margin:0 16px;font-size:10px;padding-bottom:100px}
 .product-view .purchase-dock{bottom:0;left:0;right:0;transform:none;width:100%;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;border:0;border-top:1px solid #e0e6da;gap:14px}.product-view .dock-price{min-width:0}.product-view .purchase-dock .price{font-size:23px}.product-view .purchase-dock .cta{min-width:0;max-width:none;font-size:13px;min-height:47px;padding:10px 14px}.product-view .dock-contact{width:32px}.product-view .back-top{width:42px;min-height:42px;right:12px;bottom:93px}
}
