/* XCellParts — Single product (PDP)
 * Spec: docs/designs/xcellparts-pdp-minimal.html
 * Template: build/elementor/{minimal,modern}/single-product-elementor.json
 */

/* ---- WoodMart / theme noise to hide on PDP ---- */
body.xcell-pdp-page .wd-single-product-nav,
body.xcell-pdp-page .wd-products-nav,
body.xcell-pdp-page .wd-buy-now-btn,
body.xcell-pdp-page .wd-action-btn.wd-buy-now,
body.xcell-pdp-page button.buy-now,
body.xcell-pdp-page .wd-social-share,
body.xcell-pdp-page .wd-share-buttons,
body.xcell-pdp-page .product-share,
body.xcell-pdp-page .ppcp-messages,
body.xcell-pdp-page .woocommerce-paypal-payments-message,
body.xcell-pdp-page .paypal-buttons-context-checkout,
body.xcell-pdp-page .wd-zoom-icon,
body.xcell-pdp-page .woocommerce-product-gallery__trigger{
  display:none!important;
}
body.xcell-pdp-page .xcell-pdp .product_meta,
body.xcell-pdp-page .woocommerce-product-details__short-description + .product_meta{
  display:none!important;
}

/* ---- Page shell ----
 * No horizontal padding here: the template's BOXED inner containers already
 * pad 24px (16px mobile). Shell padding stacked on top of that inset the
 * content 48-72px vs the comp's 1180px-wrap + single 24px pad. */
.xcell-pdp,
body.xcell-pdp-page .elementor-location-single{
  max-width:1180px;
  margin:0 auto;
  padding:0;
  color:var(--xcell-ink-700);
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
}

/* ---- Breadcrumbs ---- */
.xcell-pdp__breadcrumbs,
.xcell-pdp__breadcrumbs .woocommerce-breadcrumb,
.xcell-pdp__breadcrumbs .wd-breadcrumbs{
  color:var(--xcell-n-500)!important;
  font-size:13px!important;
  margin:0!important;
  padding:0!important;
}
.xcell-pdp__breadcrumbs a:hover{ color:var(--xcell-red-600)!important }
.xcell-pdp__breadcrumbs .breadcrumb-last,
.xcell-pdp__breadcrumbs .wd-last,
.xcell-pdp__breadcrumbs .xcell-crumb:last-child{
  color:var(--xcell-ink-700)!important;
  font-weight:600;
}
.xcell-pdp__breadcrumbs .xcell-crumb a{ color:inherit }

/* ---- 2-col PDP grid ---- */
.xcell-pdp__grid{
  align-items:flex-start!important;
  gap:42px!important;
  /* Elementor grid containers default to repeat(2, 1fr) rows; with auto
   * height every fr row inherits the tallest row's height, so the template
   * grows a phantom empty row (~gallery height) between buybox and tabs.
   * Belt-and-braces with the template fix — repairs already-imported copies. */
  grid-template-rows:auto!important;
  --e-con-grid-template-rows:auto;
}
@media(max-width:880px){ .xcell-pdp__grid{ gap:28px!important } }

/* ---- Gallery (WoodMart 8.5 swiper DOM + classic Woo flexslider fallback) ----
 * Constraint: .wd-carousel-container / .wd-carousel / .wd-carousel-wrap are live
 * swiper internals — changing their display/order/parent blanks the gallery
 * (verified on dev.xcp 2026-06-10). Style boxes, images and thumbs only.
 * Thumbnail position is a WoodMart THEME setting (Theme Settings → Product page
 * → thumbnails position: Bottom); the left-mode rule below is only a fallback. */
.xcell-pdp__gallery .wd-gallery-images,
.xcell-pdp__gallery .woocommerce-product-gallery__wrapper:not(.wd-carousel){
  border:1px solid var(--xcell-n-200)!important;
  border-radius:var(--xcell-r-card)!important;
  background:var(--xcell-n-50)!important;
  overflow:hidden;
}
.xcell-pdp__gallery .woocommerce-product-gallery__image{
  background:var(--xcell-n-50);
}
.xcell-pdp__gallery .woocommerce-product-gallery__image img{
  border-radius:0!important;
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
}
/* Fallback if the theme still renders thumbs on the left: stack vertically. */
.xcell-pdp__gallery .woocommerce-product-gallery.thumbs-position-left{
  display:flex!important;
  flex-direction:column!important;
  gap:12px;
}
.xcell-pdp__gallery .thumbs-position-left .wd-gallery-thumb{
  width:100%!important;
  max-width:none!important;
}
/* WoodMart thumbnails: rounded tiles, red ring on hover/active (comp .thumbs) */
.xcell-pdp__gallery .wd-gallery-thumb{
  margin-top:12px;
  /* comp .thumbs: 4 × 72px tiles + 3 × 10px gaps. Width-constraining the
   * carousel container is safe (box style only — never touch its display
   * or DOM); the swiper measures the narrowed box on init. */
  max-width:318px;
}
.xcell-pdp__gallery .wd-gallery-thumb .wd-carousel-item img{
  border-radius:var(--xcell-r-ctrl);
  border:1px solid var(--xcell-n-200);
  background:var(--xcell-n-50);
  transition:.14s var(--xcell-ease);
}
.xcell-pdp__gallery .wd-gallery-thumb .wd-carousel-item:hover img,
.xcell-pdp__gallery .wd-gallery-thumb .wd-carousel-item.wd-active img,
.xcell-pdp__gallery .wd-gallery-thumb .wd-carousel-item.active img{
  border-color:var(--xcell-red-500);
  box-shadow:0 0 0 3px var(--xcell-red-50);
}
/* Classic WooCommerce flexslider thumbs (non-WoodMart fallback) */
.xcell-pdp__gallery .flex-control-thumbs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
}
.xcell-pdp__gallery .flex-control-thumbs li{
  width:72px;
  height:72px;
  margin:0;
  float:none;
  overflow:hidden;
  border-radius:var(--xcell-r-ctrl);
  border:1px solid var(--xcell-n-200);
  background:var(--xcell-n-50);
  transition:.14s var(--xcell-ease);
}
.xcell-pdp__gallery .flex-control-thumbs li:hover,
.xcell-pdp__gallery .flex-control-thumbs li.flex-active{
  border-color:var(--xcell-red-500);
  box-shadow:0 0 0 3px var(--xcell-red-50);
}
/* WoodMart's extra "show gallery" button block — the comp has none */
.xcell-pdp__gallery .product-additional-galleries{
  display:none!important;
}
.xcell-pdp__gallery .product-labels,
.xcell-pdp__col-gallery .product-labels{
  position:absolute;
  top:16px;
  left:16px;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.xcell-pdp__gallery .product-label,
.xcell-pdp__col-gallery .product-label{
  font-size:11px;
  font-weight:700;
  padding:5px 11px;
  border-radius:var(--xcell-r-pill);
}
/* Overlay tag pill ([xcell_pdp_gallery_tag] — shortcode widget sits above the images widget) */
.xcell-pdp__col-gallery{ position:relative }
.elementor-widget.xcell-pdp__gallery-tag{
  position:absolute!important;
  top:16px;
  left:16px;
  z-index:5;
  width:auto!important;
  pointer-events:none;
}
.xcell-pdp-gallery-tag{
  display:inline-block;
  background:var(--xcell-red-500);
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:5px 11px;
  border-radius:var(--xcell-r-pill);
  line-height:1.2;
}
/* Custom tag replaces Woo's default "Sale!" flash */
.xcell-pdp__gallery .onsale,
.xcell-pdp__col-gallery span.onsale{ display:none!important }

/* ---- Badge chips (buybox) ---- */
.xcell-pdp-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:2px;
}
.xcell-pdp-badges__item{
  font-size:11px;
  font-weight:700;
  padding:5px 11px;
  border-radius:var(--xcell-r-pill);
  line-height:1.2;
}
.xcell-pdp-badges__item--red{ background:var(--xcell-red-500); color:#fff }
.xcell-pdp-badges__item--green{ background:var(--xcell-success-bg); color:#15663c }
.xcell-pdp-badges__item--ink{ background:var(--xcell-ink-800); color:#fff }

/* ---- Title ---- */
.xcell-pdp__title .product_title,
.xcell-pdp__title .wd-entities-title,
.xcell-pdp__title h1,
body.xcell-pdp-page .xcell-pdp__title .elementor-heading-title{
  font-size:26px!important;
  font-weight:700!important; /* comp h1 is default bold, not 800 */
  color:var(--xcell-ink-800)!important;
  letter-spacing:-.02em!important;
  line-height:1.2!important;
  margin:0!important;
  text-transform:none!important;
}

/* ---- Buybox vertical rhythm (comp-exact) ----
 * The buybox container uses a uniform 14px flex gap; the comp's margins are
 * 10/18/4/14/6/20/24/22px. Per-widget offsets bridge the difference
 * (offset = comp margin - 14px gap). Empty shortcode widgets are removed
 * from the flow so they don't double the gap. */
.xcell-pdp__buybox > .elementor-widget.xcell-pdp__meta-row{ margin-top:-4px!important }  /* comp 10 */
.xcell-pdp__buybox > .elementor-widget.xcell-pdp__price{ margin-top:4px!important }      /* comp 18 */
.xcell-pdp__buybox > .elementor-widget.xcell-pdp__tiers{ margin-top:-10px!important }    /* comp 4  */
.xcell-pdp__buybox > .elementor-widget.xcell-pdp__cutoff{ margin-top:-8px!important }    /* comp 6  */
.xcell-pdp__buybox > .elementor-widget.xcell-pdp__specs{ margin-top:6px!important }      /* comp 20 */
.xcell-pdp__buybox > .elementor-widget-shortcode:not(:has(.elementor-shortcode > *)){ display:none }

/* ---- Meta row (rating + SKU) ---- */
.xcell-pdp-meta,
.xcell-pdp__meta-row .xcell-pdp-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  color:var(--xcell-n-500);
  font-size:13px;
  margin:0;
}
.xcell-pdp-meta__rating{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.xcell-pdp-meta__rating .star-rating,
.xcell-pdp-meta__rating .woocommerce-product-rating{
  color:var(--xcell-red-500)!important;
  letter-spacing:1px;
  margin:0!important;
  float:none!important;
}
.xcell-pdp-meta__rating .star-rating span,
.xcell-pdp-meta__rating .star-rating{
  color:var(--xcell-red-500)!important;
}
.xcell-pdp-meta__count{
  color:var(--xcell-n-500);
  font-size:13px;
  margin-left:4px;
}
.xcell-pdp-meta__sep{ color:var(--xcell-n-400) }
.xcell-pdp-meta__sku{
  font-variant-numeric:tabular-nums;
  color:var(--xcell-n-500);
}

/* ---- Price (Elementor + WoodMart) ---- */
.xcell-pdp__price .price,
.xcell-pdp__price p.price,
.elementor-widget-woocommerce-product-price .price,
.xcell-pdp__price .woocommerce-Price-amount,
.xcell-pdp__price .amount,
.xcell-pdp__price ins,
.xcell-pdp__price ins .woocommerce-Price-amount{
  color:var(--xcell-red-500)!important;
  font-weight:800!important;
  font-size:32px!important;
  font-variant-numeric:tabular-nums;
  text-decoration:none!important;
  line-height:1.1!important;
}
.xcell-pdp__price del,
.xcell-pdp__price del .woocommerce-Price-amount{
  color:var(--xcell-n-400)!important;
  font-size:16px!important;
  font-weight:400!important;
  text-decoration:line-through!important;
  margin-left:12px;
}
.xcell-pdp__price .woocommerce-price-suffix,
.xcell-pdp__price small.woocommerce-price-suffix{
  display:none!important;
}

/* ---- Wholesale tiers ---- */
.xcell-pdp-tiers,
.xcell-pdp__tiers .xcell-pdp-tiers{
  font-size:13px;
  color:var(--xcell-n-600);
  line-height:1.5;
}
.xcell-pdp-tiers b,
.xcell-pdp-tiers strong{ color:var(--xcell-ink-800) }
.xcell-pdp-tiers a{ color:var(--xcell-red-600); font-weight:600 }

/* ---- Stock (shortcode + widget) ---- */
.xcell-pdp__stock .stock,
.xcell-pdp__stock p.stock,
.xcell-pdp__stock .xcell-pdp-stock,
.xcell-pdp__stock .wd-product-stock{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  color:var(--xcell-success)!important;
  font-weight:600!important;
  font-size:14px!important;
  margin:0!important;
}
.xcell-pdp__stock .stock.in-stock::before,
.xcell-pdp__stock .wd-product-stock.in-stock::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--xcell-success);
  flex:none;
}
.xcell-pdp__stock .out-of-stock{ color:var(--xcell-n-500)!important }

/* ---- Same-day cutoff ---- */
.xcell-pdp__cutoff .xcell-pdp-cutoff{
  color:var(--xcell-warning)!important;
  font-size:13px;
  margin:6px 0 0;
}
.xcell-pdp__cutoff .xcell-pdp-cutoff b{
  color:var(--xcell-ink-800);
  font-variant-numeric:tabular-nums;
}

/* ---- Spec chip rows ([xcell_pdp_specs] — design .specrow/.chiprow) ---- */
.xcell-pdp-specs{
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-top:6px;
}
.xcell-pdp-specs__label{
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--xcell-n-500);
  margin-bottom:8px;
}
.xcell-pdp-specs__chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.xcell-pdp-specs__chip{
  border:1px solid var(--xcell-n-200);
  border-radius:var(--xcell-r-pill);
  padding:7px 13px;
  font-size:13px;
  color:var(--xcell-ink-700);
  line-height:1.3;
}
.xcell-pdp-specs__chip.is-on{
  border-color:var(--xcell-red-500);
  background:var(--xcell-red-50);
  color:var(--xcell-red-700);
  font-weight:600;
}

/* ---- Add to cart + qty ---- */
/* The add-to-cart widget prints its own availability line; the comp shows
 * stock once, above the specs ([xcell_pdp_stock] in .xcell-pdp__stock). */
.xcell-pdp__cart .stock{ display:none!important }
.xcell-pdp__cart form.cart,
.xcell-pdp__cart form.variations_form,
.xcell-pdp__cart .variations_form{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:10px!important; /* + container 14px gap = comp 24px */
  width:100%;
}
.xcell-pdp__cart .quantity,
.xcell-pdp__cart .wd-quantity{
  display:inline-flex!important;
  align-items:center;
  border:1px solid var(--xcell-n-300)!important;
  border-radius:var(--xcell-r-pill)!important;
  overflow:hidden;
  background:#fff;
}
.xcell-pdp__cart .quantity .qty,
.xcell-pdp__cart .wd-quantity input[type="number"]{
  min-width:42px;
  text-align:center;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  border:0!important;
  border-radius:0!important;
  padding:10px 8px!important;
  height:46px!important;
  box-shadow:none!important;
  background:transparent!important;
}
.xcell-pdp__cart .quantity .minus,
.xcell-pdp__cart .quantity .plus,
.xcell-pdp__cart .wd-quantity .minus,
.xcell-pdp__cart .wd-quantity .plus{
  width:42px!important;
  height:46px!important;
  border:0!important;
  background:#fff!important;
  font-size:18px!important;
  color:var(--xcell-ink-700)!important;
  cursor:pointer;
  transition:.15s var(--xcell-ease);
  border-radius:0!important;
}
.xcell-pdp__cart .quantity .minus:hover,
.xcell-pdp__cart .quantity .plus:hover,
.xcell-pdp__cart .wd-quantity .minus:hover,
.xcell-pdp__cart .wd-quantity .plus:hover{
  background:var(--xcell-red-50)!important;
  color:var(--xcell-red-600)!important;
}
.xcell-pdp__cart .single_add_to_cart_button,
.xcell-pdp__cart button[type="submit"],
.xcell-pdp__cart .wd-add-btn .button{
  flex:1;
  min-width:170px!important;
  height:48px!important;
  border-radius:var(--xcell-r-pill)!important;
  background:var(--xcell-red-500)!important;
  border-color:var(--xcell-red-500)!important;
  color:#fff!important;
  font-weight:600!important;
  font-size:15px!important;
  text-transform:none!important;
  letter-spacing:0!important;
  transition:.16s var(--xcell-ease);
  padding:0 22px!important;
}
.xcell-pdp__cart .single_add_to_cart_button:hover,
.xcell-pdp__cart button[type="submit"]:hover,
.xcell-pdp__cart .wd-add-btn .button:hover{
  background:var(--xcell-red-600)!important;
  border-color:var(--xcell-red-600)!important;
  transform:translateY(-1px);
}

/* Variations above qty row */
.xcell-pdp__cart .variations_form .variations,
.xcell-pdp__cart .variations_form .wd-swatches-product{
  order:1;
  flex:0 0 100%;
}
.xcell-pdp__cart .variations_form .quantity,
.xcell-pdp__cart .variations_form .single_add_to_cart_button,
.xcell-pdp__cart .variations_form .wd-add-btn,
.xcell-pdp__cart .variations_form .xcell-pdp__wishlist{
  order:2;
}
.xcell-pdp__cart .variations_form .ppcp-messages{
  order:3;
  flex:0 0 100%;
}
.xcell-pdp__cart .variations,
.xcell-pdp__cart .wd-swatches-product,
.xcell-pdp__cart table.variations{
  width:100%!important;
  margin:20px 0 0!important;
  border:0!important;
}
.xcell-pdp__cart .variations tr,
.xcell-pdp__cart table.variations tr{
  display:block;
  margin-bottom:20px;
}
.xcell-pdp__cart .variations td,
.xcell-pdp__cart table.variations td{
  display:block;
  padding:0!important;
  border:0!important;
}
.xcell-pdp__cart .variations .label,
.xcell-pdp__cart .variations label,
.xcell-pdp__cart .wd-attr-label{
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  color:var(--xcell-n-500)!important;
  margin-bottom:8px!important;
}
.xcell-pdp__cart .variations select{
  display:none!important;
}
.xcell-pdp__cart .wd-swatches-wrap,
.xcell-pdp__cart .variable-items-wrapper{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.xcell-pdp__cart .wd-swatch,
.xcell-pdp__cart .variable-item,
.xcell-pdp__cart .wd-swatch .wd-swatch-text{
  border:1px solid var(--xcell-n-200)!important;
  border-radius:var(--xcell-r-pill)!important;
  padding:7px 13px!important;
  font-size:13px!important;
  color:var(--xcell-ink-700)!important;
  background:#fff!important;
  min-height:auto!important;
  transition:.14s var(--xcell-ease);
  box-shadow:none!important;
}
.xcell-pdp__cart .wd-swatch.wd-active,
.xcell-pdp__cart .wd-swatch.wd-swatch-selected,
.xcell-pdp__cart .variable-item.selected,
.xcell-pdp__cart .variable-item.wd-active{
  border-color:var(--xcell-red-500)!important;
  background:var(--xcell-red-50)!important;
  color:var(--xcell-red-700)!important;
  font-weight:600!important;
}

/* ---- Wishlist (WoodMart injects beside cart) ---- */
.xcell-pdp__cart .wd-wishlist-btn,
.xcell-pdp__cart .wd-action-btn.wd-wishlist-btn{
  margin:0!important;
}
.xcell-pdp__cart .wd-wishlist-btn a,
.xcell-pdp__cart .wd-wishlist-btn button,
.xcell-pdp__wishlist a,
.xcell-pdp__wishlist button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:48px!important;
  height:48px!important;
  border:1px solid var(--xcell-n-300)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--xcell-ink-700)!important;
  transition:.15s var(--xcell-ease);
}
.xcell-pdp__cart .wd-wishlist-btn a:hover,
.xcell-pdp__cart .wd-wishlist-btn button:hover,
.xcell-pdp__wishlist a:hover,
.xcell-pdp__wishlist button:hover{
  background:var(--xcell-red-50)!important;
  border-color:var(--xcell-red-500)!important;
  color:var(--xcell-red-600)!important;
}

/* ---- PayPal / payment messaging (de-emphasize) ---- */
.xcell-pdp__cart .ppcp-messages,
.xcell-pdp__cart .woocommerce-paypal-payments-message{
  width:100%;
  font-size:12px!important;
  color:var(--xcell-n-500)!important;
  margin-top:4px!important;
}

/* ---- Trust strip ---- */
.xcell-pdp__extra{
  margin-top:8px!important; /* + container 14px gap = comp 22px */
  padding-top:20px;
  border-top:1px solid var(--xcell-n-100);
  width:100%;
}
.xcell-pdp-trust{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
}
@media(max-width:760px){ .xcell-pdp-trust{ grid-template-columns:1fr } }
.xcell-pdp-trust__item{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.xcell-pdp-trust__icon{
  width:34px;
  height:34px;
  border-radius:9px;
  background:var(--xcell-red-50);
  color:var(--xcell-red-600);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  font-size:15px;
}
.xcell-pdp-trust__copy b{
  display:block;
  color:var(--xcell-ink-800);
  font-size:13px;
}
.xcell-pdp-trust__copy span{
  color:var(--xcell-n-500);
  font-size:11.5px;
}

/* ---- Tabs ---- */
.xcell-pdp__tabs-band{
  border-top:1px solid var(--xcell-n-100);
  padding-top:30px!important;
}
.xcell-pdp__tabs .woocommerce-tabs,
.xcell-pdp__tabs .wd-accordion-tabs{
  padding-top:0!important;
  margin:0!important;
}
.xcell-pdp__tabs .tabs,
.xcell-pdp__tabs .wd-tabs-header,
.xcell-pdp__tabs ul.tabs,
.xcell-pdp__tabs .wc-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  justify-content:flex-start!important;
  border-bottom:1px solid var(--xcell-n-200)!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.xcell-pdp__tabs .tabs li,
.xcell-pdp__tabs .wd-tabs-header li{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.xcell-pdp__tabs .tabs li a,
.xcell-pdp__tabs .wd-nav-link,
.xcell-pdp__tabs ul.tabs li a{
  border:0!important;
  background:transparent!important;
  padding:12px 16px!important;
  font-weight:600!important;
  font-size:14px!important;
  color:var(--xcell-n-500)!important;
  border-bottom:2px solid transparent!important;
  margin-bottom:-1px!important;
  text-transform:none!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}
.xcell-pdp__tabs .tabs li.active a,
.xcell-pdp__tabs .tabs li.active,
.xcell-pdp__tabs .wd-nav-link.wd-active,
.xcell-pdp__tabs ul.tabs li.active a{
  color:var(--xcell-red-600)!important;
  border-bottom-color:var(--xcell-red-500)!important;
  background:transparent!important;
}
.xcell-pdp__tabs .woocommerce-Tabs-panel,
.xcell-pdp__tabs .wd-tab-content{
  padding:22px 0!important;
  max-width:80ch;
  color:var(--xcell-n-600)!important;
  font-size:14.5px;
  line-height:1.55;
}
.xcell-pdp__tabs .woocommerce-Tabs-panel h2,
.xcell-pdp__tabs .woocommerce-Tabs-panel h3{
  color:var(--xcell-ink-800)!important;
  font-size:16px!important;
  margin:0 0 10px!important;
  text-transform:none!important;
}

/* ---- Related products grid ----
 * Scope the forced grid to CLASSIC WooCommerce markup (ul.products) ONLY.
 * On WoodMart the related list is a live carousel DIV (.wd-carousel-container
 * .products); forcing display:grid on it destroys the swiper layout (one
 * 12000px column, ~1700px tall cards — same class of bug as the gallery).
 * WoodMart lays out its own element; we only restyle the heading. */
.xcell-pdp__related-band{ padding-bottom:64px!important }
.xcell-pdp__related ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:18px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
@media(max-width:820px){
  .xcell-pdp__related ul.products{ grid-template-columns:repeat(2,1fr)!important }
}
.xcell-pdp__related > h2,
.xcell-pdp__related .wd-el-title,
.xcell-pdp__related .products > h2,
.xcell-pdp__related .elementor-widget-container > h2,
.xcell-pdp__related .related.products > h2{
  font-size:22px!important;
  font-weight:700!important;
  color:var(--xcell-ink-800)!important;
  margin:0 0 20px!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}
.xcell-pdp__related ul.products li.product{
  width:100%!important;
  margin:0!important;
  float:none!important;
}

/* ---- Focus + motion ---- */
.xcell-pdp a:focus-visible,
.xcell-pdp button:focus-visible,
.xcell-pdp input:focus-visible{
  outline:2px solid var(--xcell-red-700);
  outline-offset:2px;
  border-radius:8px;
}
@media (prefers-reduced-motion: reduce){
  .xcell-pdp__cart .single_add_to_cart_button:hover{ transform:none }
}
