/* Product sheet v2 — swipe gallery, zoom, swipe-to-next, even action bar */

#modal.pd2-dialog{width:min(760px,96vw);max-width:760px;height:min(92vh,940px);padding:0;border:0;border-radius:24px;overflow:hidden;background:#fbf8f1}
#modal.pd2-dialog .modal-head{display:none}
@media (max-width:760px){
  #modal.pd2-dialog{width:100vw;max-width:none;height:100dvh;border-radius:0;margin:0}
}

.pd2-sheet{display:flex;flex-direction:column;height:100%;overflow-y:auto;overscroll-behavior:contain;background:#fbf8f1;touch-action:pan-y}
.pd2-sheet.pd2-from-right{animation:pd2InR .26s cubic-bezier(.22,1,.36,1)}
.pd2-sheet.pd2-from-left{animation:pd2InL .26s cubic-bezier(.22,1,.36,1)}
@keyframes pd2InR{from{transform:translateX(26px);opacity:.4}to{transform:none;opacity:1}}
@keyframes pd2InL{from{transform:translateX(-26px);opacity:.4}to{transform:none;opacity:1}}

/* top bar */
.pd2-top{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(251,248,241,.96);backdrop-filter:blur(10px);border-bottom:1px solid #efe7d6}
.pd2-search-slot{flex:1;min-width:0}
.pd2-search-slot .product-panel-search{margin:0;background:#fff;border:1px solid #e9e1cf;border-radius:12px;height:40px}
.pd2-round{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid #eae2d1;background:#fff;display:grid;place-items:center;color:#2a4133;cursor:pointer;transition:transform .15s,background .15s}
.pd2-round:active{transform:scale(.94)}
.pd2-round.is-fav{background:#ffe9ee;border-color:#ffc6d3;color:#e11d48}

/* gallery */
.pd2-gallery{flex:0 0 auto;background:#fff;min-width:0}
.pd2-stage{position:relative;height:min(46vh,390px);overflow:hidden;touch-action:pan-y;cursor:zoom-in;user-select:none}
.pd2-track{display:flex;width:100%;height:100%;transition:transform .34s cubic-bezier(.22,1,.36,1);will-change:transform}
.pd2-dragging .pd2-track{transition:none}
.pd2-slide{flex:0 0 100%;min-width:0;height:100%}
.pd2-img{display:block;box-sizing:border-box;width:100%;height:100%;object-fit:contain;padding:6px;pointer-events:none}
.pd2-gallery-controls{padding:10px 12px 12px}
.pd2-thumbs{display:flex;gap:8px;overflow-x:auto;padding:3px;touch-action:pan-x}
.pd2-thumb{flex:0 0 56px;width:56px;height:56px;padding:3px;border:1px solid #e9e1cf;border-radius:9px;background:#fff;cursor:pointer}
.pd2-thumb img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.pd2-thumb[aria-pressed="true"]{outline:2px solid #1d5a37;outline-offset:1px}
.pd2-gallery-meta{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px;min-height:32px}
.pd2-count{color:#425b4a;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.pd2-gallery :focus-visible,.pd2-zoom :focus-visible{outline:3px solid #d67a24;outline-offset:-3px}
.pd2-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.pd2-deal{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#ff5a3c,#e11d48);color:#fff;padding:6px 11px 6px 9px;border-radius:999px;box-shadow:0 6px 16px rgba(225,29,72,.32);animation:pd2Pop .45s cubic-bezier(.22,1.4,.36,1) both}
.pd2-deal-pct{font-weight:800;font-size:14px;letter-spacing:-.01em}
.pd2-deal-txt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.92}
@keyframes pd2Pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.pd2-dots{display:flex;justify-content:center;gap:2px}
.pd2-dot{display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;padding:0;cursor:pointer}
.pd2-dot::before{content:"";width:6px;height:6px;border-radius:99px;background:#b6c0b9}
.pd2-dot[aria-pressed="true"]::before{width:20px;background:#1d5a37}

/* info card */
.pd2-card{margin:12px 12px 0;background:#fff;border:1px solid #eee6d5;border-radius:18px;padding:16px}
.pd2-brandrow{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.pd2-brand{font-size:10.5px;font-weight:800;letter-spacing:.14em;color:#8a958c}
.pd2-verified{font-size:9.5px;font-weight:700;color:#1d7a45;background:#e8f5ec;border-radius:999px;padding:3px 8px;letter-spacing:.04em}
.pd2-title{font-family:Georgia,Cambria,serif;font-size:clamp(19px,4.6vw,26px);line-height:1.22;margin:0 0 4px;color:#1e3528}
.pd2-pack{font-size:12px;color:#7d8a80;margin-bottom:12px}
.pd2-priceblock{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pd2-now{font-size:26px;font-weight:800;color:#123b25;letter-spacing:-.02em}
.pd2-was{color:#98a29a;font-size:14px}
.pd2-off{background:#ffe8d6;color:#b8460f;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px}
.pd2-save{margin-top:6px;font-size:12px;color:#1d7a45;background:#eaf6ee;border-radius:10px;padding:6px 10px;display:inline-block}
.pd2-save b{font-weight:800}
.pd2-note{margin-top:12px;padding-top:12px;border-top:1px dashed #e8e0cf;font-size:11px;color:#7f8b82}

/* rails */
.pd2-rail-card{margin:12px 0 0;background:#fff;border:1px solid #eee6d5;border-radius:18px;padding:14px 0 6px}
.pd2-rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 16px 10px}
.pd2-rail-head h2{font-family:Georgia,serif;font-size:17px;margin:0;color:#1e3528}
.pd2-rail-head span{font-size:10.5px;color:#96a099;text-transform:uppercase;letter-spacing:.08em}
.pd2-rail-all{border:0;background:none;color:#1d5a37;font-size:11.5px;font-weight:700;cursor:pointer}
.pd2-rail{display:flex;gap:10px;overflow-x:auto;padding:2px 16px 10px;scroll-snap-type:x proximity}
.pd2-rail::-webkit-scrollbar{display:none}
.pd2-rail .gallery-card{flex:0 0 148px;max-width:148px;scroll-snap-align:start}
.pd2-rail .gallery-card img{transition:transform .4s}
.pd2-rail .gallery-card:hover img{transform:scale(1.04)}

.pd2-hint{text-align:center;font-size:10.5px;color:#a9b1aa;padding:14px 0 4px;letter-spacing:.02em}

/* sticky action bar — every control the same height */
.pd2-bar{position:sticky;bottom:0;z-index:7;display:flex;align-items:center;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(251,248,241,.97);backdrop-filter:blur(12px);border-top:1px solid #ece4d3;margin-top:8px}
.pd2-bar-price{display:flex;flex-direction:column;line-height:1.05;flex:0 0 auto;min-width:56px}
.pd2-bar-price strong{font-size:16px;color:#123b25}
.pd2-bar-price del{font-size:10.5px;color:#a3ada5}
.pd2-bar-actions{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}
.pd2-add,.pd2-basket,.pd2-checkout{height:46px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;white-space:nowrap}
.pd2-add{flex:0 0 auto;min-width:96px}
.pd2-add .sticky-add{width:100%;height:46px;border-radius:13px;background:#fff;border:1.5px solid #1d5a37;color:#1d5a37;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13.5px;font-weight:800}
.pd2-add .sticky-qty{height:46px;border-radius:13px;border:1.5px solid #1d5a37;display:flex;align-items:center;justify-content:space-between;padding:0 6px;min-width:104px;background:#fff}
.pd2-add .sticky-qty button{width:32px;height:34px;border:0;background:#eef5ee;border-radius:9px;font-size:17px;color:#1d5a37;cursor:pointer}
.pd2-basket{flex:0 0 auto;padding:0 14px;background:#fff;border:1px solid #e2dac8;color:#2a4133;gap:6px}
.pd2-checkout{flex:1 1 auto;padding:0 18px;background:#ed5c2b;border:0;color:#fff;gap:6px;box-shadow:0 6px 16px rgba(237,92,43,.28)}
.pd2-basket:active,.pd2-checkout:active{transform:scale(.985)}
@media (max-width:380px){.pd2-basket span{display:none}}

/* Top-layer dialog stays interactive above the product sheet. */
.pd2-zoom{position:fixed;inset:0;z-index:9999;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(8,12,9,.97);color:#fff;overflow:hidden;overscroll-behavior:contain}
.pd2-zoom::backdrop{background:rgba(8,12,9,.94)}
.pd2-zoom-surface{position:absolute;inset:0;overflow:hidden;touch-action:none;user-select:none;cursor:grab}
.pd2-zoom-surface:active{cursor:grabbing}
.pd2-zoom-img{position:absolute;max-width:none;max-height:none;object-fit:contain;pointer-events:none}
.pd2-zoom-help{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom));left:12px;right:12px;margin:0;text-align:center;font-size:12px;pointer-events:none;color:#fff}
.pd2-zoom-x{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;width:44px;height:44px;border-radius:50%;border:0;background:#444b47;color:#fff;font-size:24px;cursor:pointer}

@media (prefers-reduced-motion:reduce){
 .pd2-sheet,.pd2-sheet *,.pd2-zoom,.pd2-zoom *{animation:none!important;transition:none!important;transform:none!important;scroll-behavior:auto!important}
 .pd2-track{display:block;will-change:auto}
 .pd2-slide[aria-hidden="true"]{display:none}
}

/* the sheet must never scroll sideways */
#modal.pd2-dialog{overflow:hidden}
.pd2-sheet{overflow-x:hidden!important;overscroll-behavior-x:none;touch-action:pan-y}
.pd2-gallery{overflow:hidden}
.pd2-stage{overflow:hidden}
