/* product-v3 PDP — pixel-parity with the real pdp-demo.css (engine-rendered .pdp-wrap).
 * All rules scoped under body.single-product .pdp-wrap to avoid colliding with WP/WC core.
 * Version: 0.6.1
 */

/* ---- Tokens ---- */
:root {
  --red: #e21c2b;
  --red-hover: #c8171f;
  --black: #000;
  --white: #fff;
  --gray-100: #f7f7f7;
  --gray-200: #ebebeb;
  --gray-300: #d4d4d4;
  --gray-500: #737373;
  --gray-700: #404040;
  --green: #22c55e;
  --gold: #f5a623;
  --wa-green: #25D366;
}

/* ---- FIX 1: Break theme max-width:1200px so .product can reach 1400px ---- */
body.single-product .site.grid-container.container,
body.single-product #page{max-width:100%!important}
body.single-product .site-content,
body.single-product #content{max-width:100%!important;padding-left:0!important;padding-right:0!important}
body.single-product .content-area,
body.single-product .inside-article,
body.single-product .entry-content{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important}
/* #content.site-content is display:flex — our .pdp-wrap becomes a flex item that shrinks to its
   1400px content and aligns flex-start (left). Force block flow + full-width wrapper so .product's
   margin:0 auto actually centers at wide viewports. */
body.single-product #content.site-content{display:block!important}
body.single-product .pdp-wrap{width:100%!important;max-width:100%!important}

/* ---- PERF: hide the theme's sticky add-to-cart panel on prodv3 pages.
   It duplicates our buybox, isn't in the demo, AND lazy-loads the product's
   FULL-size image at 50px (~899KB) — hiding it before viewport prevents that fetch. ---- */
body.single-product #wc-sticky-cart-panel,
body.single-product .add-to-cart-panel{display:none!important}

/* ---- Base / Resets ---- */
body.single-product .pdp-wrap {
  font-family: 'Barlow Condensed', sans-serif;
  color: #000;
}
body.single-product .pdp-wrap *,
body.single-product .pdp-wrap *::before,
body.single-product .pdp-wrap *::after {
  box-sizing: border-box;
}
body.single-product .pdp-wrap a {
  text-decoration: none;
  color: inherit;
}
body.single-product .pdp-wrap img {
  max-width: 100%;
  height: auto;
  display: block;
}
body.single-product .pdp-wrap button {
  cursor: pointer;
  font-family: inherit;
  border: none;
  background: none;
}
body.single-product .pdp-wrap ul,
body.single-product .pdp-wrap ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ---- .product 2-col grid ---- */
body.single-product .pdp-wrap .product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1400px;
  margin: 0 auto;
}
/* Grid children must not overflow their track (min-width:auto default causes blowout) */
body.single-product .pdp-wrap .product > * {
  min-width: 0;
}
@media (max-width: 1024px) {
  body.single-product .pdp-wrap .product {
    grid-template-columns: 1fr;
    overflow-x: hidden;
  }
}

/* ---- Gallery ---- */
body.single-product .pdp-wrap .gallery {
  position: sticky;
  top: 64px;
  align-self: start;
  background: var(--gray-100);
}
body.single-product .pdp-wrap .gallery__main {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
}
body.single-product .pdp-wrap .gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 20px;
}
body.single-product .pdp-wrap .gallery__badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--red);
  color: var(--white);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 12px;
  border-radius: 3px;
}
body.single-product .pdp-wrap .gallery__thumbs {
  display: flex;
  gap: 6px;
  padding: 12px 20px;
}
body.single-product .pdp-wrap .gallery__thumb {
  width: 64px;
  height: 64px;
  border-radius: 4px;
  border: 2px solid transparent;
  cursor: pointer;
  background: var(--gray-100);
  overflow: hidden;
  transition: border-color 0.2s;
  padding: 0;
}
body.single-product .pdp-wrap .gallery__thumb.active {
  border-color: var(--black);
}
body.single-product .pdp-wrap .gallery__thumb:hover {
  border-color: var(--gray-300);
}
body.single-product .pdp-wrap .gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

/* ---- Product Info column ---- */
body.single-product .pdp-wrap .product-info {
  padding: 24px 40px 40px;
}

/* ---- Breadcrumb ---- */
body.single-product .pdp-wrap .breadcrumb {
  font-size: 14px;
  color: var(--black);
  margin-bottom: 6px;
  font-weight: 400;
}
body.single-product .pdp-wrap .breadcrumb a {
  color: var(--gray-500);
  transition: color 0.2s;
}
body.single-product .pdp-wrap .breadcrumb a:hover {
  color: var(--black);
}
body.single-product .pdp-wrap .breadcrumb__sep {
  margin: 0 6px;
  color: var(--gray-300);
}

/* ---- Title row ---- */
body.single-product .pdp-wrap .product-info__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 0;
}
body.single-product .pdp-wrap .product-info__title {
  font-family: Teko, sans-serif;
  font-size: 34px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  line-height: 1.1;
  color: var(--black);
}
body.single-product .pdp-wrap .wishlist-btn {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border: 1px solid var(--gray-200);
  border-radius: 50%;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px;
  transition: border-color 0.2s;
  cursor: pointer;
}
body.single-product .pdp-wrap .wishlist-btn:hover {
  border-color: var(--red);
}
body.single-product .pdp-wrap .wishlist-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: rgb(51, 51, 51);
  fill: none;
  stroke-width: 1.5;
}

/* ---- SKU ---- */
body.single-product .pdp-wrap .sku-line {
  font-size: 13px;
  color: var(--gray-500);
  margin-top: -20px;
  margin-bottom: 6px;
}
body.single-product .pdp-wrap .sku-line span {
  font-weight: 500;
}

/* ---- Price block ---- */
body.single-product .pdp-wrap .price-block {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
body.single-product .pdp-wrap .price-block__sale,
body.single-product .pdp-wrap .price-block__regular {
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 1.3px;
  color: var(--black);
}
body.single-product .pdp-wrap .price-block__compare {
  font-size: 22px;
  font-weight: 400;
  text-decoration: line-through;
  color: var(--gray-500);
  margin-left: 8px;
}
body.single-product .pdp-wrap .price-block__badge {
  display: inline-block;
  background: var(--red);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-left: 10px;
  vertical-align: middle;
}

/* ---- Stock status ---- */
body.single-product .pdp-wrap .stock-status {
  font-size: 14px;
  color: var(--green);
  font-weight: 500;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 4px;
}
body.single-product .pdp-wrap .stock-status svg {
  width: 16px;
  height: 16px;
  fill: var(--green);
}
body.single-product .pdp-wrap .stock-status--out {
  color: var(--red);
}
body.single-product .pdp-wrap .stock-status--out svg {
  fill: var(--red);
}
body.single-product .pdp-wrap .stock-status--low {
  color: var(--gold);
}
body.single-product .pdp-wrap .stock-status--low svg {
  fill: var(--gold);
}

/* ---- Divider ---- */
body.single-product .pdp-wrap .divider {
  border-top: 1px solid var(--gray-200);
  margin: 10px 0;
}

/* ---- Features ---- */
body.single-product .pdp-wrap .features {
  margin-bottom: 10px;
  padding: 0;
  margin-left: 0;
  list-style: none;
}
body.single-product .pdp-wrap .features__item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 4px 0;
  font-size: 16px;
  font-weight: 400;
  color: var(--black);
  line-height: 1.5;
}
body.single-product .pdp-wrap .features__check {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgb(22, 163, 74);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
body.single-product .pdp-wrap .features__check svg {
  width: 13px;
  height: 13px;
  stroke: rgb(255, 255, 255);
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ---- WC Native Variations Form styled as .variant-picker ---- */
/* FIX 2: Stack label ABOVE select (th/td side-by-side → each display:block full-width) */
body.single-product .pdp-wrap .variations,
body.single-product .pdp-wrap .variations tbody,
body.single-product .pdp-wrap .variations tr,
body.single-product .pdp-wrap .variations th,
body.single-product .pdp-wrap .variations td{display:block;width:100%;border:none!important}
body.single-product .pdp-wrap .variations th,
body.single-product .pdp-wrap .variations .label{padding:0 0 6px;text-align:left}
body.single-product .pdp-wrap .variations td,
body.single-product .pdp-wrap .variations .value{padding:0 0 14px}
body.single-product .pdp-wrap .variations label{display:block;font-size:14px;font-weight:600;margin:0 0 6px;color:#000}
body.single-product .pdp-wrap .variations_form .variations,
body.single-product .pdp-wrap table.variations {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 0;
  border: none !important;
}
body.single-product .pdp-wrap .variations_form .variations td,
body.single-product .pdp-wrap .variations_form .variations th {
  padding: 4px 0 8px;
  text-align: left;
  vertical-align: middle;
  border: none;
  background: none;
}
body.single-product .pdp-wrap .variations_form .variations label,
body.single-product .pdp-wrap .variations_form .variations th label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
  color: rgb(0, 0, 0);
}
body.single-product .pdp-wrap .variations_form .variations select {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--gray-200);
  border-radius: 6px;
  font-size: 15px;
  font-family: 'Barlow Condensed', sans-serif;
  color: rgb(0, 0, 0);
  background: rgb(255, 255, 255);
  cursor: pointer;
  outline: none;
}
body.single-product .pdp-wrap .variations_form .variations select:focus {
  border-color: rgb(153, 153, 153);
}
body.single-product .pdp-wrap .variations_form .reset_variations {
  font-size: 12px;
  color: var(--gray-500);
  display: inline-block;
  margin: 4px 0 8px;
}
body.single-product .pdp-wrap .variations_form .single_variation_wrap .woocommerce-variation-price {
  font-size: 22px;
  font-weight: 500;
  margin: 8px 0;
  color: var(--black);
}
body.single-product .pdp-wrap .variations_form .single_variation_wrap .woocommerce-variation-availability {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}
/* FIX 3a: Make variable ATC button always visible + WhatsApp flex beside it */
body.single-product .pdp-wrap .single_add_to_cart_button{display:inline-flex!important;align-items:center;justify-content:center}
/* Variable (WC) buybox: horizontal qty + 52px row, no stretch */
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart{display:flex!important;align-items:center!important;gap:10px;flex-wrap:wrap}
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .quantity{display:inline-flex!important;align-items:center;height:52px;border:1px solid var(--gray-300);border-radius:6px;overflow:hidden;flex:0 0 auto;margin:0}
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .quantity .minus,
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .quantity .plus{display:flex;align-items:center;justify-content:center;width:40px;height:52px;background:var(--gray-100);color:var(--gray-700);font-size:18px;line-height:1;text-decoration:none;flex:0 0 auto}
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .quantity .minus:hover,
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .quantity .plus:hover{background:var(--gray-200)}
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .quantity input.qty{width:48px;height:52px;text-align:center;border:none;border-left:1px solid var(--gray-300);border-right:1px solid var(--gray-300);font-size:15px;font-weight:500;background:#fff;-moz-appearance:textfield}
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-outer-spin-button,
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button{height:52px!important;flex:1 1 auto;min-width:200px;padding:0 24px!important}
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .wa-btn{height:52px;flex:0 0 auto}
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .screen-reader-text{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- Qty selector ---- */
body.single-product .pdp-wrap .qty-selector {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--gray-300);
  border-radius: 6px;
  overflow: hidden;
  height: 44px;
}
body.single-product .pdp-wrap .qty-selector button {
  width: 40px;
  height: 100%;
  border: none;
  background: var(--gray-100);
  font-size: 18px;
  font-weight: 500;
  color: var(--gray-700);
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.single-product .pdp-wrap .qty-selector button:hover {
  background: var(--gray-200);
}
body.single-product .pdp-wrap .qty-selector input {
  width: 44px;
  height: 100%;
  text-align: center;
  border: none;
  border-left: 1px solid var(--gray-300);
  border-right: 1px solid var(--gray-300);
  font-size: 15px;
  font-weight: 500;
  font-family: inherit;
  background: rgb(255, 255, 255);
  color: rgb(0, 0, 0);
  outline: none;
}
body.single-product .pdp-wrap .qty-selector input::-webkit-outer-spin-button,
body.single-product .pdp-wrap .qty-selector input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

/* ---- ATC Row ---- */
body.single-product .pdp-wrap .atc-row {
  display: flex;
  gap: 10px;
  margin-bottom: 4px;
  margin-top: 12px;
}
body.single-product .pdp-wrap .atc-btn {
  flex: 1 1 0%;
  background: var(--red);
  color: var(--white);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 14px 24px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  line-height: 1.3;
}
body.single-product .pdp-wrap .atc-btn:hover {
  background: var(--red-hover);
}
body.single-product .pdp-wrap .atc-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
body.single-product .pdp-wrap .atc-btn--adding {
  opacity: 0.7;
  pointer-events: none;
}
body.single-product .pdp-wrap .atc-btn--added {
  background: rgb(34, 197, 94) !important;
}
/* Fix: WC .button.alt bleeds through on variable products; lock to brand red */
body.single-product .pdp-wrap .single_add_to_cart_button,
body.single-product .pdp-wrap button.single_add_to_cart_button.alt,
body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}
body.single-product .pdp-wrap .single_add_to_cart_button:hover{background:var(--red-hover)!important}
/* FIX 3a: Override WC's .disabled class opacity — button is always visible, JS validates variation */
body.single-product .pdp-wrap .single_add_to_cart_button.disabled,
body.single-product .pdp-wrap .single_add_to_cart_button.wc-variation-selection-needed{opacity:1!important;cursor:pointer!important}
body.single-product .pdp-wrap .wa-btn {
  flex: 0 0 auto;
  background: var(--wa-green);
  color: var(--white);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 14px 20px;
  border-radius: 6px;
  border: none;
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}
body.single-product .pdp-wrap .wa-btn:hover {
  background: rgb(31, 184, 85);
}
body.single-product .pdp-wrap .wa-btn svg {
  width: 22px;
  height: 22px;
  fill: var(--white);
}
body.single-product .pdp-wrap .atc-deal-text {
  text-align: center;
  font-size: 14px;
  color: var(--green);
  font-weight: 500;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  margin-top: 6px;
}
body.single-product .pdp-wrap .prodv3-toast {
  margin-top: 10px;
  padding: 10px 14px;
  border-radius: 6px;
  background: #e8f5e9;
  color: #166534;
  font-weight: 600;
  font-size: 14px;
  display: none;
}
body.single-product .pdp-wrap .prodv3-toast.visible {
  display: block;
}
body.single-product .pdp-wrap .prodv3-toast--err {
  background: #fef2f2;
  color: #991b1b;
}

/* ---- Trust Row ---- */
/* FIX 4: 3 icons on ONE line desktop, stacked mobile */
body.single-product .pdp-wrap .trust-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  margin-bottom: 10px;
  flex-wrap: nowrap;
}
body.single-product .pdp-wrap .trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
body.single-product .pdp-wrap .trust-item svg {
  width: 32px;
  height: 32px;
  color: var(--gray-700);
  flex-shrink: 0;
  stroke: var(--gray-700);
  fill: none;
  stroke-width: 1.5;
}
body.single-product .pdp-wrap .trust-item__text {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--gray-700);
}

/* ---- Accordion ---- */
body.single-product .pdp-wrap .accordion-card {
  border: 1px solid var(--gray-200);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}
body.single-product .pdp-wrap .accordion__item {
  border-bottom: 1px solid var(--gray-200);
}
body.single-product .pdp-wrap .accordion__item:last-child {
  border-bottom: none;
}
body.single-product .pdp-wrap .accordion__trigger {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.5px;
  cursor: pointer;
  border: none;
  text-align: left;
  background: var(--gray-100) !important;
  color: var(--black) !important;
}
body.single-product .pdp-wrap .accordion__trigger:hover {
  background: var(--gray-200) !important;
}
body.single-product .pdp-wrap .accordion__icon {
  width: 20px;
  height: 20px;
  transition: transform 0.3s;
  color: var(--gray-500);
  flex-shrink: 0;
  stroke: var(--gray-500);
  fill: none;
  stroke-width: 2;
}
body.single-product .pdp-wrap .accordion__item.open .accordion__icon {
  transform: rotate(180deg);
}
body.single-product .pdp-wrap .accordion__content {
  display: none;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.7);
  padding: 0 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
}
body.single-product .pdp-wrap .accordion__item.open .accordion__content {
  display: block;
}
body.single-product .pdp-wrap .accordion__body {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.7);
  padding: 20px 28px 24px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
}
body.single-product .pdp-wrap .accordion__body *,
body.single-product .pdp-wrap .accordion__content * {
  font-family: 'Barlow Condensed', sans-serif !important;
}
body.single-product .pdp-wrap .accordion__body h3,
body.single-product .pdp-wrap .accordion__body h4 {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--black);
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 16px 0 8px !important;
}
body.single-product .pdp-wrap .accordion__body h3:first-child,
body.single-product .pdp-wrap .accordion__body h4:first-child {
  margin-top: 0 !important;
}
body.single-product .pdp-wrap .accordion__body p {
  margin-bottom: 12px;
}
body.single-product .pdp-wrap .accordion__body p:last-child {
  margin-bottom: 0;
}
body.single-product .pdp-wrap .accordion__content > p:empty,
body.single-product .pdp-wrap .accordion__body > p:empty {
  display: none;
}

/* ---- PDP Table ---- */
body.single-product .pdp-wrap .pdp-table-wrap {
  border: 1px solid rgb(235, 235, 235);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
}
body.single-product .pdp-wrap .pdp-table-wrap table {
  width: 100%;
  border-collapse: collapse;
}
body.single-product .pdp-wrap .pdp-table-wrap table tr {
  border-bottom: 1px solid rgb(235, 235, 235);
}
body.single-product .pdp-wrap .pdp-table-wrap table tr:last-child {
  border-bottom: none;
}
body.single-product .pdp-wrap .pdp-table-wrap table td,
body.single-product .pdp-wrap .pdp-table-wrap table th {
  padding: 10px 14px;
  font-size: 14px;
  text-align: left;
  vertical-align: top;
}
body.single-product .pdp-wrap .pdp-table-wrap table td:first-child,
body.single-product .pdp-wrap .pdp-table-wrap table th:first-child {
  font-weight: 600;
  color: rgb(0, 0, 0);
  width: 40%;
  background: rgb(249, 249, 249);
}

/* ---- Share Row ---- */
body.single-product .pdp-wrap .share-row {
  display: flex;
  gap: 8px;
  margin-top: 20px;
  align-items: center;
}
body.single-product .pdp-wrap .share-row__label {
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-500);
  margin-right: 4px;
}
body.single-product .pdp-wrap .share-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--gray-200);
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: rgb(51, 51, 51);
  transition: border-color 0.2s, background 0.2s;
}
body.single-product .pdp-wrap .share-btn:hover {
  border-color: var(--gray-300);
  background: var(--gray-100);
}
body.single-product .pdp-wrap .share-btn svg {
  width: 16px;
  height: 16px;
  min-width: 16px;
  flex-shrink: 0;
  stroke-width: 2;
}

/* ---- Section-level (FAQ / Related below the grid) ---- */
body.single-product .pdp-wrap .section-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 48px 40px;
  border-top: 1px solid rgb(235, 235, 235);
}
body.single-product .pdp-wrap .section__title {
  font-family: Teko, sans-serif;
  font-size: 40px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  line-height: 1.1;
  color: var(--black);
  margin-bottom: 24px;
}

/* ---- Cross-sell section (inside product-info column) ---- */
body.single-product .pdp-wrap .crosssell-section {
  margin-top: 28px;
}
body.single-product .pdp-wrap .crosssell-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
  color: var(--black);
}
body.single-product .pdp-wrap .crosssell-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
body.single-product .pdp-wrap .crosssell-card {
  border: 1px solid var(--gray-200);
  border-radius: 10px;
  padding: 12px;
  display: flex;
  gap: 12px;
  align-items: center;
  transition: border-color 0.2s;
}
body.single-product .pdp-wrap .crosssell-card:hover {
  border-color: var(--gray-300);
}
body.single-product .pdp-wrap .crosssell-card__img {
  width: 72px;
  height: 72px;
  border-radius: 6px;
  background: var(--gray-100);
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}
body.single-product .pdp-wrap .crosssell-card__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}
body.single-product .pdp-wrap .crosssell-card__sale-badge {
  position: absolute;
  top: 4px;
  left: 4px;
  background: var(--red);
  color: var(--white);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 5px;
  border-radius: 3px;
}
body.single-product .pdp-wrap .crosssell-card__body,
body.single-product .pdp-wrap .crosssell-card__info {
  flex: 1 1 0%;
  min-width: 0;
}
body.single-product .pdp-wrap .crosssell-card__name {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--black);
  line-height: 1.3;
  margin-bottom: 4px;
}
body.single-product .pdp-wrap .crosssell-card__name a {
  color: inherit;
}
body.single-product .pdp-wrap .crosssell-card__stars,
body.single-product .pdp-wrap .crosssell-card__rating {
  display: flex;
  gap: 1px;
  margin-bottom: 4px;
}
body.single-product .pdp-wrap .crosssell-card__stars svg,
body.single-product .pdp-wrap .crosssell-card__rating svg {
  width: 12px;
  height: 12px;
  fill: var(--gold);
}
body.single-product .pdp-wrap .crosssell-card__price,
body.single-product .pdp-wrap .crosssell-card__prices {
  font-size: 14px;
  font-weight: 500;
  color: var(--black);
}
body.single-product .pdp-wrap .crosssell-card__price del,
body.single-product .pdp-wrap .compare {
  color: var(--gray-500);
  font-weight: 400;
  margin-left: 4px;
  text-decoration: line-through;
}
body.single-product .pdp-wrap .crosssell-card__sale {
  color: var(--black);
  font-weight: 500;
}
body.single-product .pdp-wrap .crosssell-card__compare {
  color: var(--gray-500);
  font-weight: 400;
  text-decoration: line-through;
  margin-left: 4px;
  font-size: 13px;
}
body.single-product .pdp-wrap .crosssell-card__regular {
  color: var(--black);
  font-weight: 500;
}
body.single-product .pdp-wrap .crosssell-card__atc {
  background: var(--black);
  color: var(--white);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 14px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  margin-top: 6px;
  transition: background 0.2s;
}
body.single-product .pdp-wrap .crosssell-card__atc:hover {
  background: rgb(51, 51, 51);
}

/* ---- FAQ Section ---- */
body.single-product .pdp-wrap .faq-list {
  border: 1px solid var(--gray-200);
  border-radius: 10px;
  overflow: hidden;
  max-width: 100%;
}
body.single-product .pdp-wrap .faq-item {
  border-bottom: 1px solid var(--gray-200);
}
body.single-product .pdp-wrap .faq-item:last-child {
  border-bottom: none;
}
body.single-product .pdp-wrap .faq-trigger {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.5px;
  cursor: pointer;
  border: none;
  text-align: left;
  background: var(--gray-100) !important;
  color: var(--black) !important;
}
body.single-product .pdp-wrap .faq-trigger:hover {
  background: var(--gray-200) !important;
}
body.single-product .pdp-wrap .faq-trigger__icon {
  width: 20px;
  height: 20px;
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-left: 12px;
  stroke: var(--gray-500);
  fill: none;
  stroke-width: 2;
}
body.single-product .pdp-wrap .faq-item.open .faq-trigger__icon {
  transform: rotate(180deg);
}
body.single-product .pdp-wrap .faq-answer {
  display: none;
  padding: 16px 20px 20px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(0, 0, 0, 0.7);
  font-family: 'Barlow Condensed', sans-serif;
}
body.single-product .pdp-wrap .faq-item.open .faq-answer {
  display: block;
}
body.single-product .pdp-wrap .faq-input {
  display: none !important;
}

/* ---- Related Grid ---- */
body.single-product .pdp-wrap .related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* ---- Reviews ---- */
body.single-product .pdp-wrap .reviews-summary {
  display: flex;
  gap: 48px;
  margin-bottom: 32px;
  align-items: center;
}
body.single-product .pdp-wrap .reviews-summary__number {
  font-family: Teko, sans-serif;
  font-size: 64px;
  font-weight: 500;
  line-height: 1;
  color: var(--black);
}
body.single-product .pdp-wrap .review-card {
  border: 1px solid var(--gray-200);
  border-radius: 10px;
  padding: 20px 24px;
  margin-bottom: 16px;
}

/* ---- Responsive ---- */
@media (max-width: 1024px) {
  body.single-product .pdp-wrap .gallery {
    position: relative;
    top: auto;
  }
  body.single-product .pdp-wrap .product-info {
    padding: 24px 20px 40px;
  }
  body.single-product .pdp-wrap .related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* FIX 4 + FIX 5: tablet/mobile trust stacked; general layout fixes */
@media (max-width: 768px) {
  /* FIX 4: trust stacked on mobile */
  body.single-product .pdp-wrap .trust-row{flex-direction:column;align-items:flex-start;gap:14px}
  body.single-product .pdp-wrap .crosssell-grid {
    grid-template-columns: 1fr;
  }
  body.single-product .pdp-wrap .related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  body.single-product .pdp-wrap .section-wrap {
    padding: 32px 16px;
  }
}
/* FIX 5: Mobile @390 full optimization pass */
@media (max-width: 480px) {
  /* Gallery: full-width single col above info (handled by grid→1col at 1024px already) */
  body.single-product .pdp-wrap .gallery__thumbs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding:8px 16px}
  body.single-product .pdp-wrap .gallery__thumb{flex-shrink:0}
  /* Product info padding */
  body.single-product .pdp-wrap .product-info{padding:16px 16px 32px}
  /* Title size */
  body.single-product .pdp-wrap .product-info__title{font-size:26px}
  /* ATC row: stack if cramped */
  body.single-product .pdp-wrap .atc-row{flex-direction:column}
  body.single-product .pdp-wrap .woocommerce-variation-add-to-cart{flex-wrap:wrap}
  body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 100%}
  body.single-product .pdp-wrap .woocommerce-variation-add-to-cart .wa-btn{flex:1 1 100%;justify-content:center}
  body.single-product .pdp-wrap .wa-btn{justify-content:center;width:100%}
  body.single-product .pdp-wrap .atc-btn{width:100%}
  /* Qty + select tap targets ≥ 44px */
  body.single-product .pdp-wrap .qty-selector{height:48px}
  body.single-product .pdp-wrap .variations_form .variations select{min-height:44px}
  /* Section padding */
  body.single-product .pdp-wrap .section-wrap{padding:24px 16px}
  /* Gallery aspect */
  body.single-product .pdp-wrap .gallery__main{aspect-ratio:4/3}
  /* Related grid 1 col */
  body.single-product .pdp-wrap .related-grid{grid-template-columns:1fr}
  /* Overflow prevention */
  body.single-product .pdp-wrap .product{max-width:100%;overflow-x:hidden}
  body.single-product .pdp-wrap{overflow-x:hidden}
}
