/* ==================================================================
   22. PRODUCT DETAIL PAGE (PDP)
   ================================================================== */
.pdp-section{  margin:0 auto; padding: 32px 24px 64px; }

/* --- IMAGE GALLERY --- */
.gallery-thumb{
  display:block; width:100%; padding:0; border:1px solid var(--line);
  border-radius:6px; overflow:hidden; background:#fafaf8;
  aspect-ratio:1/1;
}
.gallery-thumb img, .gallery-thumb svg{ width:100%; height:100%; display:block; object-fit:cover; }
.gallery-thumb:hover{ border-color:var(--green); }

/* --- PRODUCT INFO COLUMN --- */
.pdp-info{ padding-top:4px; }
.pdp-title-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.pdp-title{ font-size:26px; font-weight:700; margin:0; line-height:1.25; }
.wishlist-btn{
  flex-shrink:0;
  width:40px; height:40px; border-radius:50%;
  border:0; background:var(--parrot);
  display:flex; align-items:center; justify-content:center; color:#fff;
}
.wishlist-btn svg{ width:18px; height:18px; }
.wishlist-btn.active{ background:var(--vault-red); }

.pdp-price{ font-size:24px; font-weight:700; margin:10px 0 22px; }
.pdp-price-was{ font-size:18px; font-weight:700; margin:10px 22px 0px 22px; text-decoration:line-through;}

.pdp-select-row{ display:flex; column-gap:48px; flex-wrap:wrap; margin-bottom:24px; }
.pdp-select-row .label{ font-size:13px; font-weight:700; color:var(--ink); margin-bottom:10px; }

.size-options{ display:flex; gap:8px; flex-wrap:wrap; }
.size-btn{
  min-width:44px; height:40px; padding:0 10px;
  border:1.5px solid var(--green-mid); border-radius:4px;
  background:#fff; color:var(--green-mid);
  font-size:13px; font-weight:700;
}
.size-btn:hover{ background:var(--paper-2); }
.size-btn.active{ background:var(--green); border-color:var(--green); color:#fff; }
.size-btn.out-of-stock{ border-color:var(--line); color:#c7cdc9; text-decoration:line-through; cursor:not-allowed; }

/* Override/Extend existing .qty-stepper for PDP specifically */
.pdp-section .qty-stepper{
  display:flex; align-items:center;
  border:1.5px solid var(--line); border-radius:4px; width:110px; height:40px;
}
.pdp-section .qty-stepper button{ flex:0 0 34px; height:100%; border:0; background:none; font-size:16px; color:var(--ink); }
.pdp-section .qty-stepper input{
  flex:1; width:100%; text-align:center; border:0; font-family:inherit;
  font-size:14px; font-weight:700; color:var(--ink);
}
.pdp-section .qty-stepper input:focus{ outline:none; }

.pdp-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:20px; }
.btn-add-cart{
  flex:1 1 220px;
  background:var(--green); color:#fff; border:0; border-radius:4px;
  padding:16px; font-size:14px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase;
}
.btn-add-cart:hover{ background:var(--green-mid); }
.btn-pay{
  flex:1 1 220px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:#17c56b; color:#fff; border:0; border-radius:24px;
  padding:16px; font-size:14px; font-weight:600;
}
.btn-pay .pay-dot{
  width:20px; height:20px; border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center; color:#17c56b; flex-shrink:0;
}
.btn-pay .pay-dot svg{ width:10px; height:10px; }
.btn-pay strong{ font-weight:800; }

.pdp-order-note{ font-size:13.5px; margin-bottom:20px; }
.pdp-order-note strong{ color:var(--green); }

.pdp-desc{ font-size:14px; line-height:1.7; color:#3d453f; margin-bottom:26px; }

/* --- PDP ACCORDION --- */
.pdp-accordion .filter-item{ border-top:1px solid var(--line); border-bottom:0; }
.pdp-accordion .filter-item:last-child{ border-bottom:1px solid var(--line); }
.pdp-accordion .filter-toggle{
  font-size:14px; letter-spacing:0.4px; text-transform:uppercase; padding:16px 2px;
}
.pdp-accordion .filter-options{ padding:0 2px 16px; font-size:13.5px; color:var(--muted); line-height:1.6; }

/* ==================================================================
   23. LIGHTBOX (Bootstrap Modal Overrides)
   ================================================================== */
#galleryModal .modal-content{ background:transparent; border: 0; }
#galleryModal .modal-dialog{ max-width:min(90vw, 830px); }
.lightbox-stage{
  position:relative;
  background:#0c0f0d;
  border-radius:8px;
  aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.lightbox-stage img, .lightbox-stage svg{ width:85%; height:95%; object-fit:contain;}
.lightbox-close{
  position:absolute; top:-32px; right:0;
  background:none; border:0; color:#fff;
}
.lightbox-close svg{ width:26px; height:26px; }
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.35);
  color:#fff; display:flex; align-items:center; justify-content:center;
}
.lightbox-nav.prev{ left:14px; }
.lightbox-nav.next{ right:14px; }
.lightbox-nav svg{ width:18px; height:18px; }
.lightbox-counter{
  position:absolute; bottom:14px; left:50%; transform:translateX(-50%);
  color:#fff; font-size:12px; letter-spacing:1px;
  background:rgba(0,0,0,0.4); padding:4px 12px; border-radius:12px;
}