.crumb{padding:22px 0;font-family:'Signs','Chakra Petch';font-size:12px;letter-spacing:.5px;color:var(--muted)}.crumb a:hover{color:var(--red)}.crumb span{color:var(--text)}
.top{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;padding-bottom:60px}
.galwrap{display:grid;grid-template-columns:72px 1fr;gap:14px}
.thumbs{display:flex;flex-direction:column;gap:10px}
.thumb{height:66px;border:1px solid var(--line);border-radius:8px;background:#fafafb;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:.15s;overflow:hidden}
.thumb img{max-height:52px;max-width:52px}.thumb:hover{border-color:var(--red)}.thumb.on{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset}
.thumb .spin-ic{font-family:'Signs','Chakra Petch';font-weight:700;font-size:11px;color:var(--red);text-align:center;line-height:1.1}.thumb .spin-ic small{display:block;font-size:15px}
/* พื้นหลังสินค้า: ไล่สีจาง ๆ ตามหมวด + ริบบิ้นโค้งพาดหลังขวด (ชุดเดียวกับการ์ดในหน้ารายการ) */
.gal{position:relative;border-radius:14px;min-height:460px;display:flex;align-items:center;justify-content:center;overflow:hidden;perspective:1200px;
  background:radial-gradient(ellipse at 50% 52%,var(--tint,#f4f5f8) 0%,#fff 70%)}
.gal .pflow{position:absolute;left:0;top:5%;width:100%;height:90%;pointer-events:none;z-index:0}
.gal::before{content:attr(data-visc);position:absolute;font-family:'Signs','Chakra Petch';font-weight:900;font-size:130px;color:#ececef;bottom:-6px;right:14px;z-index:1}
.gal img.main-img{z-index:2;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));transition:max-height .3s ease,transform .05s linear;transform-style:preserve-3d;user-select:none;-webkit-user-drag:none;max-height:340px;margin-bottom:0;-webkit-box-reflect:below -4px linear-gradient(transparent 58%,rgba(0,0,0,.30))}
.gal.spinning{cursor:ew-resize}
/* hover zoom (แบบ A ที่ผู้ใช้เลือก) — pane เต็มพื้นที่ .gal โชว์ภาพขยายตามตำแหน่งเมาส์ */
.gal.zoomable{cursor:crosshair}
.gal .zoom-pane{position:absolute;inset:0;z-index:4;background-repeat:no-repeat;background-color:#fff;opacity:0;transition:opacity .15s;pointer-events:none}
.gal.zooming .zoom-pane{opacity:1}
.gal .zoom-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:5;font-family:'Kanit';font-weight:400;font-size:12.5px;color:#fff;background:rgba(28,28,31,.78);padding:6px 15px;border-radius:20px;pointer-events:none;white-space:nowrap;transition:opacity .2s}
.gal.zooming .zoom-hint{opacity:0}
@media(max-width:900px){.gal .zoom-hint{display:none}}
.gal .tag{position:absolute;top:20px;left:20px;background:var(--red);color:#fff;font-family:'Signs','Chakra Petch';font-weight:700;font-size:12px;letter-spacing:1px;padding:5px 12px;border-radius:2px;z-index:3}
.gal .sizecap{position:absolute;bottom:16px;left:20px;z-index:3;font-family:'Kanit';font-weight:600;font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--line);padding:4px 12px;border-radius:20px}
.spin-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:4;font-family:'Kanit';font-weight:600;font-size:13px;color:#fff;background:var(--text);padding:7px 16px;border-radius:20px;display:none;align-items:center;gap:6px;pointer-events:none}
.gal.spinning .spin-hint{display:flex}.gal.spinning .sizecap{display:none}
.spin-badge{position:absolute;top:20px;right:20px;z-index:3;font-family:'Signs','Chakra Petch';font-weight:700;font-size:11px;color:var(--text);background:#fff;border:1px solid var(--text);padding:5px 11px;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:5px}.spin-badge.on{background:var(--text);color:#fff}
.pcat{font-family:'Signs','Chakra Petch';font-weight:500;font-size:12px;letter-spacing:2px;color:var(--red);text-transform:uppercase}
.pname{font-family:'Signs','Kanit';font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.5px;margin:8px 0 6px;color:var(--text)}
.psub{color:var(--muted);margin-bottom:24px}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.spec{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#fff}
.spec .l{font-family:'Signs','Chakra Petch';font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.spec .v{font-family:'Kanit';font-weight:600;font-size:16px;margin-top:2px;color:var(--text)}
.spec.big{grid-column:1/-1;border:0;color:#fff;display:flex;align-items:stretch;padding:0;overflow:hidden}.spec.big .half{flex:1;background:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 16px}.spec.big .n{font-family:'Signs','Chakra Petch';font-weight:700;font-size:38px;transform:translateY(5.5px)}.spec.big .l{color:#ffd0e0}.spec.big .syn{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px 16px;border-left:1px solid rgba(255,255,255,.28);background:#1c1c1f;font-family:'Signs','Chakra Petch';font-weight:700;font-size:19px;text-transform:uppercase;color:#d9d9de}.spec.big .syn span{transform:translateY(3px)}
.sizes{display:flex;gap:10px;align-items:center;margin-bottom:14px}.sizes .l{font-family:'Signs';font-size:11px;color:var(--muted);letter-spacing:1px}
.pill{border:1px solid var(--line);padding:8px 16px;border-radius:4px;font-family:'Signs','Chakra Petch';font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;background:#fff}.pill.on{border-color:var(--red);color:var(--red);background:#fff0f5}
.buy{display:flex;gap:12px;flex-wrap:wrap}
.btn-cmp{background:#fff;border-color:var(--line);color:var(--text)}.btn-cmp:hover{border-color:var(--red);color:var(--red)}.btn-cmp.on{background:var(--red);border-color:var(--red);color:#fff}
.sec{padding:52px 0;border-top:1px solid var(--line)}
.eye{font-family:'Signs','Chakra Petch';font-size:11px;letter-spacing:2px;color:var(--red);text-transform:uppercase;margin-bottom:6px}
.sec h2{font-family:'Signs','Kanit';font-weight:700;font-size:26px;margin-bottom:8px;color:var(--text)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:22px}
.hl{list-style:none}.hl li{position:relative;padding-left:26px;margin-bottom:13px;color:var(--muted)}.hl li::before{content:'';position:absolute;left:0;top:9px;width:11px;height:11px;background:var(--red);transform:skewX(-10deg)}
.desc h4{font-family:'Kanit';font-weight:600;margin:14px 0 5px;font-size:16px;color:var(--text)}.desc p{color:var(--muted);font-size:15px}
.sheet{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.sheet .h{background:var(--panel);padding:13px 18px;font-family:'Signs','Chakra Petch';font-size:12px;letter-spacing:1px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--text)}.sheet .h b{color:var(--red)}
.row{display:flex;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);font-size:14px}.row:last-child{border-bottom:0}.row:nth-child(even){background:#fafafb}.row .k{color:var(--muted)}.row .v{font-family:'Signs','Chakra Petch';font-weight:700;color:var(--text)}
.appr{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.appr span{font-family:'Signs','Chakra Petch';font-size:12px;border:1px solid var(--line);padding:6px 12px;border-radius:4px;background:var(--panel);color:var(--text)}
.rel{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.rel .card .iw{height:175px}.rel .card .iw img{max-height:126px;margin-bottom:0}
.rel .card h4{font-size:14.5px}.rel .card .ib{width:32px;height:32px}.rel .card .ib svg{width:17px;height:17px}.rel .card .wm{font-size:32px}
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:2px solid var(--text);box-shadow:0 -8px 30px rgba(0,0,0,.14);transform:translateY(120%);transition:.3s}.cbar.show{transform:translateY(0)}
.cbar .wrap{display:flex;align-items:center;gap:16px;padding:22px 24px 14px}
.cbar .lead2{font-family:'Kanit';font-weight:600;font-size:14px;white-space:nowrap;color:var(--text)}.cbar .cnt{font-family:'Signs','Chakra Petch';font-weight:700;color:var(--red)}
.slots{display:flex;gap:10px;flex:1;overflow-x:auto;padding-top:2px}
.slot{min-width:150px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:8px;position:relative;background:var(--panel)}.slot img{height:36px;flex-shrink:0}.slot .nm{font-family:'Kanit';font-weight:600;font-size:12px;line-height:1.15;color:var(--text)}
.slot .x{position:absolute;top:-9px;right:-9px;width:20px;height:20px;border-radius:50%;background:var(--text);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid #fff;z-index:2}
.slot.empty{border-style:dashed;color:var(--muted);font-family:'Signs';font-size:12px;align-items:center;justify-content:center;min-height:54px;cursor:pointer}.slot.empty:hover{border-color:var(--red);color:var(--red)}
.cbar .go{background:var(--red);color:#fff;border:0;padding:14px 26px;border-radius:6px;font-family:'Kanit';font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap}.cbar .go:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}
.cbar .clr{font-family:'Kanit';font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.cbar .clr:hover{color:var(--red)}

/* ==== listing page (products.php) ==== */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.filter-pill{font-family:'Kanit';font-weight:600;font-size:14px;padding:9px 18px;border-radius:20px;border:1px solid var(--line);color:#444;cursor:pointer}
.filter-pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.prod-grid .card{position:relative}
.new-badge{position:absolute;top:10px;right:10px;z-index:2;background:var(--red);color:#fff;font-family:'Kanit';font-weight:600;font-size:11px;padding:3px 9px;border-radius:12px}

@media(max-width:900px){.top,.two{grid-template-columns:1fr}.rel{grid-template-columns:repeat(2,1fr)}.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.prod-grid{grid-template-columns:1fr}.spec.big .n{font-size:24px;white-space:nowrap}.spec.big .syn{font-size:11px;letter-spacing:.5px}.spec.big .syn span{white-space:nowrap}}

/* สินค้าที่ยังไม่มีรูป: โชว์เบอร์/ชื่อรุ่นตัวใหญ่แทนกล่องเทาว่าง (เหมือนการ์ดในหน้ารายการ) */
.gal .gal-disp{font-family:'Signs','Chakra Petch';font-weight:700;font-size:clamp(34px,6vw,62px);letter-spacing:-1px;
  color:var(--c,var(--red));text-align:center;padding:0 28px;line-height:1.15;position:relative;z-index:1;word-break:break-word}
