/* ============ KARTU PRODUK mewah (LP products + Katalog + related) — override store.css ============ */
.lp .card{position:relative;display:block;text-decoration:none;color:inherit}
.lp .card .ph{aspect-ratio:4/5;border-radius:14px}
.lp .card .ph .mono{position:relative;z-index:1;font-family:var(--serif);font-style:italic;color:rgba(198,162,83,.42);font-size:16px}
.lp .card .wish{position:absolute;top:8px;right:8px;z-index:3;width:33px;height:33px;border-radius:50%;background:rgba(15,12,8,.55);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(3px)}
.lp .card .wish svg{width:16px;height:16px;stroke:var(--gold-lt);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:.2s}
.lp .card .wish.on svg{fill:var(--gold-lt);stroke:var(--gold-lt)}
.lp .card .b{padding-top:11px}
.lp .card .br{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.lp .card .nm{font-family:var(--serif);font-size:19px;color:var(--tx);margin-top:2px;line-height:1.1}
.lp .card .meta{font-size:10.5px;color:var(--mut);margin-top:5px}

/* ============ KATALOG ============ */
.k-head{text-align:center;padding:36px 24px 24px}
.k-head .ey{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold)}
.k-head h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,9vw,44px);margin-top:10px}
.k-head h1 em{font-style:italic;color:var(--gold-lt)}
.k-search{max-width:552px;margin:0 auto 16px;display:flex;align-items:center;gap:10px;background:var(--ink3);border:1px solid var(--line);border-radius:999px;padding:13px 20px}
.k-search svg{width:16px;height:16px;flex:0 0 auto;stroke:var(--mut)}
.k-search input{background:none;border:none;color:var(--tx);font-family:inherit;font-size:13px;outline:none;width:100%}
.k-chips{display:flex;gap:9px;overflow-x:auto;padding:0 24px 4px;scrollbar-width:none;max-width:600px;margin:0 auto}
.k-chips::-webkit-scrollbar{display:none}
.k-chips a{flex:0 0 auto;font-size:12px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;color:var(--tx2);text-decoration:none;white-space:nowrap}
.k-chips a.on{background:linear-gradient(135deg,#b8912f,var(--gold-lt));border-color:transparent;color:#1a1305;font-weight:500}
.k-chips.price{margin-top:10px}
.k-sort{display:flex;justify-content:space-between;align-items:center;max-width:552px;margin:0 auto;padding:16px 24px 12px;font-size:11.5px;color:var(--mut)}
.k-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:552px;margin:0 auto;padding:4px 24px 44px}
.k-empty{text-align:center;color:var(--tx2);padding:56px 24px;font-size:14px;line-height:1.7;max-width:400px;margin:0 auto}
.k-empty a{color:var(--gold-lt)}

/* ============ PRODUK ============ */
.p-gal{max-width:552px;margin:0 auto}
.p-gal .main{aspect-ratio:1}
.p-gal .thumbs{display:flex;gap:8px;padding:12px 24px 0;overflow-x:auto;scrollbar-width:none;max-width:552px;margin:0 auto}
.p-gal .thumbs::-webkit-scrollbar{display:none}
.p-gal .thumbs .ph{width:58px;height:58px;flex:0 0 auto;border-radius:9px;cursor:pointer}
.p-gal .thumbs .ph.on{border-color:var(--gold);border-width:1.5px}
.p-info{max-width:552px;margin:0 auto;padding:16px 24px 0}
.p-info .br{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.p-info h1{font-family:var(--serif);font-weight:400;font-size:30px;margin-top:5px;line-height:1.05}
.p-info .price{font-family:var(--serif);font-style:italic;color:var(--gold-lt);font-size:17px;margin-top:12px}
.p-trust{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}
.p-trust span{font-size:10px;color:var(--tx2);border:1px solid var(--line);border-radius:999px;padding:7px 12px}
.p-spec{border-top:1px solid var(--line)}
.p-spec .r{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.p-spec .r span:first-child{color:var(--mut)}.p-spec .r span:last-child{color:var(--tx);text-align:right}
.p-rev{background:var(--ink-lift);margin-top:24px;padding:28px 0}
.p-rev>*{max-width:552px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.p-rev .ey{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);text-align:center}
.p-rev h3{font-family:var(--serif);font-weight:300;font-size:26px;text-align:center;margin-top:8px}
.p-rev .bars{max-width:340px;margin:18px auto 0;padding:0 24px}
.p-rev .ratingbar{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--mut);margin-bottom:6px}
.p-rev .ratingbar .track{flex:1;height:5px;background:var(--ink3);border-radius:3px;overflow:hidden}
.p-rev .ratingbar .fill{display:block;height:100%;background:linear-gradient(90deg,#b8912f,var(--gold-lt))}
.p-rev .rev{background:var(--ink3);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:14px}
.p-rev .rev .stars{color:var(--gold);font-size:12px;letter-spacing:2px}
.p-rev .rev .body{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--tx);margin:8px 0;line-height:1.4}
.p-rev .rev .who{font-size:11px;color:var(--mut)}
.p-related{max-width:552px;margin:0 auto;padding:30px 24px 24px}
.p-related .ey{text-align:center;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold)}
.p-related h3{font-family:var(--serif);font-weight:300;font-size:25px;text-align:center;margin:9px 0 20px}
.p-related h3 em{font-style:italic;color:var(--gold-lt)}
.p-related .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.p-pad{height:90px}
.p-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:600px;z-index:50;background:rgba(16,13,9,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));display:flex;gap:10px;align-items:center}
.p-bar .hb,.p-bar .wa{width:48px;height:48px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;cursor:pointer;background:none}
/* Tombol WA diberi label agar jelas ada dua pilihan: tanya dulu (WA) atau pesan (form). */
.p-bar .wa{width:auto;min-width:64px;padding:0 12px;gap:2px;grid-auto-rows:auto}
.p-bar .wa .wl{font-size:9px;letter-spacing:.06em;text-transform:uppercase;line-height:1;color:var(--wa);opacity:.9}
.p-bar .hb{border:1px solid var(--line2)}
.p-bar .hb svg{width:20px;height:20px;stroke:var(--gold-lt);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.p-bar .hb.on svg{fill:var(--gold-lt)}
.p-bar .wa{background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.4);color:var(--wa)}
.p-bar .wa svg{width:22px;height:22px}
.p-bar .cta{flex:1;background:linear-gradient(135deg,#b8912f,var(--gold-lt));color:#1a1305;border:none;border-radius:12px;padding:15px;font-family:inherit;font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.produk .fab-wa{display:none}

/* ===== Galeri produk: swipe + panah + counter + lightbox zoom ===== */
.p-stage{position:relative}
.p-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.p-slides::-webkit-scrollbar{display:none}
.p-slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:1;background:linear-gradient(150deg,#241a0d,#100c07 66%)}
.p-slide img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.p-arw{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(15,12,8,.5);border:1px solid var(--line);color:var(--gold-lt);font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px);z-index:4;padding:0}
.p-arw.prev{left:12px}.p-arw.next{right:12px}
.p-count{position:absolute;top:14px;right:14px;z-index:4;background:rgba(15,12,8,.6);color:var(--tx);font-size:11px;letter-spacing:.05em;padding:5px 11px;border-radius:999px;backdrop-filter:blur(4px)}
.p-zoomhint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:4;background:rgba(15,12,8,.55);color:var(--tx2);font-size:10px;letter-spacing:.06em;padding:6px 13px;border-radius:999px;backdrop-filter:blur(4px);pointer-events:none;white-space:nowrap}
.p-lb{position:fixed;inset:0;z-index:200;background:rgba(6,5,3,.97);display:none;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.p-lb.show{display:flex}
.p-lb .lb-stage{width:100%;height:100%;display:grid;place-items:center;overflow:hidden}
.p-lb #lbImg{max-width:100%;max-height:100vh;max-height:100dvh;object-fit:contain;transition:transform .18s;transform-origin:center;touch-action:none;cursor:zoom-in;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.p-lb #lbImg.zoom{cursor:grab;transition:none}
.p-lb .lb-x{position:absolute;top:14px;right:16px;z-index:6;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:none;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.p-lb .p-arw.lb{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff;z-index:6}
.p-lb .lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:6;color:var(--tx2);font-size:12px;letter-spacing:.06em}

/* ===== tooltip galeri auto-hide ===== */
.p-zoomhint{transition:opacity .7s ease}
.p-zoomhint.hide{opacity:0}

/* ===== Modal "Pesan Sekarang" -> bottom sheet proporsional ===== */
.popup{padding:clamp(16px,5vw,26px);align-items:center;justify-content:center;z-index:9999}
.popup .box.oform{max-width:380px;width:100%;max-height:min(82vh,540px);max-height:min(82dvh,540px);padding:0;border-radius:20px;display:flex;flex-direction:column;overflow:hidden;background:var(--ink2);border:1px solid var(--line2);text-align:left;box-shadow:0 24px 68px rgba(0,0,0,.6)}
.popup .of-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 13px;border-bottom:1px solid var(--line);flex:0 0 auto}
.popup .of-hd .head{font-family:var(--serif);font-weight:400;font-size:21px;color:var(--tx);margin:0}
.popup .of-hd .x{position:static;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:var(--ink3);border:1px solid var(--line2);color:var(--tx);font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}
.popup .of-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 20px 8px;flex:1 1 auto}
.popup .of-body .hint{font-size:12px;color:var(--mut);margin-bottom:4px}
.popup .oform label{display:block;font-size:10px;color:var(--tx2);letter-spacing:.08em;text-transform:uppercase;margin:11px 0 5px}
.popup .oform input,.popup .oform textarea{width:100%;background:var(--ink3);border:1px solid var(--line);border-radius:10px;padding:11px 13px;color:var(--tx);font-family:inherit;font-size:14px;outline:none}
.popup .oform input:focus,.popup .oform textarea:focus{border-color:var(--gold)}
.popup .oform input[readonly]{color:var(--gold-lt);background:var(--ink2)}
.popup .oform textarea{resize:vertical;min-height:50px}
.popup .oform .msg{font-size:12px;color:#eb9a9a;margin-top:10px;min-height:15px}
.popup .of-ft{flex:0 0 auto;padding:13px 20px 16px;border-top:1px solid var(--line);background:var(--ink2)}
.popup .of-ft .btn-gold{display:block;width:100%;margin:0;background:linear-gradient(135deg,#b8912f,var(--gold-lt));color:#1a1305;border:none;border-radius:11px;padding:14px;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.popup .of-ft .btn-gold:disabled{opacity:.6}
