/* ===========================================================================
 * Redesign Phase 5 — Single product page. Loaded on product pages only
 * (inc/single-product.php), after redesign.css.
 * ======================================================================== */

body.single-product { overflow-x: clip; }

/* Breadcrumb */
.oxa-breadcrumb { margin: 28px 0 24px; font-size: 12px; line-height: 1.4; letter-spacing: 1.4px; text-transform: uppercase; color: #a1a1a1; }
.oxa-breadcrumb a { color: #a1a1a1; transition: color var(--oxa-dur) ease; }
.oxa-breadcrumb a:hover { color: var(--oxa-accent); }
.oxa-breadcrumb__sep { margin: 0 10px; }

/* Layout: gallery ~60% / summary ~40% (sticky); everything else full width underneath. */
.single-product div.product { display: block; }
.single-product .oxa-pdp-top { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px 0; }
@media (min-width: 900px) {
  .single-product .oxa-pdp-top { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 40px 56px; align-items: start; }
  .single-product .oxa-pdp-top > .summary { position: sticky; top: 130px; padding-top: 8px; }
}

/* Gallery: square grey box, picture contained and multiplied (same rule as the cards). */
#galleryWrapper #parentGallery { height: auto !important; margin: 0 !important; aspect-ratio: 1 / 1; background: var(--oxa-surface); border-radius: 0; }
#galleryWrapper #parentGallery > div { height: 100%; }
#galleryWrapper #parentGallery img,
#productGallery .swiper-wrapper .swiper-slide img { width: 100% !important; height: 100% !important; max-height: none !important; padding: 9%; object-fit: contain !important; object-position: center; mix-blend-mode: multiply; }
#productGallery { height: auto !important; aspect-ratio: 1 / 1; background: var(--oxa-surface); border-radius: 0; }
#productGallery .swiper-wrapper, #productGallery .swiper-slide { height: 100%; }

/* Summary */
.single-product div.product .summary { gap: 0; justify-content: flex-start; }
.single-product div.product .product_title { margin: 0; font-size: 32px; font-weight: 300; line-height: 1.2; color: #000; }
.single-product div.product p.price { margin: 18px 0 0 !important; font-size: 24px; line-height: 1.3; }
.single-product .summary span.woocommerce-Price-amount.amount { color: #000; font-size: 24px; font-weight: 400; letter-spacing: 0; }
.single-product .summary .price del { margin-right: 10px; text-decoration: line-through; }
.single-product .summary .price del span.woocommerce-Price-amount.amount { color: #a1a1a1; font-size: 18px; }
.single-product .summary .price ins { text-decoration: none; }
.single-product .summary .stock { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; font-size: 14px; color: #272727; }
.single-product .summary .stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--oxa-success, #3c9a5f); }
.single-product .summary .stock.out-of-stock::before { background: #c0392b; }
.single-product .summary .stock.out-of-stock { color: #c0392b; }
.single-product div.product form.cart { margin-top: 28px; }
.single-product .summary .variations { margin: 0 0 8px; }
.single-product .summary .variations label { font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; color: #a1a1a1; }
.single-product .summary .variations select { height: 46px; border: 1px solid var(--oxa-border); border-radius: 0; background-color: #fff; color: #000; }
.variable-items-wrapper .variable-item { border-color: var(--oxa-border); }
.variable-items-wrapper .variable-item.selected { background-color: #1d1d1d; border-color: #1d1d1d; color: #fff; }

/* Buttons: primary (add to cart) first, secondary (buy now) under it. */
.single-product div.product form.cart div:has(> .oxa-pdp-btn) { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.single-product div.product form.cart .oxa-pdp-btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; margin: 0; padding: 0 24px; border: 1px solid #1d1d1d; border-radius: 0; font-size: 13px; font-weight: 400; line-height: 1; letter-spacing: 2.4px; text-transform: uppercase; cursor: pointer; transition: background-color var(--oxa-dur) ease, color var(--oxa-dur) ease, border-color var(--oxa-dur) ease; }
.single-product div.product form.cart .oxa-pdp-btn--primary { order: 1; background: #1d1d1d; color: #fff; }
.single-product div.product form.cart .oxa-pdp-btn--primary:hover { background: var(--oxa-accent); border-color: var(--oxa-accent); color: #fff; }
.single-product div.product form.cart .oxa-pdp-btn--secondary { order: 2; background: transparent; color: #000; }
.single-product div.product form.cart .oxa-pdp-btn--secondary:hover { background: #1d1d1d; color: #fff; }

/* Accordions */
.oxa-acc-list { margin-top: 36px; border-top: 1px solid var(--oxa-border); }
.oxa-acc { border-bottom: 1px solid var(--oxa-border); }
.oxa-acc > summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: #000; cursor: pointer; list-style: none; }
.oxa-acc > summary::-webkit-details-marker { display: none; }
.oxa-acc > summary::after { content: "+"; font-size: 20px; letter-spacing: 0; line-height: 1; }
.oxa-acc[open] > summary::after { content: "–"; }
.oxa-acc__body { padding: 0 0 22px; font-size: 14px; line-height: 1.7; color: #272727; }
.oxa-acc__body p { margin: 0 0 1em; color: #272727; }
.oxa-acc__body p:last-child { margin-bottom: 0; }

/* Specification table */
.oxa-specs { width: 100%; border-collapse: collapse; font-size: 14px; }
.oxa-specs th, .oxa-specs td { padding: 12px 0; border-bottom: 1px solid var(--oxa-border); text-align: left; font-weight: 400; }
.oxa-specs th { width: 40%; color: #a1a1a1; font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; }
.oxa-specs td, .oxa-specs td a { color: #000; }
.oxa-pdp-specs { width: 100vw; margin-left: calc(50% - 50vw); padding: 80px 20px; background: var(--oxa-surface); }
.oxa-pdp-specs__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; max-width: 1240px; margin: 0 auto; align-items: center; }
@media (min-width: 900px) { .oxa-pdp-specs__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; } }
.oxa-pdp-specs .oxa-eyebrow { margin: 0 0 24px; }
.oxa-pdp-specs__img img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }

/* Related ("TË NGJASHME"): eyebrow heading on white, no orange rule. */
.single-product .up-sells { margin-top: 24px; }
.single-product .up-sells > div:first-child { display: none; }
.single-product .up-sells h2 { margin: 0 0 24px; font-size: 16px; font-weight: 400; letter-spacing: 3.4px; color: #000; }
.single-product .upsell-products { width: 100% !important; }
.single-product .upsell-products ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; }
.single-product .upsell-products ul.products li.product { width: auto; max-width: none; margin: 0; flex: none; display: flex; flex-direction: column; }
@media (min-width: 768px) { .single-product .upsell-products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
