/* ==========================================================
   ALEX SELLER — Product detail page
   ========================================================== */

.product-page-grid{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap:44px; align-items:start; }

/* ---------------- Gallery ---------------- */
.product-gallery-main{ padding:10px; overflow:hidden; }
.product-gallery-main img{
  width:100%; aspect-ratio: 4/3; object-fit:cover; border-radius: var(--radius-md);
  cursor: zoom-in; transition: transform 0.4s ease;
}
.product-gallery-thumbs{ display:flex; gap:12px; margin-top:14px; flex-wrap:wrap; }
.product-thumb{
  width:74px; height:74px; border-radius: var(--radius-sm); overflow:hidden;
  border: 2px solid transparent; cursor:pointer; transition: var(--transition);
  opacity:0.65;
}
.product-thumb img{ width:100%; height:100%; object-fit:cover; }
.product-thumb:hover{ opacity:1; }
.product-thumb.active{ border-color: var(--c-primary); opacity:1; box-shadow: 0 0 14px rgba(168,85,247,0.4); }

.gallery-lightbox{
  position:fixed; inset:0; background: rgba(5,2,10,0.92); z-index:9997;
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition: opacity 0.25s ease;
}
.gallery-lightbox.active{ opacity:1; pointer-events:auto; }
.gallery-lightbox img{ max-width:88vw; max-height:86vh; border-radius: var(--radius-md); }
.gallery-lightbox-close{ position:absolute; top:26px; right:32px; color:#fff; background:none; border:none; cursor:pointer; }
.gallery-lightbox-close i{ width:30px; height:30px; }

/* ---------------- Product info ---------------- */
.product-title{ font-size:32px; margin-bottom:10px; }
.product-short-desc{ font-size:15.5px; margin-bottom:24px; }

.product-purchase-card{ padding:28px; position:sticky; top:100px; }
.product-price-block{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.product-price-main{ font-size:30px; }

.product-feature-list{ list-style:none; padding:0; margin:0 0 22px; display:flex; flex-direction:column; gap:10px; }
.product-feature-list li{ display:flex; align-items:center; gap:10px; font-size:14.5px; color: var(--text-secondary); }
.product-feature-list i{ width:16px; height:16px; color: var(--c-success); flex-shrink:0; }

.product-purchase-actions{ display:flex; flex-direction:column; gap:12px; }
.product-buy-now-btn{ width:100%; box-shadow: 0 10px 30px rgba(168,85,247,0.45); }
.product-add-cart{ width:100%; }

.product-purchase-trust{ display:flex; gap:18px; margin-top:20px; padding-top:20px; border-top:1px solid var(--border-glass); flex-wrap:wrap; }
.product-purchase-trust span{ display:flex; align-items:center; gap:6px; font-size:12.5px; color: var(--text-muted); }
.product-purchase-trust i{ width:14px; height:14px; color: var(--c-accent-2); }

@media (max-width: 992px){
  .product-page-grid{ grid-template-columns:1fr; }
  .product-purchase-card{ position:static; }
}

/* ---------------- Description / Included ---------------- */
.product-details-grid{ display:grid; grid-template-columns: 1.6fr 1fr; gap:24px; margin-top:44px; }
.product-description-card, .product-included-card{ padding:30px; }
.product-description-content{ color: var(--text-secondary); font-size:14.5px; line-height:1.8; }
.product-description-content h1, .product-description-content h2, .product-description-content h3{ color: var(--text-primary); margin-top:1.2em; }
.product-description-content img{ border-radius: var(--radius-md); margin:16px 0; }
.product-description-content table{ width:100%; border-collapse:collapse; margin:16px 0; }
.product-description-content table td, .product-description-content table th{ border:1px solid var(--border-glass); padding:8px 12px; }
.product-description-content blockquote{ border-left:3px solid var(--c-primary); padding-left:16px; color: var(--text-muted); }
.product-description-content code{ background: var(--bg-glass-strong); padding:2px 6px; border-radius:4px; }

@media (max-width: 860px){ .product-details-grid{ grid-template-columns:1fr; } }
