.elyra-bpi-option-block{margin:12px 0 16px}.elyra-bpi-option-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:var(--color-gray-800,#222)}.elyra-bpi-option-head strong{font-size:14px}.elyra-bpi-option-head span{font-size:12px;color:var(--color-gray-500,#777)}.elyra-bpi-option-head em{font-style:normal}.elyra-bpi-option-head b{color:var(--color-gray-900,#111)}.elyra-bpi-color-list,.elyra-bpi-size-list{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.elyra-bpi-color{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:3px;border:1px solid var(--brdcolor-gray-300,#d9d9d9);border-radius:50%;background:#fff;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.elyra-bpi-color>span{display:block;width:100%;height:100%;border-radius:50%;background:var(--elyra-color,#777);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.elyra-bpi-color:hover{transform:translateY(-1px);border-color:var(--color-gray-800,#222)}.elyra-bpi-color.is-selected{border-color:var(--color-gray-900,#111);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-gray-900,#111)}.elyra-bpi-size{position:relative;min-width:46px;height:38px;padding:0 13px;border:1px solid var(--brdcolor-gray-300,#d6d6d6);border-radius:5px;background:var(--bgcolor-white,#fff);color:var(--color-gray-800,#222);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.elyra-bpi-size:hover{border-color:var(--color-gray-800,#222)}.elyra-bpi-size.is-selected{border-color:var(--color-gray-900,#111);background:var(--color-gray-900,#111);color:#fff}.elyra-bpi-color.is-disabled,.elyra-bpi-size.is-disabled{opacity:.4;cursor:not-allowed}.elyra-bpi-color.is-disabled:after,.elyra-bpi-size.is-disabled:after{content:"";position:absolute;left:3px;right:3px;top:50%;height:1px;background:#d71920;transform:rotate(-20deg)}select.elyra-bpi-source-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}.elyra-product-copy h3{margin-top:24px;margin-bottom:10px;font-size:18px}.elyra-product-copy ul{margin:0 0 18px;padding-inline-start:20px}.elyra-product-copy li{margin-bottom:7px}.elyra-product-copy-ar{text-align:right;direction:rtl}.elyra-product-copy-ar ul{padding-right:20px;padding-left:0}@media(max-width:480px){.elyra-bpi-option-head{align-items:flex-start;flex-direction:column;gap:4px}.elyra-bpi-color-list,.elyra-bpi-size-list{gap:8px}.elyra-bpi-color{width:32px;height:32px}.elyra-bpi-size{min-width:43px;padding:0 10px}}

/* v1.1.0 — Woodmart-safe colour rendering and visible product details */
.single-product-page .elyra-bpi-color-list{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.single-product-page button.elyra-bpi-color{display:inline-flex!important;visibility:visible!important;opacity:1!important;width:38px!important;height:38px!important;min-width:38px!important;padding:4px!important;border-radius:50%!important;background:#fff!important}
.single-product-page button.elyra-bpi-color>span{display:block!important;width:100%!important;height:100%!important;border-radius:50%!important;background-color:var(--elyra-color,#777)!important;background-image:none!important}
.single-product-page button.elyra-bpi-color[data-color-code="#F5F5F2"]>span{box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)!important}
.wm-color-swatches.elyra-bpi-loop-colors{display:flex!important;justify-content:center!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;min-height:24px!important;margin:8px 0 10px!important}
.elyra-bpi-loop-color{display:inline-block!important;width:20px!important;height:20px!important;min-width:20px!important;border-radius:50%!important;border:2px solid #fff!important;box-shadow:0 0 0 1px rgba(0,0,0,.22)!important;background-image:none!important}
.elyra-bpi-loop-color[data-color-code="#F5F5F2"]{box-shadow:0 0 0 1px rgba(0,0,0,.32),inset 0 0 0 1px rgba(0,0,0,.12)!important}
.elyra-bpi-long-description{width:100%;max-width:1220px;margin:34px auto 44px;padding:0 15px;box-sizing:border-box}
.elyra-bpi-long-description-inner{display:grid;grid-template-columns:minmax(190px,280px) minmax(0,1fr);gap:42px;padding:42px;border:1px solid var(--brdcolor-gray-300,#e7e7e7);border-radius:16px;background:var(--bgcolor-white,#fff);box-shadow:0 12px 36px rgba(0,0,0,.045)}
.elyra-bpi-long-description-heading span{display:block;margin-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--wd-primary-color,#d91428)}
.elyra-bpi-long-description-heading h2{margin:0;font-size:30px;line-height:1.15;color:var(--color-gray-900,#111)}
.elyra-bpi-long-description-copy{font-size:15px;line-height:1.85;color:var(--color-gray-700,#4a4a4a)}
.elyra-bpi-long-description-copy .elyra-product-copy>p:first-child{margin-top:0}
.elyra-bpi-long-description-copy h3{margin:22px 0 10px;font-size:16px;color:var(--color-gray-900,#111)}
.elyra-bpi-long-description-copy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0 0 18px;padding-inline-start:20px}
.elyra-bpi-long-description[dir="rtl"] .elyra-bpi-long-description-copy{text-align:right}
.elyra-bpi-long-description[dir="rtl"] .elyra-bpi-long-description-copy ul{padding-right:20px;padding-left:0}
@media(max-width:767px){.elyra-bpi-long-description{margin:24px auto 32px}.elyra-bpi-long-description-inner{grid-template-columns:1fr;gap:20px;padding:25px 20px;border-radius:12px}.elyra-bpi-long-description-heading h2{font-size:25px}.elyra-bpi-long-description-copy ul{grid-template-columns:1fr}.single-product-page button.elyra-bpi-color{width:36px!important;height:36px!important;min-width:36px!important}}

/* v1.2.0 — consistent product image frames without cropping source images */
body.elyra-image-fit-fix{
  --elyra-product-image-ratio:3 / 4;
  --elyra-product-image-bg:var(--bgcolor-gray-100,#f7f7f7);
}

/* Product cards: homepage, shop/category archives, related products, upsells and carousels. */
body.elyra-image-fit-fix .wd-product .product-element-top,
body.elyra-image-fit-fix .product-grid-item .product-element-top{
  position:relative!important;
  width:100%!important;
  aspect-ratio:var(--elyra-product-image-ratio)!important;
  min-height:0!important;
  overflow:hidden!important;
  background:var(--elyra-product-image-bg)!important;
}
body.elyra-image-fit-fix .wd-product .product-image-link,
body.elyra-image-fit-fix .product-grid-item .product-image-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  background:transparent!important;
}
body.elyra-image-fit-fix .wd-product .product-image-link>img,
body.elyra-image-fit-fix .wd-product .product-image-link>picture,
body.elyra-image-fit-fix .wd-product .product-image-link>picture>img,
body.elyra-image-fit-fix .wd-product .hover-img img,
body.elyra-image-fit-fix .product-grid-item .product-image-link>img,
body.elyra-image-fit-fix .product-grid-item .product-image-link>picture,
body.elyra-image-fit-fix .product-grid-item .product-image-link>picture>img,
body.elyra-image-fit-fix .product-grid-item .hover-img img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
body.elyra-image-fit-fix .wd-product .product-image-link>picture,
body.elyra-image-fit-fix .product-grid-item .product-image-link>picture{
  align-items:center!important;
  justify-content:center!important;
}
body.elyra-image-fit-fix .wd-product-grid-slider,
body.elyra-image-fit-fix .wd-product-grid-slide{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}
body.elyra-image-fit-fix .wd-product-grid-slide{
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}

/* Single-product and quick-view galleries. The full photo remains visible inside a uniform portrait frame. */
body.elyra-image-fit-fix .single-product-page .woocommerce-product-gallery .wd-gallery-images .wd-carousel-item,
body.elyra-image-fit-fix .quick-view-modal .woocommerce-product-gallery .wd-gallery-images .wd-carousel-item,
body.elyra-image-fit-fix .woocommerce-product-gallery .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image{
  position:relative!important;
  width:100%!important;
  aspect-ratio:var(--elyra-product-image-ratio)!important;
  min-height:0!important;
  overflow:hidden!important;
  background:var(--elyra-product-image-bg)!important;
}
body.elyra-image-fit-fix .single-product-page .woocommerce-product-gallery__image,
body.elyra-image-fit-fix .single-product-page .woocommerce-product-gallery__image>a,
body.elyra-image-fit-fix .quick-view-modal .woocommerce-product-gallery__image,
body.elyra-image-fit-fix .quick-view-modal .woocommerce-product-gallery__image>a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  background:transparent!important;
}
body.elyra-image-fit-fix .single-product-page .woocommerce-product-gallery__image>a>img:not(.zoomImg),
body.elyra-image-fit-fix .single-product-page .woocommerce-product-gallery__image>img:not(.zoomImg),
body.elyra-image-fit-fix .quick-view-modal .woocommerce-product-gallery__image>a>img:not(.zoomImg),
body.elyra-image-fit-fix .quick-view-modal .woocommerce-product-gallery__image>img:not(.zoomImg){
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Gallery thumbnails use the same portrait ratio and never stretch. */
body.elyra-image-fit-fix .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-item,
body.elyra-image-fit-fix .woocommerce-product-gallery .flex-control-thumbs li{
  aspect-ratio:var(--elyra-product-image-ratio)!important;
  overflow:hidden!important;
  background:var(--elyra-product-image-bg)!important;
}
body.elyra-image-fit-fix .woocommerce-product-gallery .wd-gallery-thumb img,
body.elyra-image-fit-fix .woocommerce-product-gallery .flex-control-thumbs img{
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Preserve the layout on small screens while keeping every image uncropped. */
@media(max-width:767px){
  body.elyra-image-fit-fix .wd-product .product-element-top,
  body.elyra-image-fit-fix .product-grid-item .product-element-top,
  body.elyra-image-fit-fix .single-product-page .woocommerce-product-gallery .wd-gallery-images .wd-carousel-item,
  body.elyra-image-fit-fix .quick-view-modal .woocommerce-product-gallery .wd-gallery-images .wd-carousel-item{
    aspect-ratio:var(--elyra-product-image-ratio)!important;
  }
}


/* v1.2.1 — remove duplicate legacy swatches and stabilise sticky product options */
/*
 * The single-product Elementor template still outputs an old image-swatch row,
 * Woodmart outputs its own swatches, and the importer outputs the final colour
 * and size controls. Only the importer controls should remain visible.
 */
body.single-product .single-product-page .elementor-widget-wd_single_product_add_to_cart
  > .elementor-widget-container
  > .wm-color-swatches:not(.elyra-bpi-loop-colors),
body.single-product .single-product-page form.variations_form .wd-swatches-product,
body.single-product .single-product-page form.variations_form .wd-swatches-single,
body.single-product .single-product-page form.variations_form .wd-swatches-in-loop,
body.single-product .single-product-page form.variations_form .wm-size-swatches{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Keep the real WooCommerce selects functional but remove them from layout. */
body.single-product .single-product-page form.variations_form select.elyra-bpi-source-select{
  position:absolute!important;
  inset:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}

/*
 * Elementor keeps the product-information column sticky while the gallery is
 * scrolling. Give that column an opaque surface and its own stacking context,
 * otherwise product-card prices/swatches farther down the page can show through
 * and look as if the current colours are moving over the price.
 */
body.single-product .single-product-page .elyra-bpi-product-summary-sticky,
body.single-product .single-product-page .elementor-sticky:has(form.variations_form){
  position:relative;
  z-index:25!important;
  isolation:isolate;
  background:var(--bgcolor-white,#fff)!important;
  background-clip:padding-box!important;
}

body.single-product .single-product-page .elyra-bpi-product-summary-sticky:before,
body.single-product .single-product-page .elementor-sticky:has(form.variations_form):before{
  content:"";
  position:absolute;
  inset:-12px -12px;
  z-index:-1;
  background:var(--bgcolor-white,#fff);
  pointer-events:none;
}

/* The chosen controls stay in normal flow and cannot float over price/content. */
body.single-product .single-product-page .elyra-bpi-color-options,
body.single-product .single-product-page .elyra-bpi-size-options,
body.single-product .single-product-page .elyra-bpi-color-list,
body.single-product .single-product-page .elyra-bpi-size-list{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  z-index:2!important;
}

@media(max-width:1024px){
  body.single-product .single-product-page .elyra-bpi-product-summary-sticky:before,
  body.single-product .single-product-page .elementor-sticky:has(form.variations_form):before{
    inset:-6px;
  }
}

/* v1.2.2 — server-safe duplicate removal and visible size controls */
/*
 * These selectors are intentionally broad on single-product pages because the
 * legacy swatches are injected from more than one location by the Elementor
 * template and old snippets. Product-card colour dots are explicitly excluded.
 */
body.single-product .elementor-widget-wd_single_product_add_to_cart .wm-color-swatches:not(.elyra-bpi-loop-colors),
body.single-product form.variations_form .wd-swatches-product,
body.single-product form.variations_form .wd-swatches-single,
body.single-product form.variations_form .wd-swatches-in-loop,
body.single-product form.variations_form .wm-size-swatches{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

/* The old size code hides its entire wrapper. Keep only the native select in it
 * and force the plugin's replacement buttons to stay in normal document flow. */
body.single-product form.variations_form .elyra-bpi-option-block,
body.single-product form.variations_form .elyra-bpi-color-options,
body.single-product form.variations_form .elyra-bpi-size-options{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
}
body.single-product form.variations_form .elyra-bpi-color-list,
body.single-product form.variations_form .elyra-bpi-size-list{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
}

body.single-product form.variations_form table.variations,
body.single-product form.variations_form table.variations tbody,
body.single-product form.variations_form table.variations tr,
body.single-product form.variations_form table.variations td.value{
  overflow:visible!important;
}
body.single-product form.variations_form table.variations td.value{
  position:relative!important;
  min-width:0!important;
}

/* Keep the single reset link below the visible size buttons instead of beside
 * the hidden legacy controls. */
body.single-product form.variations_form .wd-reset-var{
  display:block!important;
  position:relative!important;
  clear:both!important;
  margin-top:8px!important;
  width:100%!important;
}


/* v1.2.3 — root fix for Elementor sticky spacer duplicate controls */
/*
 * Elementor Pro creates a full duplicate of the sticky product-summary
 * container and marks that duplicate as .elementor-sticky__spacer. The spacer
 * must keep its dimensions, but none of its cloned content may ever paint.
 * v1.2.2 explicitly set visibility:visible on the custom option blocks, which
 * overrode the spacer's inherited visibility:hidden and exposed the cloned
 * colour row over the price/description while scrolling.
 */
body.single-product .single-product-page .elementor-sticky__spacer,
body.single-product .single-product-page .elementor-sticky__spacer *{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  user-select:none!important;
}

body.single-product .single-product-page .elementor-sticky__spacer{
  z-index:-1!important;
  isolation:auto!important;
  background:transparent!important;
}

body.single-product .single-product-page .elementor-sticky__spacer:before,
body.single-product .single-product-page .elementor-sticky__spacer:after{
  display:none!important;
  content:none!important;
}

/* Apply the opaque sticky surface only to the live sticky container, never to
 * Elementor's invisible layout spacer. */
body.single-product .single-product-page .elyra-bpi-product-summary-sticky:not(.elementor-sticky__spacer),
body.single-product .single-product-page .elementor-sticky:not(.elementor-sticky__spacer):has(form.variations_form){
  z-index:25!important;
  isolation:isolate;
  background:var(--bgcolor-white,#fff)!important;
  background-clip:padding-box!important;
}

body.single-product .single-product-page .elyra-bpi-product-summary-sticky:not(.elementor-sticky__spacer):before,
body.single-product .single-product-page .elementor-sticky:not(.elementor-sticky__spacer):has(form.variations_form):before{
  content:"";
  position:absolute;
  inset:-12px;
  z-index:-1;
  background:var(--bgcolor-white,#fff);
  pointer-events:none;
}


/* v1.2.4 — black product-card Add to Cart accent */
/*
 * Scope this only to Woodmart loop/product-card controls. The main Add to Cart
 * and Buy Now buttons on single-product pages are intentionally untouched.
 * The card keeps its existing white pill/circle surface; only the green icon,
 * label and loading indicator are changed to solid black on desktop and mobile.
 */
body .wd-product .wd-add-btn-replace .add-to-cart-loop,
body .product-grid-item .wd-add-btn-replace .add-to-cart-loop,
body .wd-product .wd-add-btn-replace .add-to-cart-loop:hover,
body .wd-product .wd-add-btn-replace .add-to-cart-loop:focus,
body .product-grid-item .wd-add-btn-replace .add-to-cart-loop:hover,
body .product-grid-item .wd-add-btn-replace .add-to-cart-loop:focus,
body .wd-product .wd-add-btn-replace .add-to-cart-loop span,
body .product-grid-item .wd-add-btn-replace .add-to-cart-loop span,
body .wd-product .wd-add-btn-replace .add-to-cart-loop:before,
body .product-grid-item .wd-add-btn-replace .add-to-cart-loop:before,
body .wd-product .wd-add-btn-replace .add-to-cart-loop:after,
body .product-grid-item .wd-add-btn-replace .add-to-cart-loop:after{
  color:#000!important;
}

/* Woodmart may draw the AJAX loader with a border rather than a text glyph. */
body .wd-product .wd-add-btn-replace .add-to-cart-loop:after,
body .product-grid-item .wd-add-btn-replace .add-to-cart-loop:after{
  border-color:#000!important;
  border-left-color:transparent!important;
}

/* v1.4.0 — image swatches + compact Product Details accordion */
.elyra-bpi-color.has-image,
.elyra-bpi-loop-color.has-image{
  background:#fff!important;
  background-image:var(--elyra-swatch-image)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.elyra-bpi-color.has-image>span{
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  background-image:var(--elyra-swatch-image)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}
.single-product-page button.elyra-bpi-color.has-image>span{
  background-image:var(--elyra-swatch-image)!important;
  background-color:transparent!important;
}
.single-product-page button.elyra-bpi-color{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  padding:3px!important;
  overflow:hidden!important;
}
.single-product-page button.elyra-bpi-color.is-selected{
  box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-gray-900,#111)!important;
}
.wm-color-swatches.elyra-bpi-loop-colors{
  justify-content:flex-start!important;
  gap:8px!important;
  min-height:38px!important;
  margin-top:10px!important;
}
.elyra-bpi-loop-color{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border:2px solid #fff!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.18)!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.elyra-bpi-loop-color:hover,
.elyra-bpi-loop-color:focus{
  transform:translateY(-2px) scale(1.04)!important;
  box-shadow:0 0 0 2px var(--color-gray-900,#111)!important;
  outline:none!important;
}
.elyra-bpi-loop-color.is-solid-fallback,
.elyra-bpi-color.is-solid-fallback{
  background-color:var(--elyra-color,#777)!important;
}
body.elyra-image-fit-fix .wd-product .product-element-top,
body.elyra-image-fit-fix .product-grid-item .product-element-top,
body.single-product .woocommerce-product-gallery{
  position:relative!important;
}
.elyra-bpi-loop-swatch-preview{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:var(--elyra-product-image-bg,var(--bgcolor-gray-100,#f7f7f7))!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .18s ease,visibility .18s ease!important;
  z-index:8!important;
}
.elyra-bpi-loop-swatch-preview.is-visible{
  opacity:1!important;
  visibility:visible!important;
}

/* v1.4.1 — never cover the single-product gallery with one swatch image. */
.elyra-bpi-single-swatch-preview{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.single-product .woocommerce-product-gallery__image{
  scroll-margin-top:110px;
}
body.single-product .woocommerce-product-gallery__image.elyra-bpi-gallery-target{
  position:relative;
  z-index:2;
  outline:2px solid var(--wd-primary-color,#111);
  outline-offset:-2px;
  transition:outline-color .25s ease;
}

/* Replace the oversized details box with a compact accordion. */
.elyra-bpi-long-description{
  width:100%!important;
  max-width:1120px!important;
  margin:18px auto 30px!important;
  padding:0 15px!important;
  box-sizing:border-box!important;
}
.elyra-bpi-details-accordion{
  display:block!important;
  overflow:hidden!important;
  border:1px solid var(--brdcolor-gray-300,#e5e5e5)!important;
  border-radius:14px!important;
  background:var(--bgcolor-white,#fff)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.045)!important;
}
.elyra-bpi-details-summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:72px!important;
  padding:15px 20px!important;
  cursor:pointer!important;
  user-select:none!important;
}
.elyra-bpi-details-summary::-webkit-details-marker{display:none!important}
.elyra-bpi-details-title-wrap{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
}
.elyra-bpi-details-kicker{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:58px!important;
  height:28px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:var(--wd-primary-color,#111)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
  line-height:1!important;
}
.elyra-bpi-details-title{
  color:var(--color-gray-900,#111)!important;
  font-size:21px!important;
  font-weight:650!important;
  line-height:1.2!important;
}
.elyra-bpi-details-toggle{
  position:relative!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border:1px solid var(--brdcolor-gray-300,#ddd)!important;
  border-radius:50%!important;
  background:#fff!important;
}
.elyra-bpi-details-toggle:before,
.elyra-bpi-details-toggle:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:12px!important;
  height:1.5px!important;
  background:var(--color-gray-900,#111)!important;
  transform:translate(-50%,-50%)!important;
  transition:transform .2s ease!important;
}
.elyra-bpi-details-toggle:after{
  transform:translate(-50%,-50%) rotate(90deg)!important;
}
.elyra-bpi-details-accordion[open] .elyra-bpi-details-toggle:after{
  transform:translate(-50%,-50%) rotate(0deg)!important;
}
.elyra-bpi-long-description-copy{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  padding:0 20px 20px!important;
  font-size:14px!important;
  line-height:1.7!important;
  color:var(--color-gray-700,#4a4a4a)!important;
}
.elyra-bpi-long-description-copy>.elyra-product-copy{
  display:contents!important;
}
.elyra-bpi-long-description-copy .elyra-product-copy>p,
.elyra-bpi-long-description-copy>p{
  grid-column:1/-1!important;
  margin:0!important;
  padding:16px 0 2px!important;
  max-width:900px!important;
}
.elyra-bpi-detail-card{
  padding:16px 18px!important;
  border:1px solid var(--brdcolor-gray-200,#ededed)!important;
  border-radius:12px!important;
  background:var(--bgcolor-gray-100,#fafafa)!important;
}
.elyra-bpi-detail-card h3{
  margin:0 0 10px!important;
  color:var(--color-gray-900,#111)!important;
  font-size:15px!important;
  line-height:1.25!important;
}
.elyra-bpi-detail-card ul{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.elyra-bpi-detail-card li{
  position:relative!important;
  margin:0!important;
  padding-inline-start:18px!important;
}
.elyra-bpi-detail-card li:before{
  content:"✓"!important;
  position:absolute!important;
  inset-inline-start:0!important;
  top:0!important;
  color:var(--wd-primary-color,#111)!important;
  font-weight:700!important;
}
.elyra-bpi-long-description[dir="rtl"] .elyra-bpi-details-summary,
.elyra-bpi-long-description[dir="rtl"] .elyra-bpi-long-description-copy{
  direction:rtl!important;
  text-align:right!important;
}
@media(max-width:767px){
  .single-product-page button.elyra-bpi-color{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
  .elyra-bpi-loop-color{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
  }
  .elyra-bpi-long-description{
    margin:14px auto 22px!important;
    padding:0 10px!important;
  }
  .elyra-bpi-details-summary{
    min-height:62px!important;
    padding:12px 14px!important;
  }
  .elyra-bpi-details-title-wrap{gap:10px!important}
  .elyra-bpi-details-title{font-size:18px!important}
  .elyra-bpi-details-kicker{min-width:50px!important;height:25px!important;font-size:9px!important}
  .elyra-bpi-details-toggle{width:30px!important;height:30px!important;min-width:30px!important}
  .elyra-bpi-long-description-copy{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:0 14px 14px!important;
  }
  .elyra-bpi-long-description-copy .elyra-product-copy>p,
  .elyra-bpi-long-description-copy>p{
    padding-top:12px!important;
  }
  .elyra-bpi-detail-card{padding:14px!important}
}

/* v1.4.3 — bilingual Shipping accordion under Product Details. */
.elyra-bpi-long-description{
  display:grid!important;
  gap:10px!important;
}
.elyra-bpi-shipping-copy{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  padding:0 20px 20px!important;
}
.elyra-bpi-shipping-card{
  position:relative!important;
  min-height:96px!important;
  padding:17px 18px 16px 54px!important;
  border:1px solid var(--brdcolor-gray-200,#ededed)!important;
  border-radius:12px!important;
  background:var(--bgcolor-gray-100,#fafafa)!important;
  box-sizing:border-box!important;
}
.elyra-bpi-shipping-card:before{
  content:""!important;
  position:absolute!important;
  left:17px!important;
  top:19px!important;
  width:24px!important;
  height:18px!important;
  border:2px solid var(--wd-primary-color,#111)!important;
  border-radius:3px!important;
  box-sizing:border-box!important;
}
.elyra-bpi-shipping-card:after{
  content:""!important;
  position:absolute!important;
  left:21px!important;
  top:14px!important;
  width:16px!important;
  height:8px!important;
  border:2px solid var(--wd-primary-color,#111)!important;
  border-bottom:0!important;
  border-radius:4px 4px 0 0!important;
  box-sizing:border-box!important;
}
.elyra-bpi-shipping-card h3{
  margin:0 0 7px!important;
  color:var(--color-gray-900,#111)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:650!important;
}
.elyra-bpi-shipping-card p{
  margin:0!important;
  padding:0!important;
  color:var(--color-gray-700,#4a4a4a)!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.elyra-bpi-long-description[dir="rtl"] .elyra-bpi-shipping-copy{
  direction:rtl!important;
  text-align:right!important;
}
.elyra-bpi-long-description[dir="rtl"] .elyra-bpi-shipping-card{
  padding:17px 54px 16px 18px!important;
}
.elyra-bpi-long-description[dir="rtl"] .elyra-bpi-shipping-card:before{
  left:auto!important;
  right:17px!important;
}
.elyra-bpi-long-description[dir="rtl"] .elyra-bpi-shipping-card:after{
  left:auto!important;
  right:21px!important;
}
@media(max-width:767px){
  .elyra-bpi-shipping-copy{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:0 14px 14px!important;
  }
  .elyra-bpi-shipping-card{
    min-height:88px!important;
    padding:15px 14px 14px 50px!important;
  }
  .elyra-bpi-long-description[dir="rtl"] .elyra-bpi-shipping-card{
    padding:15px 50px 14px 14px!important;
  }
  .elyra-bpi-shipping-card:before{left:15px!important;top:18px!important}
  .elyra-bpi-shipping-card:after{left:19px!important;top:13px!important}
  .elyra-bpi-long-description[dir="rtl"] .elyra-bpi-shipping-card:before{left:auto!important;right:15px!important}
  .elyra-bpi-long-description[dir="rtl"] .elyra-bpi-shipping-card:after{left:auto!important;right:19px!important}
}

/* v1.5.3 — selected colour model code from the source product sheet. */
.single-product-page .elyra-bpi-model-code{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:10px!important;
  padding:7px 11px!important;
  border:1px solid var(--brdcolor-gray-200,#e7e7e7)!important;
  border-radius:8px!important;
  background:var(--bgcolor-gray-100,#fafafa)!important;
  color:var(--color-gray-600,#666)!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
}
.single-product-page .elyra-bpi-model-code[hidden]{
  display:none!important;
}
.single-product-page .elyra-bpi-model-code-label{
  font-weight:500!important;
}
.single-product-page .elyra-bpi-model-code-value{
  color:var(--color-gray-900,#111)!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}
@media(max-width:767px){
  .single-product-page .elyra-bpi-model-code{
    margin-top:8px!important;
    padding:6px 9px!important;
    font-size:11px!important;
  }
}

/* v1.5.5 — resilient image swatches after Woodmart AJAX filtering */
.elyra-bpi-loop-color.has-image,
.elyra-bpi-color.has-image,
.elyra-bpi-color.has-image > span{
  overflow:hidden!important;
  position:relative!important;
}
.elyra-bpi-swatch-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  transform:none!important;
  z-index:2!important;
}
.elyra-bpi-loop-color.has-image::before,
.elyra-bpi-color.has-image::before{
  content:none!important;
}
