/* Product page (2b). Shared tokens/components live in ui.css. */
.pdp-hdr{position:sticky;top:0;z-index:50;background:linear-gradient(var(--bg) 70%,rgba(245,244,247,0))}
.product-page{padding-bottom:12px}

.pdp-img{position:relative;margin-top:14px;height:228px;border-radius:28px;background:#f8f8f8;overflow:hidden}
.pdp-img img{width:100%;height:100%;object-fit:contain;display:block}
.pdp-img .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--radio-off)}
.pdp-share{position:absolute;top:14px;left:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 1px 6px rgba(18,17,22,.12)}
.pdp-badge{position:absolute;top:14px;right:14px;background:var(--ink);color:#fff;border-radius:99px;padding:5px 11px;font-size:11px;font-weight:700;line-height:1.4}
.pdp-stock{position:absolute;bottom:14px;right:14px;background:#fff;border-radius:99px;padding:6px 12px;font-size:12px}
.pdp-stock.ib-stock::before{width:7px;height:7px}

.pdp-head{padding-top:18px;display:flex;flex-direction:column;gap:4px}
.pdp-crumb{font-size:12px;color:var(--muted)}
.pdp-title{margin:0;font-size:36px;line-height:1.1;font-weight:400;word-break:break-word}
.pdp-orig{font-size:13px;color:var(--muted);text-decoration:line-through}

.pdp-group{padding-top:16px;display:flex;flex-direction:column;gap:8px}
.pdp-group > .lbl{font-size:13px;font-weight:700}
.pdp-group .ib-seg button{height:40px;font-size:13px}

.plan-row{height:60px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 16px;cursor:pointer;width:100%;text-align:right}
.plan-row .radio{width:20px;height:20px;flex:none;border-radius:50%;border:2px solid var(--radio-off);background:#fff;transition:border .15s}
.plan-row .dur{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:16px}
.plan-row .save{background:var(--soft);color:var(--ink);border-radius:99px;padding:2px 8px;font-size:10px;font-weight:700;white-space:nowrap}
.plan-row .pr{font-size:19px}
.plan-row .cur{font-size:10px;color:var(--muted);margin-inline-start:-6px}
.plan-row.selected{border:2px solid var(--ink);padding:0 15px}
.plan-row.selected .radio{border:6px solid var(--ink)}
.plan-row.selected .save{background:var(--ink);color:#fff}

.pdp-desc{margin-top:22px;padding:16px 18px}
.pdp-desc h2{margin:0 0 8px;font-size:15px;font-weight:700}
.pdp-desc p{margin:0 0 6px;font-size:14px;line-height:1.8;color:var(--muted)}
.pdp-desc p:last-child{margin:0}
.pdp-games{display:flex;flex-wrap:wrap;gap:6px}
.pdp-games span{background:var(--soft);border-radius:99px;padding:4px 10px;font-size:12px}

.pdp-total{display:flex;flex-direction:column;flex:none;min-width:0}
.pdp-total small{font-size:11px;color:var(--muted);white-space:nowrap}
.pdp-total div{display:flex;align-items:baseline;gap:4px}
.pdp-total b{font-size:28px;line-height:1.1;font-weight:400}
.pdp-total span{font-size:11px;color:var(--muted)}
.ib-btn.added{background:var(--ok-text)}
.ib-btn.wa{background:var(--wa)}

.product-not-found{text-align:center;padding:80px 10px}
.product-not-found h2{margin:0 0 8px;font-size:22px}
.product-not-found p{margin:0 0 22px;color:var(--muted);font-size:14px}
.product-not-found .ib-btn{max-width:240px}

/* share sheet */
.share-modal{position:fixed;inset:0;z-index:45000;display:none;align-items:flex-end;justify-content:center;background:rgba(18,17,22,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.share-modal.show{display:flex}
.share-modal-content{position:relative;width:100%;max-width:var(--col);background:var(--bg);border-radius:30px 30px 0 0;padding:12px var(--page-x) max(24px,var(--safe-b));animation:shareUp .28s cubic-bezier(.2,.8,.2,1)}
@keyframes shareUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.share-modal-handle{width:40px;height:5px;border-radius:3px;background:var(--radio-off);margin:0 auto 14px}
.share-modal-close{position:absolute;top:16px;left:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:20px;line-height:1;color:var(--ink)}
.share-modal-title{margin:0;font-size:20px;font-weight:700}
.share-modal-desc{margin:4px 0 16px;font-size:13px;color:var(--muted)}
.share-story-btn{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:20px;border:0;background:var(--ink);color:#fff;text-align:right}
.share-story-icon{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex:none}
.share-story-text{flex:1;display:flex;flex-direction:column}
.share-story-text b{font-size:14px}
.share-story-text small{font-size:11px;color:rgba(255,255,255,.72)}
.share-options-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.share-opt-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;border-radius:18px;border:1px solid var(--line);background:var(--surface);font-size:12px;color:var(--ink)}
.share-opt-icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--ink)}
.share-opt-icon.wa{background:var(--wa)}
.share-opt-icon.tg{background:#229ED9}
