/* ==============================
   Woo Cart: Products left, Totals right
   ============================== */
@media (min-width: 992px){

  /* Make the cart page a 2-column flex layout */
  .woocommerce-cart .woocommerce{
    display: flex;
    align-items: flex-start;
    gap: 32px;
  }

  /* Left column: cart form (products list) */
  .woocommerce-cart .woocommerce > .woocommerce-cart-form{
    flex: 1 1 auto;
    min-width: 0; /* prevents overflow pushing totals down */
  }

  /* Right column: totals + proceed to checkout */
  .woocommerce-cart .woocommerce > .cart-collaterals{
    flex: 0 0 380px;          /* adjust width if you want */
    max-width: 380px;
    width: 380px;
    margin: 0 !important;
  }

  /* Ensure totals box doesn’t expand full width */
  .woocommerce-cart .cart-collaterals .cart_totals{
    width: 100% !important;
    float: none !important;
    clear: none !important;
  }

  /* Optional: keep totals visible while scrolling */
  .woocommerce-cart .cart-collaterals{
    position: sticky;
    top: 110px;               /* adjust to your header height */
  }
}

/* Mobile/tablet: stack as default */
@media (max-width: 991px){
  .woocommerce-cart .woocommerce{
    display: block;
  }
  .woocommerce-cart .cart-collaterals{
    position: static;
    max-width: 100%;
    width: 100%;
  }
} 
/* ==============================
   Woo Cart: Products left, Totals right
   ============================== */

/* === Media Queries ====  */
@media (max-width:1199px){
	.product_tab_layers .jet-tabs__control-wrapper .jet-tabs__control{
		margin-bottom:-30px;
	}
}
@media (max-width:1024px){
	.pewc-radio-images-wrapper.pewc-columns-4 .pewc-radio-image-wrapper{
		width:48%;
	}
	.pewc-radio-image-wrapper label img, .pewc-checkbox-image-wrapper label img{
		width:100%;
	}
}


	.product_tab_layers .jet-tabs__control-wrapper > .jet-tabs__control .jet-tabs__label-text{
		width:20px;
		height:20px;
		font-size:12px;
	}
}

.ts-product-brand-wrapper .meta-wrapper h3, .ts-tiny-cart-wrapper .total, .widget_shopping_cart .total, .elementor-widget-wp-widget-woocommerce_widget_cart .total {
    font-size:var(--nooni-h6-font-size)
}

a {
    color: rgba(2, 29, 174, 1);

}


.woocommerce div.product .summary > .ts-variation-price, .woocommerce div.product .summary p.price, .woocommerce div.product .summary span.price {
    font-size: 20px;
    line-height: 1;
}


/* =====================================================
   LUXE – FINAL COLOR ROW (SHOW TOP SWATCHES ONLY)
   Keeps SIZE row untouched
===================================================== */

/* Target ONLY color row */
.woocommerce div.product form.cart .variations tr:has(#pa_color) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

/* Label */
.woocommerce div.product form.cart .variations tr:has(#pa_color) th.label {
    width: 100% !important;
    margin-bottom: 2px !important;
    padding-bottom: 0 !important;
}

/* Value cell */
.woocommerce div.product form.cart .variations tr:has(#pa_color) td.value {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ❌ Kill lower plugin swatches */
.woocommerce div.product form.cart .variations tr:has(#pa_color) 
.wcsvfs-swatches {
    display: none !important;
}

/* ✅ Force top swatches visible */
.woocommerce div.product form.cart .variations tr:has(#pa_color) 
.variation-selector,
.woocommerce div.product form.cart .variations tr:has(#pa_color) 
.ts-product-attribute {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin-top: 4px !important;
    padding: 0 !important;
}

/* Swatch spacing */
.woocommerce div.product form.cart .variations tr:has(#pa_color) 
.ts-product-attribute .option {
    margin: 0 !important;
}

/* Reduce gap before next section */
.woocommerce div.product form.cart .variations tr:has(#pa_color) + tr {
    margin-top: 6px !important;
}
/* =====================================================
   LUXE – TIGHTEN SIZE ROW (Size selector + Size guide)
===================================================== */

/* Reduce padding inside SIZE row */
.woocommerce div.product form.cart .variations tr:has(#pa_size) th.label,
.woocommerce div.product form.cart .variations tr:has(#pa_size) td.value {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Pull Size Guide closer to selector */
.woocommerce div.product form.cart .variations tr:has(#pa_size) 
.ts-product-size-chart-button {
    margin-top: 4px !important;
    margin-bottom: 2px !important;
    display: inline-block;
}

/* Remove hidden theme spacing under size row */
.woocommerce div.product form.cart .variations tr:has(#pa_size) {
    margin-bottom: 6px !important;
}
/* =================================================
   LUXE — FINAL SIZE ROW CLEANUP
   - Hide "SIZE : Double 135 x 190 cm"
   - Keep Size Guide visible
   - Force Size Guide to the RIGHT
================================================= */

/* ❌ Hide only the "SIZE : …" text (not the whole row) */
.woocommerce div.product form.cart .variations tr:has(#pa_size) th.label {
    display: none !important;
}

/* ✅ Keep Size Guide visible and push it right */
.woocommerce div.product form.cart .variations tr:has(#pa_size) td.value {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding-top: 4px !important;
}

/* ✅ Size Guide styling – never center */
.woocommerce div.product form.cart .variations tr:has(#pa_size) 
.ts-product-size-chart-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-left: auto !important;
}

/* ❌ Ensure size buttons never come back */
.woocommerce div.product form.cart .variations tr:has(#pa_size)
.ts-product-attribute,
.woocommerce div.product form.cart .variations tr:has(#pa_size)
.variation-selector,
.woocommerce div.product form.cart .variations tr:has(#pa_size)
.wcsvfs-swatches,
.woocommerce div.product form.cart .variations tr:has(#pa_size)
select {
    display: none !important;
}
/* =========================================
   FIX: Header covering PhotoSwipe lightbox
   ========================================= */

/* Force PhotoSwipe above header */
.pswp {
    z-index: 999999 !important;
}

/* Ensure header stays below lightbox */
header,
.site-header,
.elementor-location-header,
#masthead {
    z-index: 1000;
}

/* Optional: prevent header interaction while gallery open */
.pswp--open ~ header {
    pointer-events: none;
}
/* Checkout button spacing */
.woocommerce-cart .wc-proceed-to-checkout{
    margin-bottom: 28px;
}

/* Space above PayPal button */
.woocommerce-cart .ppc-button-wrapper{
    margin-top: 10px;
}

/* Space above Klarna message */
.woocommerce-cart #payment-method-message{
    margin-bottom: 10px;
}
/* Fix TOC list item layout */
.elementor-toc__list-item,
.ez-toc-list li {
    display: flex !important;
    align-items: flex-start;
}

/* Keep number and text inline */
.elementor-toc__list-item-text,
.ez-toc-link {
    display: inline !important;
}

/* Remove unwanted spacing */
.elementor-toc__list-item::marker,
.ez-toc-list li::marker {
    display: none;
}
.jet-listing-dynamic-field__content ul li p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

.jet-listing-dynamic-field__content ul li {
  margin-bottom: 12px;
}

.jet-listing-dynamic-field__content ul {
  padding-left: 20px !important;
  margin: 0 !important;
}

/* =========================================================
   LUXE — PREMIUM REFINEMENTS (added)
   - Fix product card title contrast & premium styling
   - Demote oversized "Our memory foam mattresses…" heading
   - Heading hierarchy / sizing consistency
   - Footer text contrast fix
   ========================================================= */

/* ---------- 1. PREMIUM PRODUCT CARDS (WooCommerce / Elementor loop) ---------- */
.elementor-loop-container .e-loop-item,
.elementor-loop-container li.product,
.elementor-loop-container .product.type-product {
  background: #ffffff !important;
  border: 1px solid rgba(15, 37, 51, 0.08) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 18px rgba(15, 37, 51, 0.06) !important;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease !important;
}
.elementor-loop-container .e-loop-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 42px rgba(15, 37, 51, 0.14) !important;
  border-color: rgba(15, 37, 51, 0.18) !important;
}

/* Product title — fix the "blended into background" issue */
.elementor-loop-container .e-loop-item h1.elementor-heading-title,
.elementor-loop-container .e-loop-item h2.elementor-heading-title,
.elementor-loop-container .e-loop-item h3.elementor-heading-title,
.elementor-loop-container .e-loop-item h4.elementor-heading-title,
.elementor-loop-container .e-loop-item .woocommerce-loop-product__title,
.elementor-loop-container .e-loop-item a .elementor-heading-title {
  color: #0F2533 !important;
  background: #ffffff !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  padding: 14px 18px 6px !important;
  margin: 0 !important;
  display: block !important;
  text-shadow: none !important;
}
.elementor-loop-container .e-loop-item a:hover .elementor-heading-title,
.elementor-loop-container .e-loop-item .elementor-heading-title:hover {
  color: #1F4A6B !important;
}

/* Soften the firmness/height pills inside cards */
.elementor-loop-container .e-loop-item .elementor-widget-heading + .elementor-widget-heading,
.elementor-loop-container .e-loop-item [class*="firmness"],
.elementor-loop-container .e-loop-item [class*="Firmness"] {
  border-radius: 10px !important;
}

/* Price emphasis */
.elementor-loop-container .e-loop-item .price,
.elementor-loop-container .e-loop-item .woocommerce-Price-amount {
  font-weight: 700 !important;
  color: #0F2533 !important;
  letter-spacing: -0.01em !important;
}
.elementor-loop-container .e-loop-item del .woocommerce-Price-amount {
  color: #8AA0AE !important;
  font-weight: 500 !important;
}

/* "Save £xx" / sale badge polish */
.elementor-loop-container .e-loop-item .onsale,
.elementor-loop-container .e-loop-item .badge,
.elementor-loop-container .e-loop-item [class*="sale"] {
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  padding: 6px 12px !important;
}

/* Product image container — subtle premium framing */
.elementor-loop-container .e-loop-item .attachment-woocommerce_thumbnail,
.elementor-loop-container .e-loop-item img {
  transition: transform .6s ease !important;
}
.elementor-loop-container .e-loop-item:hover img {
  transform: scale(1.03) !important;
}

/* Buttons inside cards */
.elementor-loop-container .e-loop-item .button,
.elementor-loop-container .e-loop-item a.elementor-button {
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  transition: all .25s ease !important;
}
.elementor-loop-container .e-loop-item .button:hover,
.elementor-loop-container .e-loop-item a.elementor-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15,37,51,.18);
}

/* ---------- 2. DEMOTE OVERSIZED DESCRIPTIVE PARAGRAPH ----------
   The widget elementor-element-41df00ba renders the long
   "Our memory foam mattresses are expertly engineered…" copy
   as a 22px bold heading. Make it look like body copy. */
.elementor-element-41df00ba .elementor-heading-title,
.elementor-element-41df00ba span.elementor-heading-title {
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  color: #3C5567 !important;
  letter-spacing: 0 !important;
  display: block !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  text-align: left !important;
}
@media (max-width: 768px){
  .elementor-element-41df00ba .elementor-heading-title {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
}

/* ---------- 3. HEADING HIERARCHY & SIZE CONSISTENCY ----------
   The category page currently has 11 H1s. We can't change the
   tag from CSS, but we can normalise visual hierarchy so only
   the page's primary H1 reads as H1 and the rest read as H2/H3. */

/* Primary page H1 — the category title */
.elementor-element-2484554f h1.elementor-heading-title {
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #0F2533 !important;
}

/* Demote the remaining "stray" H1s to H2-equivalent visual size */
.elementor-element-154fd95a h1.elementor-heading-title,
.elementor-element-1d880883 h1.elementor-heading-title,
.elementor-element-32823f4c h1.elementor-heading-title,
.elementor-element-36360ab7 h1.elementor-heading-title,
.elementor-element-123bda25 h1.elementor-heading-title,
.elementor-element-36d08556 h1.elementor-heading-title,
.elementor-element-69c6e761 h1.elementor-heading-title,
.elementor-element-2b6ff4a5 h1.elementor-heading-title,
.elementor-element-58d04a84 h1.elementor-heading-title {
  font-size: clamp(26px, 2.6vw, 36px) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: #0F2533 !important;
}

/* Demote GREENGUARD badge H1 to small caption */
.elementor-element-5b85f2eb h1.elementor-heading-title {
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

/* Consistent body paragraph styling across the page */
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #3C5567 !important;
}

/* ---------- 4. FOOTER TEXT CONTRAST ----------
   Footer body has light-blue/near-white links on a white background.
   Restore proper contrast. */
.elementor-location-footer {
  background: #0F2533 !important;
  color: #E6EEF3 !important;
}
.elementor-location-footer h1,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer h5,
.elementor-location-footer h6,
.elementor-location-footer .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-location-footer p,
.elementor-location-footer li,
.elementor-location-footer span,
.elementor-location-footer .elementor-widget-container {
  color: #C8D6DF !important;
}
.elementor-location-footer a,
.elementor-location-footer a .elementor-icon-list-text,
.elementor-location-footer .elementor-icon-list-item a {
  color: #E6EEF3 !important;
  transition: color .2s ease !important;
}
.elementor-location-footer a:hover,
.elementor-location-footer a:focus {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}
.elementor-location-footer hr,
.elementor-location-footer .elementor-divider-separator {
  border-color: rgba(255,255,255,.12) !important;
}
.elementor-location-footer .elementor-icon-list-icon i,
.elementor-location-footer .elementor-icon-list-icon svg {
  color: #E6EEF3 !important;
  fill: #E6EEF3 !important;
}


/* =========================================================
   LUXE — PDP REFINEMENTS (added)
   - PDP product title -30%
   - Wiser review snippet arrows kept inside the card
   - Add-to-cart hover -> brand teal
   ========================================================= */

/* ---- 1. PDP PRODUCT TITLE: reduce by ~30% (was 44px -> ~30px) ---- */
.single-product .product_title,
.single-product h1.product_title,
.single-product h2.product_title,
.elementor-widget-woocommerce-product-title .product_title,
.elementor-widget-woocommerce-product-title h1,
.elementor-widget-woocommerce-product-title h2 {
  font-size: clamp(22px, 2.2vw, 31px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  font-weight: 700 !important;
}
@media (max-width: 768px){
  .single-product .product_title,
  .elementor-widget-woocommerce-product-title h1,
  .elementor-widget-woocommerce-product-title h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }
}

/* ---- 2. WISER REVIEW SNIPPET: keep slider arrows inside the frame ---- */
.wiser_review.wsr_carousel_product,
.wiser_review .Wdgt-pdp-slider01,
.wiser_review .Wdgt-pdp-slider02,
.wiser_review .WdGt-pdp-Count01,
.wiser_review .WsNudge-slIDer-conTaInEr {
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding-right: 8px !important;
  padding-bottom: 8px !important;
}

/* Pull both prev/next arrows inside the visible frame */
.wiser_review .WsNudge-slider-nav,
.wiser_review .Wdgt-slider-left-btn,
.wiser_review .Wdgt-slider-right-btn,
[class*="Wdgt-slider-left-btn"],
[class*="Wdgt-slider-right-btn"] {
  width: 22px !important;
  height: 22px !important;
  right: 8px !important;
  z-index: 5 !important;
}
[class*="Wdgt-slider-left-btn"] {
  right: auto !important;
  left: 8px !important;
}
.wiser_review .WsNudge-arw-icon-left,
.wiser_review .WsNudge-arw-icon-right {
  width: 22px !important;
  height: 22px !important;
  font-size: 14px !important;
  line-height: 22px !important;
  text-align: center !important;
}

/* If the arrows are absolutely positioned past the right edge,
   constrain them visually by clipping to the snippet container. */
.wiser_review {
  overflow: hidden !important;
  border-radius: 12px !important;
}

/* ---- 3. ADD TO CART HOVER -> BRAND TEAL #1AC0C3 ---- */
.single-product button.single_add_to_cart_button,
.single-product .single_add_to_cart_button {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .15s ease, box-shadow .25s ease !important;
}
.single-product button.single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:focus,
.single-product .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:focus,
button.single_add_to_cart_button:hover,
.cart .button.alt:hover,
.elementor-button-wrapper .single_add_to_cart_button:hover {
  background-color: #1AC0C3 !important;
  border-color: #1AC0C3 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 22px rgba(26, 192, 195, 0.28) !important;
  transform: translateY(-1px);
}


/* PDP TITLE OVERRIDE - higher specificity */
html body .single-product h2.product_title.elementor-heading-title,
html body .single-product h1.product_title.elementor-heading-title,
html body .elementor-widget-woocommerce-product-title h2.elementor-heading-title.product_title,
html body .elementor-widget-woocommerce-product-title h1.elementor-heading-title.product_title,
html body .woocommerce div.product h2.product_title,
html body .woocommerce div.product h1.product_title {
  font-size: clamp(22px, 2.2vw, 31px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  font-weight: 700 !important;
}
@media (max-width: 768px){
  html body .single-product h2.product_title.elementor-heading-title,
  html body .single-product h1.product_title.elementor-heading-title,
  html body .elementor-widget-woocommerce-product-title h2.elementor-heading-title.product_title,
  html body .elementor-widget-woocommerce-product-title h1.elementor-heading-title.product_title {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }
}


/* WISER ARROWS — pull inside the visible review card */
.wiser_review .WsNudge-pdp-innerWrap,
.wiser_review .WsNudge-pro-wraPPer {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
.wiser_review .WsNudge-slIdE-PrEv,
.wiser_review [class*="Wdgt-slider-left-btn"] {
  left: 6px !important;
  right: auto !important;
}
.wiser_review .WsNudge-slIdE-NeXT,
.wiser_review [class*="Wdgt-slider-right-btn"] {
  right: 6px !important;
  left: auto !important;
}
/* Move the slider nav into the visible inner card */
.wiser_review .Wdgt-pdp-slider01,
.wiser_review .Wdgt-pdp-slider02,
.wiser_review .WdGt-pdp-Count01,
.wiser_review .WsNudge-slIDer-conTaInEr {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ADD TO CART HOVER — higher-specificity teal override */
html body .single-product .elementor-element button.single_add_to_cart_button:hover,
html body .single-product .elementor-element .single_add_to_cart_button:hover,
html body .woocommerce div.product form.cart button.single_add_to_cart_button:hover,
html body .woocommerce div.product .cart button:hover,
html body .elementor .cart button.single_add_to_cart_button:hover,
html body .elementor-element .cart .button.alt:hover {
  background-color: #1AC0C3 !important;
  background: #1AC0C3 !important;
  border-color: #1AC0C3 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 22px rgba(26, 192, 195, 0.28) !important;
}


/* HIDE WISER CAROUSEL SNIPPET ON PDP (under Fast Delivery) */
.single-product .wiser_review.wsr_carousel_product,
.elementor-add-to-cart .wiser_review.wsr_carousel_product,
.elementor-widget-woocommerce-product-add-to-cart .wiser_review {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}



/* =====================================================
   CATEGORY / SHOP ARCHIVE PAGES — TYPOGRAPHY + PRODUCT CARDS
   (Casper-inspired clean modern look)
   ===================================================== */

/* --- Typography for category intro / hero --- */
body.archive.tax-product_cat .elementor-heading-title { letter-spacing: -0.01em; }
body.archive.tax-product_cat h1.elementor-heading-title {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
body.archive.tax-product_cat h2.elementor-heading-title {
  font-size: clamp(1.5rem, 2.8vw, 2.25rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
body.archive.tax-product_cat .elementor-widget-text-editor p,
body.archive.tax-product_cat .elementor-widget-text-editor {
  font-size: 1rem !important;
  line-height: 1.65 !important;
  text-align: left !important;
}

/* --- Product grid spacing --- */
body.archive.tax-product_cat .elementor-loop-container.elementor-grid {
  gap: 28px !important;
}

/* --- Product card: clean modern card --- */
body.archive.tax-product_cat .e-loop-item.product {
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 2px rgba(11,40,54,.04), 0 8px 24px rgba(11,40,54,.06) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
  border: 1px solid rgba(11,40,54,.06) !important;
  position: relative !important;
}
body.archive.tax-product_cat .e-loop-item.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 4px 12px rgba(11,40,54,.08), 0 20px 44px rgba(11,40,54,.12) !important;
}

body.archive.tax-product_cat .e-loop-item.product > .e-con,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-24ef47d {
  background: #ffffff !important;
  padding: 0 !important;
}
body.archive.tax-product_cat .e-loop-item.product .e-con-inner {
  padding: 0 !important;
  gap: 0 !important;
}

/* Image area */
body.archive.tax-product_cat .e-loop-item.product .elementor-element-b3d787e,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-b3d787e .elementor-widget-container {
  background: #f5f7f8 !important;
  margin: 0 !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-b3d787e img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .35s ease !important;
}
body.archive.tax-product_cat .e-loop-item.product:hover .elementor-element-b3d787e img {
  transform: scale(1.03) !important;
}

/* Discount badge */
body.archive.tax-product_cat .e-loop-item.product .elementor-element-c655bb3 {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5 !important;
  width: auto !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-c655bb3 .elementor-heading-title {
  background: #ff5a5f !important;
  color: #ffffff !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Hide spacer between image and content */
body.archive.tax-product_cat .e-loop-item.product .elementor-widget-spacer {
  display: none !important;
}

/* Content section (reviews / title / pills / price) */
body.archive.tax-product_cat .e-loop-item.product .elementor-element-e713059 {
  background: #ffffff !important;
  padding: 18px 20px 16px !important;
  gap: 12px !important;
  border-radius: 0 !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-e713059::before,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-e713059::after {
  display: none !important;
  background: transparent !important;
}

/* Reviews row */
body.archive.tax-product_cat .e-loop-item.product .Wsrspfapp-review-count,
body.archive.tax-product_cat .e-loop-item.product .Wsrspfapp-review-count * {
  color: #4a5862 !important;
  font-size: 13px !important;
}

/* Title */
body.archive.tax-product_cat .e-loop-item.product .elementor-element-06354d5 .elementor-heading-title {
  background: transparent !important;
  color: #0b2836 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  padding: 0 !important;
  border: none !important;
  text-align: left !important;
  white-space: normal !important;
  min-height: 48px !important;
}

/* Info pills (firmness, height) */
body.archive.tax-product_cat .e-loop-item.product .elementor-element-c442ec9,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-23ae4ac {
  background: #f2f7f8 !important;
  border: 1px solid rgba(11,40,54,.08) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  margin: 0 !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-c442ec9 .elementor-widget-container,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-23ae4ac .elementor-widget-container {
  background: transparent !important;
  padding: 0 !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-c442ec9 .elementor-heading-title,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-23ae4ac .elementor-heading-title {
  color: #2a4a5a !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* Divider */
body.archive.tax-product_cat .e-loop-item.product .elementor-widget-divider .elementor-divider-separator {
  border-top-color: rgba(11,40,54,.08) !important;
  margin: 4px 0 !important;
}

/* Price section */
body.archive.tax-product_cat .e-loop-item.product .elementor-element-7be134c,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-7be134c * {
  color: #0b2836 !important;
  text-align: left !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-7be134c {
  padding: 0 !important;
}

/* Hide shape divider that created dark blob between price and features */
body.archive.tax-product_cat .e-loop-item.product .elementor-shape,
body.archive.tax-product_cat .e-loop-item.product .elementor-shape-top,
body.archive.tax-product_cat .e-loop-item.product .elementor-shape-bottom {
  display: none !important;
}

/* Features bottom area: light bg, dark text */
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 {
  background: #f8fafa !important;
  padding: 16px 20px !important;
  gap: 8px !important;
  border-top: 1px solid rgba(11,40,54,.06) !important;
  position: relative !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5::before,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5::after {
  background: transparent !important;
  background-color: transparent !important;
  display: none !important;
  content: none !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 .elementor-heading-title,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 .jet-listing-dynamic-field,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 .jet-listing-dynamic-field *,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 span,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 .elementor-widget-container > div {
  color: #2a4a5a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  background: transparent !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 .jet-listing-dynamic-field__icon svg,
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 .jet-listing-dynamic-field__icon path {
  fill: #0b2836 !important;
  color: #0b2836 !important;
}
body.archive.tax-product_cat .e-loop-item.product .elementor-element-a0795a5 .jet-listing-dynamic-field__icon {
  background: transparent !important;
}

/* Pagination */
body.archive.tax-product_cat .page-numbers,
body.archive.tax-product_cat nav.woocommerce-pagination a,
body.archive.tax-product_cat nav.woocommerce-pagination span {
  font-size: 15px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
}

/* Comparison table */
body.archive.tax-product_cat table {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
body.archive.tax-product_cat table th,
body.archive.tax-product_cat table td {
  padding: 12px 14px !important;
}

/* Mobile tweaks */
@media (max-width: 767px){
  body.archive.tax-product_cat .e-loop-item.product .elementor-element-b3d787e img { height: 220px !important; }
  body.archive.tax-product_cat .e-loop-item.product .elementor-element-06354d5 .elementor-heading-title { font-size: 17px !important; min-height: 0 !important; }
  body.archive.tax-product_cat .elementor-loop-container.elementor-grid { gap: 18px !important; }
}



/* =====================================================
   CATEGORY PAGE — ROUND 2
   Price hierarchy + Pagination pills + Feature heading sizes
   ===================================================== */

/* --- PRICE TYPOGRAPHY --- */
body.archive.tax-product_cat .e-loop-item.product .luxe-card-price { line-height: 1.2 !important; }

body.archive.tax-product_cat .e-loop-item.product .luxe-card-price .label {
  font-size: 13px !important;
  color: #4a5862 !important;
  font-weight: 500 !important;
}

body.archive.tax-product_cat .e-loop-item.product .luxe-card-price .line {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 4px !important;
}

/* Main / sale price - ~50% larger and bold */
body.archive.tax-product_cat .e-loop-item.product .luxe-card-price .sale {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #0b2836 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
}

/* Strikethrough / regular price (only when on sale) -- smaller than sale */
body.archive.tax-product_cat .e-loop-item.product .luxe-card-price .reg {
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #8a96a0 !important;
  text-decoration: line-through !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
}

/* "Save £X" badge */
body.archive.tax-product_cat .e-loop-item.product .luxe-card-price .save {
  background: #FFE066 !important;
  color: #0b2836 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  align-self: center !important;
}

/* --- PAGINATION PILL STYLE --- */
body.archive.tax-product_cat nav.elementor-pagination,
body.archive.tax-product_cat nav.woocommerce-pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 32px 0 !important;
  flex-wrap: wrap !important;
}
body.archive.tax-product_cat nav.elementor-pagination .page-numbers,
body.archive.tax-product_cat nav.woocommerce-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  background: #f2f7f8 !important;
  border: 1px solid rgba(11,40,54,.08) !important;
  color: #0b2836 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background .2s ease, transform .2s ease, border-color .2s ease !important;
}
body.archive.tax-product_cat nav.elementor-pagination a.page-numbers:hover,
body.archive.tax-product_cat nav.woocommerce-pagination a.page-numbers:hover {
  background: #e6eef0 !important;
  border-color: rgba(11,40,54,.18) !important;
  transform: translateY(-1px) !important;
}
body.archive.tax-product_cat nav.elementor-pagination .page-numbers.current,
body.archive.tax-product_cat nav.woocommerce-pagination .page-numbers.current {
  background: #0b2836 !important;
  border-color: #0b2836 !important;
  color: #ffffff !important;
}
body.archive.tax-product_cat nav.elementor-pagination .elementor-screen-only,
body.archive.tax-product_cat nav.woocommerce-pagination .elementor-screen-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* --- FEATURE SECTIONS WITH OVERSIZED H1 (e.g. Memory Foam: Safe/Clean/Eco-Friendly Manufacturing) --- */
/* Scoped to 3-column feature sections so the page hero is unaffected */
body.archive.tax-product_cat .elementor-col-33 h1.elementor-heading-title,
body.archive.tax-product_cat .elementor-col-25 h1.elementor-heading-title,
body.archive.tax-product_cat .elementor-inner-column h1.elementor-heading-title {
  font-size: clamp(1.25rem, 1.8vw, 1.6rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
}
/* Specifically target the memory-foam feature section as a safety net */
body.archive.tax-product_cat .elementor-element-5a818f40 h1.elementor-heading-title,
body.archive.tax-product_cat .elementor-element-5a818f40 h2.elementor-heading-title {
  font-size: clamp(1.25rem, 1.6vw, 1.5rem) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}


/* === Category Pages: Universal Heading & Body Text Normalization (v3) === */
/* Default: shrink ALL decorative H1s on category pages */
body.archive.tax-product_cat h1.elementor-heading-title {
  font-size: 26px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
/* Hero override: keep the very first H1 in the main content (page intro) at hero size */
body.archive.tax-product_cat .elementor > .elementor-section:first-of-type h1.elementor-heading-title,
body.archive.tax-product_cat .elementor > section.elementor-section:nth-of-type(1) h1.elementor-heading-title,
body.archive.tax-product_cat .elementor-edit-area-active > .elementor-section:first-of-type h1.elementor-heading-title {
  font-size: 40px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}
@media (max-width: 768px) {
  body.archive.tax-product_cat h1.elementor-heading-title { font-size: 22px !important; }
  body.archive.tax-product_cat .elementor > .elementor-section:first-of-type h1.elementor-heading-title { font-size: 30px !important; }
}
/* H2 section sub-headings */
body.archive.tax-product_cat h2.elementor-heading-title {
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
}
/* H3 */
body.archive.tax-product_cat h3.elementor-heading-title {
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
/* Body paragraphs in text-editor widgets */
body.archive.tax-product_cat .elementor-widget-text-editor p,
body.archive.tax-product_cat .elementor-widget-theme-post-content p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #4a5568 !important;
  margin-bottom: 0.85em !important;
}
body.archive.tax-product_cat .elementor-widget-text-editor strong,
body.archive.tax-product_cat .elementor-widget-text-editor b {
  color: #1a202c !important;
  font-weight: 600 !important;
}
/* Lists inside text-editor widgets */
body.archive.tax-product_cat .elementor-widget-text-editor li {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #4a5568 !important;
}


/* ============================================================
   UNIFIED DARK GREEN #1f3a2e
   Applies to: Natural Mattress + Firm Latex Mattress pages
   Targets: header, footer, .section-dark (A Quieter Footprint),
            buttons, icons - matches the consultation card colour
   ============================================================ */

/* HEADER */
body.term-firm-latex-mattress .elementor-location-header,
body.term-natural-mattress .elementor-location-header,
body.term-firm-latex-mattress .elementor-location-header > .elementor,
body.term-natural-mattress .elementor-location-header > .elementor,
body.term-firm-latex-mattress .elementor-location-header .elementor-section,
body.term-natural-mattress .elementor-location-header .elementor-section,
body.term-firm-latex-mattress .elementor-location-header .elementor-top-section,
body.term-natural-mattress .elementor-location-header .elementor-top-section,
body.term-firm-latex-mattress .elementor-location-header .elementor-element,
body.term-natural-mattress .elementor-location-header .elementor-element,
body.term-firm-latex-mattress .elementor-location-header .e-con,
body.term-natural-mattress .elementor-location-header .e-con,
body.term-firm-latex-mattress .elementor-location-header .e-flex,
body.term-natural-mattress .elementor-location-header .e-flex,
body.term-firm-latex-mattress .elementor-location-header .e-con-boxed,
body.term-natural-mattress .elementor-location-header .e-con-boxed,
body.term-firm-latex-mattress .elementor-location-header .e-con-inner,
body.term-natural-mattress .elementor-location-header .e-con-inner,
body.term-firm-latex-mattress .elementor-location-header .e-parent,
body.term-natural-mattress .elementor-location-header .e-parent,
body.term-firm-latex-mattress #lmStickyHeader,
body.term-natural-mattress #lmStickyHeader,
body.term-firm-latex-mattress .lm-header,
body.term-natural-mattress .lm-header,
body.term-firm-latex-mattress header.lm-header,
body.term-natural-mattress header.lm-header {
  background-color: #1f3a2e !important;
  background: #1f3a2e !important;
  background-image: none !important;
}

/* FOOTER */
body.term-firm-latex-mattress .elementor-location-footer,
body.term-natural-mattress .elementor-location-footer,
body.term-firm-latex-mattress .elementor-location-footer > .elementor,
body.term-natural-mattress .elementor-location-footer > .elementor,
body.term-firm-latex-mattress .elementor-location-footer .elementor-section,
body.term-natural-mattress .elementor-location-footer .elementor-section,
body.term-firm-latex-mattress .elementor-location-footer .elementor-top-section,
body.term-natural-mattress .elementor-location-footer .elementor-top-section,
body.term-firm-latex-mattress .elementor-location-footer .elementor-element,
body.term-natural-mattress .elementor-location-footer .elementor-element,
body.term-firm-latex-mattress .elementor-location-footer .e-con,
body.term-natural-mattress .elementor-location-footer .e-con,
body.term-firm-latex-mattress .elementor-location-footer .e-con-inner,
body.term-natural-mattress .elementor-location-footer .e-con-inner,
body.term-firm-latex-mattress .elementor-location-footer .e-parent,
body.term-natural-mattress .elementor-location-footer .e-parent,
body.term-firm-latex-mattress .luxe-footer,
body.term-natural-mattress .luxe-footer,
body.term-firm-latex-mattress footer.luxe-footer,
body.term-natural-mattress footer.luxe-footer,
body.term-firm-latex-mattress .luxe-footer .e-con,
body.term-natural-mattress .luxe-footer .e-con,
body.term-firm-latex-mattress .luxe-footer .e-con-inner,
body.term-natural-mattress .luxe-footer .e-con-inner {
  background-color: #1f3a2e !important;
  background: #1f3a2e !important;
  background-image: none !important;
}

/* "A QUIETER FOOTPRINT" / .section-dark */
body.term-firm-latex-mattress section.section-dark,
body.term-natural-mattress section.section-dark,
body.term-firm-latex-mattress .section-dark,
body.term-natural-mattress .section-dark {
  background-color: #1f3a2e !important;
  background: #1f3a2e !important;
}

/* BUTTONS - global page buttons */
body.term-firm-latex-mattress .btn,
body.term-natural-mattress .btn,
body.term-firm-latex-mattress a.btn,
body.term-natural-mattress a.btn,
body.term-firm-latex-mattress button.btn,
body.term-natural-mattress button.btn {
  background-color: #1f3a2e !important;
  background: #1f3a2e !important;
  border-color: #1f3a2e !important;
}

/* Catch any inline-styled dark-green-ish backgrounds we might've used */
body.term-firm-latex-mattress [style*="background:#1f4d3f"],
body.term-natural-mattress [style*="background:#1f4d3f"],
body.term-firm-latex-mattress [style*="background-color:#1f4d3f"],
body.term-natural-mattress [style*="background-color:#1f4d3f"],
body.term-firm-latex-mattress [style*="background:rgb(31, 77, 63)"],
body.term-natural-mattress [style*="background:rgb(31, 77, 63)"],
body.term-firm-latex-mattress [style*="background-color:rgb(31, 77, 63)"],
body.term-natural-mattress [style*="background-color:rgb(31, 77, 63)"] {
  background-color: #1f3a2e !important;
  background: #1f3a2e !important;
}

/* ICONS - keep header/footer icons on the new dark green readable
   (they were already cream/white on dark green, so no text change needed) */

/* End unified dark green */


/* === FIX: Footer social icons disappeared (white-on-white) === */
/* Force social icon colour to dark green so the SVG path (fill: currentcolor)
   shows up against the white circle background. */
body.term-firm-latex-mattress .luxe-socials a,
body.term-natural-mattress .luxe-socials a,
body.term-firm-latex-mattress .luxe-footer .luxe-socials a,
body.term-natural-mattress .luxe-footer .luxe-socials a {
  color: #1f3a2e !important;
}
body.term-firm-latex-mattress .luxe-socials a svg,
body.term-natural-mattress .luxe-socials a svg,
body.term-firm-latex-mattress .luxe-socials a svg path,
body.term-natural-mattress .luxe-socials a svg path,
body.term-firm-latex-mattress .luxe-footer .luxe-socials a svg,
body.term-natural-mattress .luxe-footer .luxe-socials a svg,
body.term-firm-latex-mattress .luxe-footer .luxe-socials a svg path,
body.term-natural-mattress .luxe-footer .luxe-socials a svg path {
  fill: #1f3a2e !important;
  color: #1f3a2e !important;
}
/* End social icon fix */
