/*
Theme Name: Builder Theme Child
Theme URI: https://thefloweroflifehumanityproject.com/
Description: Child theme for Builder Theme - The Flower of Life Humanity Project
Author: The One Technologies
Template: tenweb-website-builder-theme
Version: 1.0.0
Text Domain: tenweb-website-builder-theme-child
*/

:root {
  --cream: #faf6ea;
  --cream-2: #f2ead4;
  --ink: #22301d;
  --ink-dim: #5b6a54;
  --forest: #1c2b1e;
  --forest-2: #25392a;
  --forest-3: #2f4732;
  --parchment: #f6f1e2;
  --parchment-dim: #cdd6c4;
  --gold: #c68a2e;
  --gold-light: #e6b25a;
  --gold-deep: #9c6c1f;
  --sage: #7f9a72;
  --sage-light: #c7d8bb;
  --clay: #b3763f;
  --line-light: rgba(34, 48, 29, 0.12);
  --line-dark: rgba(246, 241, 226, 0.14);
}

html {
  height: 100% !important;
}

body {
  margin: 0 !important;
  min-height: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  background-color: var(--cream) !important;
  color: var(--ink);
  font-family: 'Outfit', sans-serif;
  background:
    radial-gradient(ellipse 60% 50% at 85% 5%, rgba(198, 138, 46, 0.16), transparent 60%),
    radial-gradient(ellipse 55% 45% at 5% 95%, rgba(127, 154, 114, 0.18), transparent 60%),
    linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

#page,
.site {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: auto !important;
  flex: 1 0 auto !important;
  width: 100% !important;
}

#content,
#content.site-content,
.site-content {
  flex: 1 0 auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

#primary,
.content-area,
main#main,
.site-main {
  flex: 1 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

footer#contact,
footer.site-footer,
footer {
  margin-top: auto !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ---------- NAV HEADER ---------- */
header,
.fol-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  background: rgba(250, 246, 234, 0.86) !important;
  border-bottom: 1px solid var(--line-light) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  font-family: 'Outfit', sans-serif !important;
}

.nav,
.fol-header .nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 32px !important;
  max-width: 1400px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.brand,
.fol-header .brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
}

.brand img,
.fol-header .brand img {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 1px solid var(--line-light) !important;
  animation: seedPulse 4s ease-in-out infinite !important;
  background: #fff !important;
  flex-shrink: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}

.brand-name,
.fol-header .brand-name {
  font-family: 'Fraunces', serif !important;
  font-size: 1.02rem !important;
  color: var(--ink) !important;
  letter-spacing: 0.01em !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  max-width: 98px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-align: left !important;
}

.brand-name small,
.fol-header .brand-name small {
  display: block !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.22em !important;
  color: var(--gold-deep) !important;
  text-transform: uppercase !important;
  margin-top: 2px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

nav.links,
.fol-header nav.links {
  display: flex !important;
  align-items: center !important;
  gap: 30px !important;
}

nav.links > ul,
.fol-header nav.links > ul {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  flex-wrap: nowrap !important;
}

nav.links > ul > li,
.fol-header nav.links > ul > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

nav.links a.top,
.fol-header nav.links a.top {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--ink-dim) !important;
  position: relative !important;
  padding: 6px 0 !important;
  transition: color 0.25s ease !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  display: inline-block !important;
}

nav.links a.top:hover,
.fol-header nav.links a.top:hover {
  color: var(--gold-deep) !important;
}

nav.links a.top::after,
.fol-header nav.links a.top::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 0% !important;
  height: 1px !important;
  background: var(--gold) !important;
  transition: width 0.3s ease !important;
}

nav.links a.top:hover::after,
.fol-header nav.links a.top:hover::after {
  width: 100% !important;
}

.has-drop,
.fol-header .has-drop {
  position: relative !important;
  list-style: none !important;
}

.has-drop:hover .dropdown,
.fol-header .has-drop:hover .dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
}

.dropdown,
.fol-header .dropdown {
  position: absolute !important;
  top: calc(100% + 18px) !important;
  left: 50% !important;
  transform: translate(-50%, 8px) !important;
  background: var(--forest) !important;
  border: 1px solid var(--line-dark) !important;
  border-radius: 14px !important;
  padding: 10px !important;
  width: 290px !important;
  box-shadow: var(--shadow-dark) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.25s ease !important;
  z-index: 99999 !important;
  box-sizing: border-box !important;
}

.dropdown a,
.fol-header .dropdown a {
  display: block !important;
  padding: 10px 14px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.8rem !important;
  border-radius: 8px !important;
  color: var(--parchment-dim) !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  text-decoration: none !important;
  text-align: left !important;
}

.dropdown a:hover,
.fol-header .dropdown a:hover {
  background: rgba(230, 178, 90, 0.14) !important;
  color: var(--gold-light) !important;
}

.cta-nav,
.fol-header .cta-nav {
  background: var(--gold) !important;
  color: #fff !important;
  padding: 11px 22px !important;
  border-radius: 100px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  text-align: center !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 8px 22px -8px rgba(198, 138, 46, 0.55) !important;
  text-decoration: none !important;
  display: inline-block !important;
  max-width: 110px !important;
  box-sizing: border-box !important;
  border: none !important;
  line-height: 1.25 !important;
}

.cta-nav:hover,
.fol-header .cta-nav:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px -10px rgba(198, 138, 46, 0.75) !important;
}

.burger,
.fol-header .burger {
  display: none !important;
  width: 26px !important;
  height: 20px !important;
  position: relative !important;
  cursor: pointer !important;
}

.burger span,
.fol-header .burger span {
  position: absolute !important;
  left: 0 !important;
  width: 100% !important;
  height: 2px !important;
  background: var(--ink) !important;
  transition: 0.3s ease !important;
}

.burger span:nth-child(1),
.fol-header .burger span:nth-child(1) { top: 0 !important; }
.burger span:nth-child(2),
.fol-header .burger span:nth-child(2) { top: 9px !important; }
.burger span:nth-child(3),
.fol-header .burger span:nth-child(3) { top: 18px !important; }

@media (max-width: 1080px) {
  nav.links,
  .fol-header nav.links { display: none !important; }
  .burger,
  .fol-header .burger { display: block !important; }
}

/* ---------- SITE BACKGROUND & CONTAINER TRANSPARENCY ---------- */
html,
body {
  background-color: var(--cream) !important;
  background:
    radial-gradient(ellipse 60% 50% at 85% 5%, rgba(198, 138, 46, 0.16), transparent 60%),
    radial-gradient(ellipse 55% 45% at 5% 95%, rgba(127, 154, 114, 0.18), transparent 60%),
    linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

#page,
.site,
#content,
#content.site-content,
.site-content,
#primary,
.content-area,
main,
main#main,
.site-main,
article,
article.post,
article.page,
article.product,
div.product,
.product,
.type-product,
.woocommerce,
.woocommerce-page,
.elementor,
.elementor-default,
.elementor-section,
.elementor-section-wrap,
.elementor-top-section,
.elementor-inner-section,
.elementor-widget-wrap,
.e-con,
.e-con-boxed,
.e-con-inner,
.e-con-full,
.twbb_section,
body .elementor-element.elementor-widget-twbb_woocommerce-page,
.elementor-widget,
.elementor-widget-container,
.entry-summary,
.summary.entry-summary,
.woocommerce-product-gallery,
.woocommerce-tabs,
.woocommerce-Tabs-panel,
.twbb_single-type,
.twbb_archive-type,
.elementor-wc-products,
ul.products {
  background: transparent !important;
  background-color: transparent !important;
}

/* Single Product Aesthetics */
.product_title,
h1.product_title {
  font-family: 'Fraunces', serif !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
}
.woocommerce-Price-amount,
.price {
  font-family: 'Outfit', sans-serif !important;
  color: var(--gold-deep) !important;
  font-weight: 600 !important;
}
.single_add_to_cart_button.button,
.elementor-widget-twbb_woocommerce-product-add-to-cart .single_add_to_cart_button.button {
  background: var(--forest) !important;
  color: #fff !important;
  border-radius: 100px !important;
  padding: 13px 32px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  border: none !important;
  transition: transform 0.25s ease, background 0.25s ease !important;
}
.single_add_to_cart_button.button:hover,
.elementor-widget-twbb_woocommerce-product-add-to-cart .single_add_to_cart_button.button:hover {
  background: var(--gold) !important;
  transform: translateY(-2px) !important;
}
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image img {
  border-radius: 18px !important;
}

h1,
h2,
h3,
h4,
.elementor-heading-title,
.woocommerce-products-header__title,
.twbb-filter-heading,
.widget-title {
  font-family: 'Fraunces', serif !important;
  color: var(--ink) !important;
}

/* ---------- PRODUCT CARDS & HOVER FIX ---------- */
/* 1. Completely eliminate any harsh card border / outline on hover */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.elementor-wc-products ul.products li.product,
.elementor-wc-products ul.products li.product:hover,
.woocommerce ul.products li.product:hover,
div[class*="elementor-element"] ul.products li.product,
div[class*="elementor-element"] ul.products li.product:hover,
.elementor-204 .elementor-element.elementor-element-esaxoo6z.elementor-wc-products ul.products li.product,
.elementor-204 .elementor-element.elementor-element-esaxoo6z.elementor-wc-products ul.products li.product:hover,
.elementor-205 .elementor-element.elementor-element-i64al9xy.elementor-wc-products ul.products li.product,
.elementor-205 .elementor-element.elementor-element-i64al9xy.elementor-wc-products ul.products li.product:hover {
  border: none !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2. Align card text with the image (remove TenWeb's 14px left padding) */
.elementor-204 .elementor-element.elementor-element-esaxoo6z.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
.elementor-204 .elementor-element.elementor-element-esaxoo6z.elementor-wc-products ul.products li.product .price,
.elementor-204 .elementor-element.elementor-element-esaxoo6z.elementor-wc-products ul.products li.product .twbb-add-to-cart-container,
.elementor-204 .elementor-element.elementor-element-esaxoo6z.elementor-wc-products ul.products li.product .twbb-product-loop-buttons {
  padding-left: 0 !important;
}

/* 3. Never underline the product card link or inner title/price on hover */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product a:hover,
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link:hover,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover {
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* 4. Product Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  line-height: 1.35 !important;
  margin-top: 14px !important;
  margin-bottom: 6px !important;
  padding-left: 0 !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title {
  color: var(--gold-deep) !important;
  text-decoration: none !important;
}

/* 5. Product Price */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price:hover,
.woocommerce ul.products li.product:hover .price,
.woocommerce-Price-amount {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: var(--ink) !important;
  text-decoration: none !important;
  padding-left: 0 !important;
  margin-bottom: 8px !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .amount {
  color: var(--gold-deep) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.woocommerce ul.products li.product del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount {
  color: var(--ink-dim) !important;
  opacity: 0.65 !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  margin-right: 6px !important;
}

.woocommerce ul.products li.product ins {
  text-decoration: none !important;
  font-weight: 600 !important;
  color: var(--gold-deep) !important;
}

/* 6. Add to Cart link */
.woocommerce ul.products li.product .button,
.twbb-add-to-cart-container .button,
.add_to_cart_button {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  color: var(--ink) !important;
  text-decoration: underline !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: inline-block !important;
  transition: color 0.25s ease !important;
}

.woocommerce ul.products li.product:hover .button,
.twbb-add-to-cart-container .button:hover,
.add_to_cart_button:hover {
  color: var(--gold-deep) !important;
  text-decoration: underline !important;
}

/* 7. Image Container with smooth elevation */
.woocommerce ul.products li.product .twbb-image-wrap {
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 25px -12px rgba(20, 30, 15, 0.14) !important;
  border: 1px solid rgba(34, 48, 29, 0.08) !important;
  background: #ffffff !important;
  transition: transform 0.35s cubic-bezier(.22, 1, .36, 1), box-shadow 0.35s ease !important;
  margin-bottom: 8px !important;
}

.woocommerce ul.products li.product:hover .twbb-image-wrap {
  transform: translateY(-5px) !important;
  box-shadow: 0 20px 42px -14px rgba(20, 30, 15, 0.22) !important;
}

.woocommerce ul.products li.product .twbb-image-container img {
  transition: transform 0.45s cubic-bezier(.22, 1, .36, 1) !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.woocommerce ul.products li.product:hover .twbb-image-container img {
  transform: scale(1.04) !important;
}

.woocommerce ul.products li.product {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.woocommerce span.onsale,
.twbb-badge-type-sale .twbb-badge,
.elementor-product-loop-item .onsale,
.onsale {
  background: var(--gold) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 4px 10px !important;
  border: none !important;
}

.twbb-filter-item label,
.twbb-filter-options,
.woocommerce-widget-layered-nav,
.twbb-filter-container {
  color: var(--ink-dim) !important;
  font-family: 'Outfit', sans-serif !important;
}

.ui-slider .ui-slider-range {
  background: var(--gold) !important;
}

.ui-slider .ui-slider-handle {
  background: var(--forest) !important;
  border: 2px solid var(--gold) !important;
  border-radius: 50% !important;
}

/* ---------- SHOP ARCHIVE: SECTION PARTITIONING & SIDEBAR FILTER CARDS ---------- */

/* 1. ARCHITECTURAL VERTICAL DIVIDER & FIXED STABLE SIDEBAR WIDTH */
@media (min-width: 1025px) {
  /* The two-column archive row */
  .elementor-element-i5e740xq,
  .elementor-204 .elementor-element.elementor-element-i5e740xq {
    gap: 0 !important;
    --column-gap: 0px !important;
  }

  /* Left column: Sidebar - Lock width at 350px ALWAYS so scroll never shrinks it */
  .elementor-element-1inpphou,
  .elementor-204 .elementor-element.elementor-element-1inpphou,
  .elementor-element-1inpphou.elementor-sticky,
  .elementor-element-1inpphou.elementor-sticky--active,
  .elementor-element-1inpphou.elementor-sticky--effects,
  .elementor-sticky__spacer,
  div.elementor-element-1inpphou {
    width: 350px !important;
    min-width: 350px !important;
    max-width: 350px !important;
    padding-right: 32px !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-element-1inpphou .elementor-widget-tenweb-woo-filter,
  .elementor-element-1inpphou .elementor-widget-container,
  .elementor-element-1inpphou .tww_filter_form,
  .elementor-element-1inpphou .twwf_filter_form_fields {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Right column: Product catalog showcase with stable vertical dividing line */
  .elementor-element-nsoprs11,
  .elementor-204 .elementor-element.elementor-element-nsoprs11 {
    border-left: 1px solid rgba(34, 48, 29, 0.14) !important;
    padding-left: 36px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 1024px) {
  .elementor-element-1inpphou,
  .elementor-204 .elementor-element.elementor-element-1inpphou {
    border-bottom: 1px solid rgba(34, 48, 29, 0.14) !important;
    padding-bottom: 28px !important;
    margin-bottom: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 2. "SHOP ALL" & ARCHIVE HEADER */
.elementor-element-xwyc2v4c .elementor-heading-title,
.woocommerce-products-header__title,
.archive-title {
  font-family: 'Fraunces', serif !important;
  font-size: 2.3rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Top Announcement bar */
.elementor-element-o0nwcfvg .elementor-heading-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.86rem !important;
  letter-spacing: 0.04em !important;
  color: var(--ink-dim) !important;
  padding: 8px 0 !important;
}

/* 3. EXPAND / COLLAPSE ALL TOGGLE PILL */
.twwf_expand_collapse_filter {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  color: var(--forest) !important;
  background: rgba(255, 255, 255, 0.75) !important;
  padding: 7px 16px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(34, 48, 29, 0.14) !important;
  cursor: pointer !important;
  margin-bottom: 18px !important;
  transition: all 0.25s cubic-bezier(.22, 1, .36, 1) !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(34, 48, 29, 0.04) !important;
}

.twwf_expand_collapse_filter:hover {
  background: var(--gold) !important;
  color: #fff !important;
  border-color: var(--gold) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(198, 138, 46, 0.25) !important;
}

/* 4. INDIVIDUAL BOXED FILTER SECTIONS (Categories, Price, Stock, Collections) */
.tww_filter_form .tww_filter_field_block,
.elementor-widget-tenweb-woo-filter .tww_filter_form .tww_filter_field_block,
.elementor-204 .elementor-element.elementor-element-3r0q7xol .tww_filter_field_block {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(34, 48, 29, 0.13) !important;
  border-radius: 14px !important;
  padding: 13px 18px !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  box-shadow: 0 3px 10px -3px rgba(34, 48, 29, 0.05) !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.tww_filter_form .tww_filter_field_block:hover,
.elementor-widget-tenweb-woo-filter .tww_filter_form .tww_filter_field_block:hover {
  border-color: rgba(198, 138, 46, 0.4) !important;
  box-shadow: 0 5px 16px -4px rgba(34, 48, 29, 0.09) !important;
}

/* Filter Group Header (Row with Title + Expand/Collapse Arrow) - NO UNDERLINE */
.tww_filter_form .twwf_field_header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  border: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

/* When card is collapsed, remove margin-bottom so all cards are identical in height */
.tww_filter_form .tww_filter_field_block:has(.twwf_hide_field) .twwf_field_header,
.tww_filter_form .tww_filter_field_block.twwf_collapsed .twwf_field_header {
  margin-bottom: 0 !important;
}

/* In Price card, ensure floating $24/$60 handles have extra breathing room below the header */
.tww_filter_form .tww_filter_field_block:has(.twwf_price_slider_container:not(.twwf_hide_field)) .twwf_field_header {
  margin-bottom: 26px !important;
}

.tww_filter_form .tww_filter_field_title {
  font-family: 'Fraunces', serif !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  letter-spacing: 0.01em !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

.tww_filter_form .twwf_open_close_field {
  width: 16px !important;
  height: 16px !important;
  opacity: 0.7 !important;
  transition: transform 0.3s ease, opacity 0.2s ease !important;
  margin-left: auto !important;
}

.tww_filter_form .twwf_open_close_field:hover {
  opacity: 1 !important;
}

/* 5. COLLAPSED STATE: ALL CARDS IDENTICAL IN HEIGHT WITH NO LEFTOVER GAP */
.twwf_filter_field.twwf_hide_field,
.twwf_hide_field,
.tww_filter_form .twwf_hide_field,
.tww_filter_form .twwf_price_slider_container.twwf_hide_field,
.tww_filter_form .twwf_checkbox_list.twwf_hide_field {
  display: none !important;
  height: 0px !important;
  min-height: 0px !important;
  max-height: 0px !important;
  padding: 0px !important;
  margin: 0px !important;
  visibility: hidden !important;
  overflow: hidden !important;
  border: none !important;
}

/* Open / Expanded Content Spacing */
.tww_filter_form .twwf_filter_field:not(.twwf_hide_field) {
  display: block !important;
  padding-top: 4px !important;
}

.tww_filter_form .twwf_price_slider_container:not(.twwf_hide_field) {
  margin-top: 10px !important;
  padding: 24px 10px 12px 10px !important;
}

/* Filter Options / Checkbox Items */
.twwf_checkbox_list,
.twwf_radio_list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.twwf_checkbox_list .container,
.twwf_radio_list .container {
  padding: 6px 10px !important;
  border-radius: 8px !important;
  margin-bottom: 0 !important;
  transition: background 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
}

.twwf_checkbox_list .container:hover,
.twwf_radio_list .container:hover {
  background: rgba(198, 138, 46, 0.09) !important;
}

.twwf_checkbox_list .checkbox_field_option_title,
.twwf_radio_list .radio_field_option_title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  margin-left: 24px !important;
  transition: color 0.2s ease !important;
}

.twwf_checkbox_list .container:hover .checkbox_field_option_title,
.twwf_radio_list .container:hover .radio_field_option_title {
  color: var(--gold-deep) !important;
}

/* Custom Checkmark Boxes */
.twwf_checkbox_list .checkmark {
  width: 16px !important;
  height: 16px !important;
  background-color: #ffffff !important;
  border: 1.5px solid rgba(34, 48, 29, 0.28) !important;
  border-radius: 4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: all 0.2s ease !important;
}

.twwf_checkbox_list .container input:checked ~ .checkmark {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
}

.twwf_checkbox_list .container .checkmark:after {
  left: 4px !important;
  top: 1px !important;
  width: 4px !important;
  height: 8px !important;
  border: solid white !important;
  border-width: 0 2px 2px 0 !important;
}

/* Price Slider in Card - Generous breathing room between Price title and $24/$60 handles */
.twwf_price_slider_container:not(.twwf_hide_field) {
  padding: 34px 10px 12px 10px !important;
}

.tww_filter_field_block:not(:has(.twwf_hide_field)) .twwf_field_header {
  margin-bottom: 16px !important;
}

.twwf_price_slider.ui-slider {
  height: 5px !important;
  background: rgba(34, 48, 29, 0.12) !important;
  border-radius: 10px !important;
  border: none !important;
}

.tww_filter_form .tww_filter_field_block .ui-slider-range {
  background: var(--gold) !important;
  border-radius: 10px !important;
}

.tww_filter_form .tww_filter_field_block .ui-slider-handle {
  background: var(--forest) !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 2px 8px rgba(28, 43, 30, 0.3) !important;
  border-radius: 50% !important;
  width: 18px !important;
  height: 18px !important;
  top: -6px !important;
  outline: none !important;
  cursor: grab !important;
  transition: transform 0.15s ease !important;
}

.tww_filter_form .tww_filter_field_block .ui-slider-handle:hover {
  transform: scale(1.15) !important;
}

.tww_filter_form .tww_filter_field_block .ui-slider-handle .tww_handle_price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--gold-deep) !important;
  top: -22px !important;
}

.tww_price_item {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: var(--gold-deep) !important;
  margin-top: 14px !important;
}

/* Active Filter Chips / Reset All */
.twwf_filtered_fields {
  margin: 0 0 16px 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.twwf_filtered_fields .twwf_filtered_field {
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid rgba(198, 138, 46, 0.35) !important;
  color: var(--ink) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  border-radius: 100px !important;
  padding: 4px 28px 4px 12px !important;
}

.twwf_filtered_fields .twwf_reset_filtered_fields {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
  color: var(--gold-deep) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}