/* ==========================================================================
   BUYITWELL — Product detail
   ========================================================================== */
.pd{padding-top:18px;}
.pd-crumbs{padding:6px 0 22px;}
.pd-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4.4vw,80px);align-items:start;}

/* ---------- Gallery ---------- */
.pd-gal{position:sticky;top:88px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:start;}
.pd-thumbs{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none;}
.pd-thumbs::-webkit-scrollbar{display:none;}
.pd-thumb{display:block;aspect-ratio:3/4;border-radius:var(--r-sm);overflow:hidden;background:var(--tile);border:1.5px solid transparent;opacity:.62;transition:opacity var(--t-fast),border-color var(--t-fast);padding:0;}
.pd-thumb img{width:100%;height:100%;object-fit:cover;}
.pd-thumb:hover{opacity:1;}
.pd-thumb.active{opacity:1;border-color:var(--ink);}
.pd-stage{min-width:0;}
.pd-gal:not(:has(.pd-thumbs)){grid-template-columns:minmax(0,1fr);}
.pd-main{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--tile);cursor:zoom-in;}
.pd-main img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .45s var(--ease-out);animation:biwFade .5s both;}
.pd-main.zoomed img{transform:scale(2);transition:transform .2s var(--ease);}
.pd-badges{position:absolute;top:16px;left:16px;z-index:2;display:flex;gap:6px;}
.pd-hint{position:absolute;left:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.92);border-radius:var(--r-pill);padding:7px 12px;font-size:12px;font-weight:600;pointer-events:none;transition:opacity var(--t);}
.pd-hint .biw-i{width:15px;height:15px;}
.pd-main.zoomed .pd-hint{opacity:0;}
.pd-arrow{position:absolute;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:-22px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:var(--sh-1);opacity:0;transition:opacity var(--t),transform var(--t-fast);}
.pd-arrow .biw-i{width:18px;height:18px;}
.pd-arrow--l{left:14px;} .pd-arrow--r{right:14px;}
.pd-main:hover .pd-arrow{opacity:1;}
.pd-main.zoomed .pd-arrow{opacity:0;}
.pd-arrow:hover{transform:scale(1.06);}
.pd-swipe{display:none;}

/* ---------- Info ---------- */
.pd-info{padding-top:4px;animation:biwUp .7s var(--ease-out) both;}
.pd-info-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.pd-info-top .biw-kicker::before{display:none;}
.pd-share{margin-right:-10px;}
.pd-share .biw-i{width:19px;height:19px;}
.pd-title{font-size:clamp(24px,2.4vw,34px);font-weight:600;line-height:1.2;letter-spacing:-.02em;margin:10px 0 16px;}
.pd-prices{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.pd-price{font-size:clamp(26px,2.4vw,32px);font-weight:800;letter-spacing:-.02em;}
.pd-was{font-size:17px;color:var(--ink-2);}
.pd-tax{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13.5px;color:var(--success);font-weight:600;}
.pd-tax .biw-i{width:17px;height:17px;}
.pd-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:24px 0 4px;border-radius:var(--r);overflow:hidden;background:var(--line);border:1px solid var(--line);}
.pd-specs li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:#fff;}
.pd-specs span{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);}
.pd-specs b{font-size:14px;font-weight:600;}
.pd-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.pd-row-head .biw-label{margin:0;}
.pd-picked{font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink-2);}
.pd-sizes{margin-top:26px;}
.pd-guide{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold);}
.pd-guide .biw-i{width:18px;height:18px;}
.pd-qtyrow{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:24px;}
.pd-stock{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--success);padding-bottom:12px;}
.pd-stock i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(21,128,61,.15);animation:gcPulse 2.2s var(--ease) infinite;}
.pd-stock.is-low{color:var(--warn);}
.pd-stock.is-low i{box-shadow:0 0 0 4px rgba(180,83,9,.15);}
.pd-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:22px;}
.pd-actions .biw-btn{min-height:56px;}
.pd-wish{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:1.5px solid var(--line-3);transition:border-color var(--t-fast),color var(--t-fast),transform var(--t-fast);}
.pd-wish:hover{border-color:var(--ink);transform:scale(1.04);}
.pd-wish .biw-i{width:22px;height:22px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.pd-wish[aria-pressed="true"]{color:var(--wish);border-color:var(--wish);}
.pd-wish[aria-pressed="true"] .biw-i{fill:currentColor;transform:scale(1.08);}

.pd-delivery{margin-top:26px;padding:18px;border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:14px;}
.pd-dl-row{display:flex;gap:14px;align-items:flex-start;}
.pd-dl-row .biw-i{width:22px;height:22px;color:var(--gold);margin-top:1px;}
.pd-dl-row b{display:block;font-size:14px;font-weight:700;}
.pd-dl-row span{display:block;font-size:13px;color:var(--ink-2);line-height:1.55;}
.pd-pin{display:flex;align-items:center;height:46px;border:1px solid var(--line-2);border-radius:var(--r-pill);padding:0 5px 0 16px;transition:border-color var(--t-fast);}
.pd-pin:focus-within{border-color:var(--ink);}
.pd-pin input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:14px;}
.pd-pin button{height:36px;padding:0 16px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:13px;font-weight:700;}
.pd-pin-msg{font-size:13px;line-height:1.5;margin-top:-4px;}
.pd-pin-msg:empty{display:none;}
.pd-pin-msg.ok{color:var(--success);font-weight:600;}
.pd-pin-msg.err{color:var(--sale);}
.pd-trust{margin-top:16px;}
.pd-acc{margin-top:28px;}
.pd-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 22px;}
.pd-dl dt{font-size:13px;font-weight:700;color:var(--ink);}
.pd-dl dd{font-size:14px;color:var(--ink-2);}

/* ---------- Size guide modal ---------- */
.pd-guide-box{position:relative;width:min(640px,100%);max-height:88vh;overflow-y:auto;background:var(--bg);border-radius:var(--r-lg);padding:32px;box-shadow:var(--sh-3);animation:biwScale .35s var(--ease-out) both;display:flex;flex-direction:column;gap:12px;}
.pd-guide-box h2{font-size:24px;font-weight:700;letter-spacing:-.02em;}
.pd-table-wrap{overflow-x:auto;margin:8px 0;border:1px solid var(--line);border-radius:var(--r);}
.pd-table{width:100%;border-collapse:collapse;font-size:14px;}
.pd-table th,.pd-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;}
.pd-table thead th{background:var(--bg-2);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.pd-table tbody tr:last-child th,.pd-table tbody tr:last-child td{border-bottom:0;}
.pd-table tbody tr:hover{background:var(--bg-2);}

/* ---------- Lightbox ---------- */
.pd-lightbox{position:fixed;inset:0;z-index:110;background:rgba(10,10,10,.94);display:flex;align-items:center;justify-content:center;animation:biwFade .3s both;}
.pd-lightbox img{max-width:min(92vw,1100px);max-height:90vh;object-fit:contain;border-radius:var(--r-sm);animation:biwScale .35s var(--ease-out) both;}
.pd-lightbox .biw-icon-btn{position:absolute;color:#fff;background:rgba(255,255,255,.08);}
.pd-lightbox .biw-icon-btn:hover{background:rgba(255,255,255,.18);}
.pd-lb-x{top:18px;right:18px;}
.pd-lb-nav{top:50%;margin-top:-22px;}
.pd-lb-nav.l{left:18px;} .pd-lb-nav.r{right:18px;}

/* ---------- Sticky add to bag (desktop) ---------- */
.pd-sticky{position:fixed;left:0;right:0;bottom:0;z-index:65;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -18px 40px -30px rgba(17,17,17,.45);transform:translateY(110%);transition:transform .45s var(--ease-out);}
.pd-sticky.is-on{transform:none;}
.pd-sticky-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;}
.pd-sticky-p{display:flex;align-items:center;gap:14px;min-width:0;}
.pd-sticky-img{flex:0 0 46px;width:46px;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:var(--tile);}
.pd-sticky-img img{width:100%;height:100%;object-fit:cover;}
.pd-sticky-n{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52ch;}
.pd-sticky-m{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink-2);}
.pd-sticky-m b{font-size:15px;color:var(--ink);font-weight:800;}
.pd-sticky-a{display:flex;gap:10px;flex:0 0 auto;}
.pd-sticky-a .biw-btn{min-height:48px;}

/* ---------- Reviews ---------- */
.pd-reviews{margin-top:clamp(56px,7vw,100px);}
.pd-reviews-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);}
.pd-reviews .biw-h2{margin-top:12px;}
.pd-reviews-r p{color:var(--ink-2);line-height:1.75;margin-bottom:18px;}

/* ---------- Mobile buy bar ---------- */
.pd-buybar{display:none;}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .pd-gal{grid-template-columns:64px minmax(0,1fr);top:76px;}
  .pd-actions{grid-template-columns:1fr auto;}
  .pd-actions .biw-btn--ghost{grid-column:1 / -1;grid-row:2;}
}
@media (max-width:820px){
  .pd{padding-top:0;padding-inline:0;}
  .pd-crumbs{padding:12px var(--gutter);}
  .pd-grid{grid-template-columns:1fr;gap:0;}
  .pd-gal{position:static;display:block;}
  .pd-thumbs,.pd-main{display:none;}
  .pd-swipe{display:block;position:relative;}
  .pd-swipe-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;background:var(--tile);}
  .pd-swipe-track::-webkit-scrollbar{display:none;}
  .pd-swipe-item{flex:0 0 100%;aspect-ratio:4/5;scroll-snap-align:start;}
  .pd-swipe-item img{width:100%;height:100%;object-fit:cover;object-position:center top;}
  .pd-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:6px;pointer-events:none;}
  .pd-dots i{width:6px;height:6px;border-radius:3px;background:rgba(17,17,17,.25);transition:width var(--t),background-color var(--t);}
  .pd-dots i.is-on{width:20px;background:var(--ink);}
  .pd-count{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.92);border-radius:var(--r-pill);padding:4px 10px;font-size:12px;font-weight:600;}
  .pd-info{padding:22px var(--gutter) 0;}
  .pd-actions{display:grid;grid-template-columns:1fr auto;}
  .pd-sticky{display:none;}
  .pd-buybar{display:flex;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -14px 30px -24px rgba(17,17,17,.5);}
  .pd-buybar-p{flex:1 1 auto;min-width:0;}
  .pd-buybar-p b{display:block;font-size:17px;font-weight:800;line-height:1.2;}
  .pd-buybar-p small{display:block;font-size:11px;color:var(--ink-2);white-space:nowrap;}
  .pd-buybar .biw-btn{min-height:48px;padding:0 16px;font-size:13.5px;}
  body.page-product{padding-bottom:calc(76px + env(safe-area-inset-bottom));}
  body.page-product .biw-toast{bottom:calc(90px + env(safe-area-inset-bottom));}
  .pd-reviews-in{grid-template-columns:1fr;}
  .pd-guide-box{align-self:flex-end;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:26px 18px calc(26px + env(safe-area-inset-bottom));animation:biwSheet .4s var(--ease-out) both;}
  .pd-specs li{padding:10px 12px;}
}
@media (min-width:600px) and (max-width:820px){
  .pd-swipe-item{aspect-ratio:1/1;}
}
@media (max-width:380px){
  .pd-buybar .biw-btn--ghost{display:none;}
}
