/* Yawnder global sale badge style — keeps sale badges consistent sitewide */
.woocommerce span.onsale,
.woocommerce ul.products li.product span.onsale,
.woocommerce-page span.onsale,
.wc-block-grid__product-onsale,
.wc-block-components-product-sale-badge,
.wp-block-woocommerce-product-template .wc-block-components-product-sale-badge {
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  width: 68px !important;
  min-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  padding: 0 8px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.05 !important;
  color: #fff !important;
  background: linear-gradient(145deg,#0B2D52,#123E6C) !important;
  border: 2px solid #D1AE52 !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 16px rgba(11,45,82,.22),0 0 0 3px rgba(255,255,255,.88) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  z-index: 20 !important;
  box-sizing: border-box !important;
}

/* Product cards: one visual system across Shop and WooCommerce archives. */
.post-type-archive-product.woocommerce ul.products > li.product:not(.product-category),
.tax-product_cat.woocommerce ul.products > li.product:not(.product-category),
.tax-product_tag.woocommerce ul.products > li.product:not(.product-category) {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 16px !important;
  background: #fff !important;
  border: 1px solid #dfe7ee !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 18px rgba(12,42,63,.055) !important;
  overflow: visible !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.post-type-archive-product.woocommerce ul.products > li.product:not(.product-category):hover,
.tax-product_cat.woocommerce ul.products > li.product:not(.product-category):hover,
.tax-product_tag.woocommerce ul.products > li.product:not(.product-category):hover {
  transform: translateY(-2px);
  border-color: #cbd8e2 !important;
  box-shadow: 0 12px 28px rgba(12,42,63,.10) !important;
}

/* Normalize wildly different manufacturer photography without cropping products. */
.post-type-archive-product.woocommerce ul.products > li.product:not(.product-category) img,
.tax-product_cat.woocommerce ul.products > li.product:not(.product-category) img,
.tax-product_tag.woocommerce ul.products > li.product:not(.product-category) img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  background: #f7f9fb !important;
  border-radius: 12px !important;
  margin: 0 0 14px !important;
}

/* Titles line up even when product names vary in length. */
.post-type-archive-product.woocommerce .woocommerce-loop-product__title,
.tax-product_cat.woocommerce .woocommerce-loop-product__title,
.tax-product_tag.woocommerce .woocommerce-loop-product__title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 3.1em !important;
  margin: 0 0 8px !important;
  line-height: 1.45 !important;
  font-size: 18px !important;
}

/* Keep rating, price and CTA rhythm consistent from card to card. */
.post-type-archive-product.woocommerce ul.products > li.product .star-rating,
.tax-product_cat.woocommerce ul.products > li.product .star-rating,
.tax-product_tag.woocommerce ul.products > li.product .star-rating {
  margin: 2px 0 8px !important;
}
.post-type-archive-product.woocommerce ul.products > li.product .price,
.tax-product_cat.woocommerce ul.products > li.product .price,
.tax-product_tag.woocommerce ul.products > li.product .price {
  display: block !important;
  min-height: 2.5em !important;
  margin: 4px 0 12px !important;
  color: #0c2a3f !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
.post-type-archive-product.woocommerce ul.products > li.product .button,
.post-type-archive-product.woocommerce ul.products > li.product .added_to_cart,
.tax-product_cat.woocommerce ul.products > li.product .button,
.tax-product_cat.woocommerce ul.products > li.product .added_to_cart,
.tax-product_tag.woocommerce ul.products > li.product .button,
.tax-product_tag.woocommerce ul.products > li.product .added_to_cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: auto 0 0 !important;
  padding: 10px 14px !important;
  border-radius: 9px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* Category tiles should feel related to the product cards without pretending to be products. */
.post-type-archive-product.woocommerce ul.products > li.product-category img,
.tax-product_cat.woocommerce ul.products > li.product-category img {
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  background: #f7f9fb !important;
  border-radius: 12px !important;
}
.post-type-archive-product.woocommerce .woocommerce-loop-category__title,
.tax-product_cat.woocommerce .woocommerce-loop-category__title {
  line-height: 1.25 !important;
}

/* Massage-chair custom archive: same visual language as the WooCommerce cards. */
body.term-massage-chairs [data-yw-grid] {
  align-items: stretch !important;
}
body.term-massage-chairs [data-yw-grid] .card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #fff !important;
  border: 1px solid #dfe7ee !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 18px rgba(12,42,63,.055) !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
body.term-massage-chairs [data-yw-grid] .card:hover {
  transform: translateY(-2px);
  border-color: #cbd8e2 !important;
  box-shadow: 0 12px 28px rgba(12,42,63,.10) !important;
}
body.term-massage-chairs [data-yw-grid] .thumb {
  display: block !important;
  padding: 14px !important;
  background: #f7f9fb !important;
}
body.term-massage-chairs [data-yw-grid] .thumb img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f7f9fb !important;
  border-radius: 10px !important;
}
body.term-massage-chairs [data-yw-grid] .body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 16px !important;
}
body.term-massage-chairs [data-yw-grid] .body h3 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 3.1em !important;
  margin: 6px 0 8px !important;
  line-height: 1.45 !important;
  font-size: 18px !important;
}
body.term-massage-chairs [data-yw-grid] .price-row {
  min-height: 2.5em !important;
  margin: 2px 0 12px !important;
}
body.term-massage-chairs [data-yw-grid] .cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin-top: auto !important;
  border-radius: 9px !important;
}

/* Let the badge sit cleanly outside/over product imagery without clipping. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wc-block-grid__product,
.wp-block-woocommerce-product-template .wc-block-product {
  overflow: visible !important;
}

@media (max-width: 767px) {
  .woocommerce span.onsale,
  .woocommerce ul.products li.product span.onsale,
  .woocommerce-page span.onsale,
  .wc-block-grid__product-onsale,
  .wc-block-components-product-sale-badge,
  .wp-block-woocommerce-product-template .wc-block-components-product-sale-badge {
    top: 8px !important;
    right: 8px !important;
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 6px !important;
    font-size: 13px !important;
  }

  .post-type-archive-product.woocommerce ul.products > li.product:not(.product-category),
  .tax-product_cat.woocommerce ul.products > li.product:not(.product-category),
  .tax-product_tag.woocommerce ul.products > li.product:not(.product-category) {
    padding: 10px !important;
    border-radius: 13px !important;
  }
  .post-type-archive-product.woocommerce ul.products > li.product:not(.product-category) img,
  .tax-product_cat.woocommerce ul.products > li.product:not(.product-category) img,
  .tax-product_tag.woocommerce ul.products > li.product:not(.product-category) img {
    padding: 8px !important;
    margin-bottom: 10px !important;
    border-radius: 9px !important;
  }
  .post-type-archive-product.woocommerce .woocommerce-loop-product__title,
  .tax-product_cat.woocommerce .woocommerce-loop-product__title,
  .tax-product_tag.woocommerce .woocommerce-loop-product__title,
  body.term-massage-chairs [data-yw-grid] .body h3 {
    min-height: 3em !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
  body.term-massage-chairs [data-yw-grid] .thumb {
    padding: 8px !important;
  }
  body.term-massage-chairs [data-yw-grid] .body {
    padding: 12px !important;
  }
}

/* YW-ARCHIVE-CARDS-V2 — cleaner shopping hierarchy across WooCommerce archives */
:root{--yw-shop-ink:#10233f;--yw-shop-muted:#59697a;--yw-shop-line:#d9e1ea;--yw-shop-soft:#f6f8fb;--yw-shop-blue:#004aad;}

/* Category/brand archives already have the filter's category shortcuts.
   Remove the duplicate image-tile row so shoppers reach products faster.
   Keep the tiles on the main Shop page for discovery. */
body.tax-product_cat .elementor-element-5c6ec5e{display:none!important;}

/* Archive heading and intro spacing */
body.post-type-archive-product .elementor-element-00e8f2e>.e-con-inner,
body.tax-product_cat .elementor-element-00e8f2e>.e-con-inner,
body.tax-product_tag .elementor-element-00e8f2e>.e-con-inner{gap:14px!important;}
body.post-type-archive-product .elementor-element-a1c4e9f2 h1,
body.tax-product_cat .elementor-element-a1c4e9f2 h1,
body.tax-product_tag .elementor-element-a1c4e9f2 h1{font-size:clamp(34px,4vw,48px)!important;line-height:1.08!important;letter-spacing:-.03em!important;color:var(--yw-shop-ink)!important;margin-bottom:4px!important;}

/* Flat, compact filter panel */
body.post-type-archive-product .yw-product-filter,
body.tax-product_cat .yw-product-filter,
body.tax-product_tag .yw-product-filter{
  margin:4px 0 24px!important;
  padding:18px!important;
  border:1px solid var(--yw-shop-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.yw-product-filter .yw-filter-kicker{color:var(--yw-shop-blue)!important;}
.yw-product-filter .yw-filter-head h2{color:var(--yw-shop-ink)!important;}
.yw-product-filter .yw-filter-head p{color:var(--yw-shop-muted)!important;}
.yw-product-filter .yw-filter-form select{
  border-color:#cfd9e3!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.yw-product-filter .yw-filter-actions button{
  background:var(--yw-shop-blue)!important;
  box-shadow:none!important;
  border-radius:8px!important;
}
.yw-product-filter .yw-filter-actions button:hover{background:#003b88!important;}
.yw-product-filter .yw-filter-compare{
  border-color:#b9c8da!important;
  border-radius:8px!important;
  box-shadow:none!important;
  color:var(--yw-shop-blue)!important;
}
.yw-product-filter .yw-filter-categories{border-color:#e5eaf0!important;}
.yw-product-filter .yw-filter-categories a{
  min-height:30px!important;
  padding:0 10px!important;
  border-color:#d7e0e8!important;
  border-radius:999px!important;
  color:#29445b!important;
}

/* The custom filter already contains sorting; remove Woo's duplicate sort menu. */
body.post-type-archive-product.woocommerce .elementor-element-59b3f48 .woocommerce-ordering,
body.tax-product_cat.woocommerce .elementor-element-59b3f48 .woocommerce-ordering,
body.tax-product_tag.woocommerce .elementor-element-59b3f48 .woocommerce-ordering{display:none!important;}

/* Results count becomes a quiet toolbar instead of default Woo text floating above the grid. */
body.post-type-archive-product.woocommerce .elementor-element-59b3f48 .woocommerce-result-count,
body.tax-product_cat.woocommerce .elementor-element-59b3f48 .woocommerce-result-count,
body.tax-product_tag.woocommerce .elementor-element-59b3f48 .woocommerce-result-count{
  float:none!important;
  display:block!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
  color:var(--yw-shop-muted)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:600!important;
}

/* Product grid spacing */
body.post-type-archive-product.woocommerce .elementor-element-59b3f48 ul.products.elementor-grid,
body.tax-product_cat.woocommerce .elementor-element-59b3f48 ul.products.elementor-grid,
body.tax-product_tag.woocommerce .elementor-element-59b3f48 ul.products.elementor-grid{
  column-gap:18px!important;
  row-gap:20px!important;
}

/* Refined cards: less chrome, stronger information hierarchy. */
.post-type-archive-product.woocommerce ul.products>li.product:not(.product-category),
.tax-product_cat.woocommerce ul.products>li.product:not(.product-category),
.tax-product_tag.woocommerce ul.products>li.product:not(.product-category){
  padding:14px!important;
  border:1px solid var(--yw-shop-line)!important;
  border-radius:14px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.post-type-archive-product.woocommerce ul.products>li.product:not(.product-category):hover,
.tax-product_cat.woocommerce ul.products>li.product:not(.product-category):hover,
.tax-product_tag.woocommerce ul.products>li.product:not(.product-category):hover{
  transform:translateY(-1px)!important;
  border-color:#bccbda!important;
  box-shadow:0 8px 22px rgba(16,35,63,.07)!important;
}
.post-type-archive-product.woocommerce ul.products>li.product:not(.product-category) img,
.tax-product_cat.woocommerce ul.products>li.product:not(.product-category) img,
.tax-product_tag.woocommerce ul.products>li.product:not(.product-category) img{
  padding:12px!important;
  margin-bottom:12px!important;
  background:var(--yw-shop-soft)!important;
  border-radius:10px!important;
}
.post-type-archive-product.woocommerce .woocommerce-loop-product__title,
.tax-product_cat.woocommerce .woocommerce-loop-product__title,
.tax-product_tag.woocommerce .woocommerce-loop-product__title{
  min-height:2.8em!important;
  margin:0 0 7px!important;
  font-size:17px!important;
  line-height:1.4!important;
  font-weight:750!important;
  color:var(--yw-shop-ink)!important;
}
.post-type-archive-product.woocommerce ul.products>li.product .price,
.tax-product_cat.woocommerce ul.products>li.product .price,
.tax-product_tag.woocommerce ul.products>li.product .price{
  min-height:2.2em!important;
  margin:2px 0 11px!important;
  color:var(--yw-shop-ink)!important;
  font-size:15px!important;
}
.post-type-archive-product.woocommerce ul.products>li.product .button,
.post-type-archive-product.woocommerce ul.products>li.product .added_to_cart,
.tax-product_cat.woocommerce ul.products>li.product .button,
.tax-product_cat.woocommerce ul.products>li.product .added_to_cart,
.tax-product_tag.woocommerce ul.products>li.product .button,
.tax-product_tag.woocommerce ul.products>li.product .added_to_cart{
  min-height:44px!important;
  padding:10px 12px!important;
  border:1px solid var(--yw-shop-blue)!important;
  border-radius:8px!important;
  background:var(--yw-shop-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:750!important;
  text-decoration:none!important;
}
.post-type-archive-product.woocommerce ul.products>li.product .button:hover,
.tax-product_cat.woocommerce ul.products>li.product .button:hover,
.tax-product_tag.woocommerce ul.products>li.product .button:hover{background:#003b88!important;border-color:#003b88!important;color:#fff!important;}

/* Main shop category tiles: cleaner discovery tiles without oversized chrome. */
body.woocommerce-shop #productcategory1 li.product-category{
  background:#fff!important;
  border:1px solid var(--yw-shop-line)!important;
  border-radius:12px!important;
  padding:8px!important;
  box-shadow:none!important;
}
body.woocommerce-shop #productcategory1 li.product-category img{
  margin:0 0 7px!important;
  padding:7px!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  background:var(--yw-shop-soft)!important;
  border-radius:9px!important;
}
body.woocommerce-shop #productcategory1 .woocommerce-loop-category__title{
  margin:0!important;
  color:var(--yw-shop-ink)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
body.woocommerce-shop #productcategory1 mark.count{
  display:block!important;
  margin-top:2px!important;
  background:transparent!important;
  color:#7a8793!important;
  font-size:11px!important;
  font-weight:600!important;
}

/* Strong, consistent focus state */
.yw-product-filter a:focus-visible,
.yw-product-filter button:focus-visible,
.yw-product-filter select:focus-visible,
.woocommerce ul.products li.product a:focus-visible{
  outline:3px solid rgba(0,74,173,.28)!important;
  outline-offset:3px!important;
}

/* Mobile shopping density: retain two product columns but keep cards readable. */
@media(max-width:767px){
  body.post-type-archive-product .elementor-element-a1c4e9f2 h1,
  body.tax-product_cat .elementor-element-a1c4e9f2 h1,
  body.tax-product_tag .elementor-element-a1c4e9f2 h1{font-size:32px!important;}
  body.post-type-archive-product .yw-product-filter,
  body.tax-product_cat .yw-product-filter,
  body.tax-product_tag .yw-product-filter{padding:13px!important;margin-bottom:18px!important;}
  body.post-type-archive-product.woocommerce .elementor-element-59b3f48 ul.products.elementor-grid,
  body.tax-product_cat.woocommerce .elementor-element-59b3f48 ul.products.elementor-grid,
  body.tax-product_tag.woocommerce .elementor-element-59b3f48 ul.products.elementor-grid{column-gap:10px!important;row-gap:12px!important;}
  .post-type-archive-product.woocommerce ul.products>li.product:not(.product-category),
  .tax-product_cat.woocommerce ul.products>li.product:not(.product-category),
  .tax-product_tag.woocommerce ul.products>li.product:not(.product-category){padding:9px!important;border-radius:11px!important;}
  .post-type-archive-product.woocommerce .woocommerce-loop-product__title,
  .tax-product_cat.woocommerce .woocommerce-loop-product__title,
  .tax-product_tag.woocommerce .woocommerce-loop-product__title{font-size:15px!important;min-height:2.8em!important;line-height:1.4!important;}
  .post-type-archive-product.woocommerce ul.products>li.product .button,
  .tax-product_cat.woocommerce ul.products>li.product .button,
  .tax-product_tag.woocommerce ul.products>li.product .button{min-height:42px!important;padding:8px!important;font-size:13px!important;}
  .woocommerce span.onsale,
  .woocommerce ul.products li.product span.onsale,
  .woocommerce-page span.onsale{width:52px!important;min-width:52px!important;height:52px!important;min-height:52px!important;font-size:12px!important;}
}


/* YW-PRODUCT-PAGES-V1 — unified product-detail shopping experience */
body.single-product{--ywp-ink:#10233f;--ywp-muted:#566779;--ywp-line:#d9e1ea;--ywp-soft:#f6f8fb;--ywp-blue:#004aad;--ywp-green:#176b4d;}

/* Product-page spacing and title */
body.single-product .elementor-74349 .elementor-element-72e516f{padding-top:4px!important;padding-bottom:12px!important;}
body.single-product .elementor-74349 .product_title{
  color:var(--ywp-ink)!important;
  font-size:clamp(32px,4vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
  margin:0!important;
}
body.single-product .elementor-74349 .woocommerce-breadcrumb{
  color:#718093!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body.single-product .elementor-74349 .woocommerce-breadcrumb a{color:#526a80!important;text-decoration:none!important;}
body.single-product .elementor-74349 .woocommerce-breadcrumb a:hover{color:var(--ywp-blue)!important;}

/* Main gallery: consistent visual frame without cropping manufacturer imagery */
body.single-product .elementor-element-1f81233 .eael-single-product-images{
  border:1px solid var(--ywp-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
body.single-product .elementor-element-1f81233 .product_image_slider__container{
  background:var(--ywp-soft)!important;
}
body.single-product .elementor-element-1f81233 .image_slider__image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  aspect-ratio:1/1!important;
  background:var(--ywp-soft)!important;
}
body.single-product .elementor-element-1f81233 .image_slider__image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:18px!important;
  box-sizing:border-box!important;
}
body.single-product .elementor-element-1f81233 .product_image_slider__thumbs{
  padding:10px 12px 12px!important;
  border-top:1px solid #e6ebf0!important;
  background:#fff!important;
}
body.single-product .elementor-element-1f81233 .product_image_slider__thumbs__image{
  border:1px solid #e0e7ee!important;
  border-radius:9px!important;
  overflow:hidden!important;
  background:var(--ywp-soft)!important;
}
body.single-product .elementor-element-1f81233 .product_image_slider__thumbs__image img{
  width:100%!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  padding:5px!important;
  box-sizing:border-box!important;
}
body.single-product .elementor-element-1f81233 .product_image_slider__trigger a{
  width:38px!important;height:38px!important;border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 2px 8px rgba(16,35,63,.12)!important;
}

/* Purchase panel */
body.single-product .elementor-element-41353e4{
  align-self:flex-start!important;
  padding:22px!important;
  border:1px solid var(--ywp-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(16,35,63,.055)!important;
}
@media(min-width:1024px){
  body.single-product .elementor-element-41353e4{position:sticky!important;top:96px!important;}
}
body.single-product .woocommerce-product-details__short-description{
  color:var(--ywp-muted)!important;
  font-size:15px!important;
  line-height:1.62!important;
}
body.single-product .woocommerce-product-details__short-description p{margin:0 0 12px!important;}
body.single-product .woocommerce-product-details__short-description ul{
  margin:0 0 14px!important;
  padding-left:20px!important;
}
body.single-product .woocommerce-product-details__short-description li{margin:5px 0!important;}
body.single-product .woocommerce-product-details__short-description .yawnder-affiliate-note{
  margin:14px 0 4px!important;
  padding:11px 12px!important;
  border:1px solid #dce4ec!important;
  border-left:3px solid var(--ywp-blue)!important;
  border-radius:9px!important;
  background:#f8fbff!important;
  color:#4b5f73!important;
  font-size:13px!important;
  line-height:1.5!important;
}

/* Price hierarchy; external products often intentionally have no local price */
body.single-product .elementor-widget-woocommerce-product-price{margin:2px 0 10px!important;}
body.single-product .elementor-widget-woocommerce-product-price:has(.price:empty){display:none!important;}
body.single-product .elementor-widget-woocommerce-product-price .price{
  color:var(--ywp-ink)!important;
  font-size:clamp(24px,3vw,32px)!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  margin:0!important;
}
body.single-product .price del{color:#8a98a7!important;font-size:.72em!important;font-weight:600!important;}
body.single-product .price ins{text-decoration:none!important;color:var(--ywp-ink)!important;}

/* Mattress trial badge becomes a quiet policy control rather than a promo block */
body.single-product .yawnder-sleep-trial-wrapper{margin:2px 0 14px!important;}
body.single-product .yawnder-sleep-trial-wrapper .yw-trigger{
  width:100%!important;
  min-height:42px!important;
  justify-content:flex-start!important;
  padding:9px 12px!important;
  border:1px solid #c9d5e2!important;
  border-radius:9px!important;
  background:#f8fbff!important;
  box-shadow:none!important;
}
body.single-product .yawnder-sleep-trial-wrapper .yw-trigger:hover{background:#f1f6fc!important;border-color:#aebfd1!important;}
body.single-product .yawnder-sleep-trial-wrapper .yw-txt{
  color:#29445d!important;
  font-size:12px!important;
  font-weight:750!important;
  letter-spacing:.04em!important;
}
body.single-product .yawnder-sleep-trial-wrapper .yw-dot{
  width:8px!important;height:8px!important;margin-right:9px!important;background:var(--ywp-green)!important;
}

/* Variation controls */
body.single-product form.cart .variations{
  width:100%!important;
  margin:4px 0 12px!important;
  border:0!important;
}
body.single-product form.cart .variations tr{display:block!important;margin:0 0 10px!important;}
body.single-product form.cart .variations th.label,
body.single-product form.cart .variations td.value{
  display:block!important;
  width:100%!important;
  padding:0!important;
  text-align:left!important;
}
body.single-product form.cart .variations th.label{
  margin-bottom:5px!important;
  color:#32495f!important;
  font-size:13px!important;
  font-weight:750!important;
}
body.single-product form.cart .variations select{
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 42px 0 13px!important;
  border:1px solid #cbd6e1!important;
  border-radius:9px!important;
  background-color:#fff!important;
  color:var(--ywp-ink)!important;
  font-size:15px!important;
  box-shadow:none!important;
}
body.single-product form.cart .variations select:focus{
  border-color:var(--ywp-blue)!important;
  box-shadow:0 0 0 3px rgba(0,74,173,.11)!important;
  outline:none!important;
}
body.single-product form.cart .reset_variations{
  display:inline-block!important;
  margin:5px 0 0!important;
  color:#6c7c8c!important;
  font-size:12px!important;
  text-decoration:none!important;
}

/* Quantity + primary CTA */
body.single-product .woocommerce-variation-add-to-cart,
body.single-product form.cart:not(.variations_form){
  display:flex!important;
  align-items:stretch!important;
  gap:9px!important;
  flex-wrap:wrap!important;
}
body.single-product form.cart .quantity{
  flex:0 0 72px!important;
  margin:0!important;
}
body.single-product form.cart .quantity .qty{
  width:72px!important;
  height:50px!important;
  min-height:50px!important;
  padding:0 8px!important;
  border:1px solid #cbd6e1!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--ywp-ink)!important;
  text-align:center!important;
  box-shadow:none!important;
}
body.single-product .single_add_to_cart_button{
  flex:1 1 210px!important;
  min-height:50px!important;
  padding:0 18px!important;
  border:1px solid var(--ywp-blue)!important;
  border-radius:9px!important;
  background:var(--ywp-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
body.single-product .single_add_to_cart_button:hover{
  background:#003b88!important;
  border-color:#003b88!important;
  color:#fff!important;
}
/* External-brand checkout is brand-direct; don't show zero-dollar pay-later residue */
body.single-product .elementor-product-external .fkwcs_paylater_messaging{display:none!important;}

/* Financing and HSA/FSA area */
body.single-product .yw-finwrap{
  width:100%!important;
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid #e6ebf0!important;
}
body.single-product .yw-fin{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 8px!important;
  padding:10px 11px!important;
  border:1px solid #dce4ec!important;
  border-radius:9px!important;
  background:#f8fafc!important;
}
body.single-product .yw-fin__copy{
  margin:0!important;
  color:#4e6072!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body.single-product .yw-fin__link{color:var(--ywp-blue)!important;font-weight:700!important;}
body.single-product .yw-flexbadge{
  display:flex!important;
  width:100%!important;
  min-height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 10px!important;
  border:1px solid #dce4ec!important;
  border-radius:9px!important;
  background:#fff!important;
  overflow:hidden!important;
}

/* Final-sale language on adjustable bases */
body.single-product.product_cat-adjustable .woocommerce-product-details__short-description p:has(strong:first-child){
  padding:10px 12px!important;
  border:1px solid #eadfcb!important;
  border-left:3px solid #b7791f!important;
  border-radius:9px!important;
  background:#fffaf1!important;
  color:#654d28!important;
  font-size:13px!important;
}

/* Content below the fold */
body.single-product .woocommerce-tabs,
body.single-product .elementor-widget-woocommerce-product-content{
  max-width:1000px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.single-product .woocommerce-tabs ul.tabs{
  border-bottom:1px solid var(--ywp-line)!important;
}
body.single-product .woocommerce-tabs ul.tabs li{
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
}
body.single-product .woocommerce-tabs ul.tabs li.active{
  border-bottom:2px solid var(--ywp-blue)!important;
}

/* Focus states */
body.single-product form.cart select:focus-visible,
body.single-product form.cart input:focus-visible,
body.single-product .single_add_to_cart_button:focus-visible,
body.single-product .yawnder-sleep-trial-wrapper .yw-trigger:focus-visible{
  outline:3px solid rgba(0,74,173,.24)!important;
  outline-offset:2px!important;
}

/* Mobile: reduce chrome and keep purchase controls thumb-friendly */
@media(max-width:767px){
  body.single-product .elementor-74349 .product_title{font-size:31px!important;}
  body.single-product .elementor-element-41353e4{
    position:static!important;
    padding:15px!important;
    border-radius:13px!important;
    box-shadow:none!important;
  }
  body.single-product .elementor-element-1f81233 .eael-single-product-images{border-radius:13px!important;}
  body.single-product .elementor-element-1f81233 .image_slider__image img{padding:10px!important;}
  body.single-product .elementor-element-1f81233 .product_image_slider__thumbs{padding:8px!important;}
  body.single-product .woocommerce-product-details__short-description{font-size:14px!important;}
  body.single-product .elementor-widget-woocommerce-product-price .price{font-size:25px!important;}
  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product form.cart:not(.variations_form){gap:8px!important;}
  body.single-product form.cart .quantity{flex:0 0 62px!important;}
  body.single-product form.cart .quantity .qty{width:62px!important;height:48px!important;min-height:48px!important;}
  body.single-product .single_add_to_cart_button{min-height:48px!important;font-size:15px!important;}
}


/* YW-BLACK-DIAMOND-CLS-V1 — stabilize the Black Diamond variable product on mobile */
body.postid-357218 .yawnder-sleep-trial-wrapper{display:none!important}

/* Hold the main gallery's square footprint before EAEL/Swiper initializes. */
body.postid-357218 .product_image_slider__container{
  aspect-ratio:1/1!important;
  min-height:0!important;
}
body.postid-357218 .product_image_slider__container>.swiper,
body.postid-357218 .product_image_slider__container>.swiper-container{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}

/* The default selected variation injects sale-price/availability markup after Woo JS runs.
   Reserve that row so the purchase controls below it do not jump. */
body.postid-357218 .single_variation{
  display:block!important;
  min-height:58px!important;
}
body.postid-357218 .woocommerce-variation-price{
  min-height:32px!important;
}

/* On small screens the main gallery is swipeable; the thumbnail carousel is redundant
   and is the largest extra initialization step on this product. */
@media(max-width:767px){
  body.postid-357218 .product_image_slider__thumbs{display:none!important}
  body.postid-357218 .elementor-element-1f81233 .eael-single-product-images{overflow:hidden!important}
}


/* YW-PRODUCT-GALLERY-CLS-V2 — reserve EAEL/Swiper geometry before JS initializes */
body.single-product .product_image_slider__container{
  aspect-ratio:1/1!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.single-product .product_image_slider__container>.swiper,
body.single-product .product_image_slider__container>.swiper-container{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
body.single-product .product_image_slider__container .swiper-wrapper,
body.single-product .product_image_slider__container .swiper-slide,
body.single-product .product_image_slider__container .image_slider__image{
  height:100%!important;
  min-height:100%!important;
}
body.single-product .product_image_slider__container .image_slider__image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Preserve the 2023 Affirm logo's intrinsic ~2.50:1 aspect ratio. */
body.single-product .yw-fin__logo{
  width:45px!important;
  height:18px!important;
  min-width:45px!important;
  min-height:18px!important;
  object-fit:contain!important;
}

@media(max-width:767px){
  /* The thumbnail Swiper initializes after the main gallery; reserve its row. */
  body.single-product .product_image_slider__thumbs{
    min-height:70px!important;
    box-sizing:border-box!important;
  }
  body.postid-357218 .product_image_slider__thumbs{
    min-height:0!important;
  }
}


/* YW-PRODUCT-GALLERY-PREINIT-V3 — keep multi-slide galleries stable before Swiper JS */
body.single-product .product_image_slider__container .swiper:not(.swiper-initialized) .swiper-wrapper,
body.single-product .product_image_slider__container .swiper-container:not(.swiper-initialized) .swiper-wrapper{
  display:flex!important;
  flex-direction:row!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
}
body.single-product .product_image_slider__container .swiper:not(.swiper-initialized) .swiper-slide,
body.single-product .product_image_slider__container .swiper-container:not(.swiper-initialized) .swiper-slide{
  flex:0 0 100%!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
body.single-product .product_image_slider__container .swiper:not(.swiper-initialized) .swiper-slide:not(:first-child),
body.single-product .product_image_slider__container .swiper-container:not(.swiper-initialized) .swiper-slide:not(:first-child){
  display:none!important;
}


/* YW-HEADER-FIRST-PAINT-V1 — prevent desktop nav flash on mobile before utility CSS loads */
.yawnder-desktop-nav{
  display:none!important;
}
@media(min-width:1024px){
  .yawnder-desktop-nav{
    display:flex!important;
  }
}
