
  @import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap');
  @import url('https://fonts.googleapis.com/css?family=Raleway:400,700&display=swap');

  body {
  font-family: 'Open Sans', sans-serif;
  }

  h1, h2, h3, h4, h5, h6 {
  font-family: 'Raleway', sans-serif;
  }

  h1 {
  font-size: 34px;
  }

  h2 {
  font-size: 32px;
  }

  h3 {
  font-size: 26px;
  }

  h4 {
  font-size: 21px;
  }

  h5 {
  font-size: 18px;
  }

  h6 {
  font-size: 16px;
  }

  body {
  font-size: 15px;
  }

  body,
  .product-usps li,
  .stock-message {
  color: #020407;
  }

  h1, h2, h3, h4, h5, h6 {
  color: #020407 !important;
  }

  a,
  .woocommerce ul.products li.product .price,
  .woocommerce .price {
  color: #4a526f !important;
  }

  a:hover,
  .woocommerce ul.products li.product .price,
  .woocommerce .price,
  .product-usps li i,
  .counter {
  color: #1d284c !important;
  }

  .btn,
  .wpcf7-submit,
  .woocommerce span.onsale,
  .woocommerce a.button,
  .woocommerce .button,
  [type="submit"],
  .nf-form-content input[type=submit]
  {
  background: #4a526f !important;
  color: #fff !important;
  }

  .btn:hover,
  .wpcf7-submit:hover,
  .woocommerce span.onsale:hover,
  .woocommerce a.button:hover,
  .woocommerce .button:hover,
  [type="submit"]:hover,
  .nf-form-content input[type=submit]:hover
  {
  background: #1d284c !important;
  color: #fff !important;
  }

  div.social-media ul li a {
  background: #333d5d !important;
  color: #fff !important;
  }

  div.social-media ul li a i {
  color: #fff !important;
  }

  div.social-media ul li a:hover {
  background: #1d284c !important;
  color: #fff !important;
  }
  footer div.social-media ul li a {
  background: #4a526f !important;
  }

  div.phone a.phone, div.email a.email {
  background: #333d5d !important;
  color: #fff !important;
  }

  div.phone a.phone, div.email a.email i {
  color: #fff !important;
  }

  div.phone a.phone:hover, div.email a.email:hover {
  background: #1d284c !important;
  color: #fff !important;
  }

  header button.navbar-toggle {
  color: #333d5d;
  border-color: #333d5d;
  }

  .woocommerce-info,
  .woocommerce-message {
  border-top-color: #333d5d !important;
  }

  .woocommerce-info::before,
  .woocommerce-message::before {
  color: #333d5d !important;
  }

  .btn,
  .wpcf7-submit,
  .woocommerce span.onsale,
  .woocommerce a.button,
  .woocommerce .button,
  .modal__container,
  .footer-cta-box,
  .rimg,
  [type="submit"] {
  -moz-border-radius: 5px !important;
  -webkit-border-radius: 5px !important;
  border-radius: 5px !important;
  }

  .img-responsive {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  }



  header div.header {
  background-color: rgba(255, 255, 255, .5) !important;
  }
  header .sticky_menu_small div.header {
  background-color: rgb(255, 255, 255) !important;
  }

  @media only screen and (max-width : 992px) {
  header nav.navbar-default {
  background: none !important;
  }
  }





  @media only screen and (min-width : 992px) {
  header > div.wrapper {
  min-height: 276px;
  }
  header > div.wrapper.above {
  min-height: 426px;
  }

  header div.header div.holder {
  height: 176px;
  }
  }



  .shop_topbar {
  background: #f4efeb;
  }
  .shop_topbar a,
  .shop_topbar a:hover {
  color: #1d284c !important;
  }


  nav.navbar-default, div.navbar-collapse {
  background-color: #333d5d; !important;
  }

  @media only screen and (min-width : 992px) {
  
  div.navbar-collapse {
  background: none !important;
  }

  header nav.navbar-default {
  background-color: rgba(51, 61, 93, .5) !important;
  }

  nav.navbar-default div.navbar-collapse ul.navbar-nav>li a:hover {
  background-color: rgba(51, 61, 93, .5) !important;
  -webkit-box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  -moz-box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  }

  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:hover,
  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:focus,
  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:active {
  color: #333d5d !important;
  }
  }


  section.featured div.wrapper {
  margin-top: 60px;
  }





  header div.header {
  text-align: center;
  }

  header div.navbar-collapse ul.navbar-nav li a, .nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
  border-bottom: 1px solid #4a526f;
  }

  @media only screen and (min-width : 992px) {
  header div.navbar-collapse ul.navbar-nav li a, header nav.navbar-default div.navbar-collapse ul.navbar-nav li ul.dropdown-menu li.active > a {
  color: #4a526f !important;
  }
  }


  header div.header div.contact i {
  color: #4a526f;
  }

  @media only screen and (min-width : 992px) {
  header div.navbar-collapse {
  text-align: center;
  }
  }

  section.featured div.item p,
  section.news div.item p {
  color: #020407 !important;
  }

  section.featured div.item,
  section.news div.item {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  }

  section.partners {
  background: #4a526f !important;
  }

  section.partners img {
  border-radius: 0 !important;
  }

  footer,
  .footer-cta.center:after,
  .author {
  background: #333d5d !important;
  }

  footer div.column > h4 {
  border-bottom: 1px solid #4a526f;
  }

  footer div.socket,
  .footer-sticky {
  background: #1d284c !important;
  }


  section.treatments div.items div.item img {
  border-radius: 100% !important;
  }

  .img-circle {
  border-radius: 100% !important;
  }

  section.treatments div.button-wrap {
  background: #9c7694;
  margin-top: 30px;
  }

  section.treatments div.item a {
  color: #020407 !important;
  }

  section.prices table tr td a {
  color: #020407 !important;
  }

  aside div.block.treatments ul li a,
  .woocommerce .widget_product_categories ul li a,
  .woocommerce .widget_product_categories ul li span {
  color: #020407 !important;
  }

  aside div.block.treatments ul li:hover,
  .woocommerce .widget_product_categories ul li:hover {
  background: #333d5d;
  }

  :root {
    --primary-50: #f0f2f7;
    --primary-100: #d8dce8;
    --primary-200: #b1b9d1;
    --primary-300: #8a96ba;
    --primary-400: #5a6a96;
    --primary-500: #3d4a72;
    --primary-600: #2d3858;
    --primary-700: #1d284c;
    --primary-800: #161e3a;
    --primary-900: #0f1428;
    --primary-950: #080a14;
    --gold-50: #fdfbf0;
    --gold-100: #f9f3d4;
    --gold-200: #f2e7a9;
    --gold-300: #e6d56a;
    --gold-400: #D3BA34;
    --gold-500: #bfa52a;
    --gold-600: #9a8522;
    --gold-700: #75651a;
    --gold-800: #504512;
    --gold-900: #2a240a;
    --neutral-0: #ffffff;
    --neutral-50: #fafaf9;
    --neutral-100: #f5f5f3;
    --neutral-200: #e8e8e4;
    --neutral-300: #d6d6d0;
    --neutral-400: #a8a8a0;
    --neutral-500: #737369;
    --neutral-600: #52524a;
    --neutral-700: #3d3d37;
    --neutral-800: #292925;
    --neutral-900: #1a1a17;
    --success-light: #ecfdf5;
    --success: #10b981;
    --success-dark: #047857;
    --warning-light: #fffbeb;
    --warning: #f59e0b;
    --warning-dark: #b45309;
    --error-light: #fef2f2;
    --error: #ef4444;
    --error-dark: #b91c1c;
    --info-light: #eff6ff;
    --info: #3b82f6;
    --info-dark: #1d4ed8;
    --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;
    --text-7xl: 4.5rem;
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-normal: 0;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.15em;
    --space-0: 0;
    --space-px: 1px;
    --space-0-5: 0.125rem;
    --space-1: 0.25rem;
    --space-1-5: 0.375rem;
    --space-2: 0.5rem;
    --space-2-5: 0.625rem;
    --space-3: 0.75rem;
    --space-3-5: 0.875rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 1.75rem;
    --space-8: 2rem;
    --space-9: 2.25rem;
    --space-10: 2.5rem;
    --space-11: 2.75rem;
    --space-12: 3rem;
    --space-14: 3.5rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-28: 7rem;
    --space-32: 8rem;
    --space-36: 9rem;
    --space-40: 10rem;
    --shadow-xs: 0 1px 2px 0 rgb(29 40 76 / 0.03);
    --shadow-sm: 0 1px 3px 0 rgb(29 40 76 / 0.06), 0 1px 2px -1px rgb(29 40 76 / 0.06);
    --shadow-md: 0 4px 6px -1px rgb(29 40 76 / 0.06), 0 2px 4px -2px rgb(29 40 76 / 0.06);
    --shadow-lg: 0 10px 15px -3px rgb(29 40 76 / 0.07), 0 4px 6px -4px rgb(29 40 76 / 0.07);
    --shadow-xl: 0 20px 25px -5px rgb(29 40 76 / 0.08), 0 8px 10px -6px rgb(29 40 76 / 0.08);
    --shadow-2xl: 0 25px 50px -12px rgb(29 40 76 / 0.18);
    --shadow-inner: inset 0 2px 4px 0 rgb(29 40 76 / 0.04);
    --shadow-gold-sm: 0 2px 8px -2px rgb(211 186 52 / 0.25);
    --shadow-gold-md: 0 4px 14px -3px rgb(211 186 52 / 0.3);
    --shadow-gold-lg: 0 8px 24px -4px rgb(211 186 52 / 0.35);
    --radius-none: 0;
    --radius-sm: 0;
    --radius-md: 0;
    --radius-lg: 0;
    --radius-xl: 0;
    --radius-2xl: 0;
    --radius-3xl: 0;
    --radius-full: 9999px;
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slower: 500ms cubic-bezier(0.4, 0, 0.2, 1);
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1280px;
    --container-2xl: 1640px;
}

.shop_topbar .container {
  width: 100% !important;
  max-width: 1920px !important;
  margin: 0 1rem;
  padding: var(--space-1-5) !important;
}

*,
*::before,
*::after {
    box-sizing: border-box !important;
}

.cw * {
color: #fff !important;
}

html {
    font-size: 16px !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    scroll-behavior: smooth !important;
}
shop_uspbar {
background: var(--lg-cc-accent);
}
body {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    font-weight: 400 !important;
    line-height: var(--leading-relaxed) !important;
    color: var(--primary-800) !important;
    background-color: var(--neutral-0) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.products.columns-4::before {
  display: none !important;
}

.usp-bar__item {
  font-size: 14px;
}
.usp-bar__icon {
color: var(--gold-400);
}
.usp-bar__text {
color: var(--gold-50);
}

.usp-bar__item br {
  display: none;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.entry-title,
.page-title,
.post-title,
.product_title,
.woocommerce-loop-product__title,
.woocommerce-products-header__title {
    font-family: var(--font-display) !important;
    font-weight: 300 !important;
    line-height: var(--leading-tight) !important;
    letter-spacing: var(--tracking-tight) !important;
    color: var(--primary-700) !important;
    margin-top: 0 !important;
}

h1, .h1 {
    font-size: var(--text-5xl) !important;
    font-weight: 400 !important;
    margin-bottom: var(--space-8) !important;
}

h2, .h2,
.woocommerce-products-header__title {
    font-size: var(--text-4xl) !important;
    margin-bottom: var(--space-7) !important;
}

h3, .h3,
.product_title {
    font-size: var(--text-3xl) !important;
    margin-bottom: var(--space-5) !important;
}

h4, .h4 {
    font-size: var(--text-2xl) !important;
    margin-bottom: var(--space-4) !important;
}

h5, .h5 {
    font-size: var(--text-xl) !important;
    margin-bottom: var(--space-4) !important;
}

h6, .h6 {
    font-size: var(--text-lg) !important;
    font-weight: 600 !important;
    margin-bottom: var(--space-3) !important;
}

.woocommerce-loop-product__title {
    font-size: var(--text-lg) !important;
    font-weight: 500 !important;
    margin-bottom: var(--space-3) !important;
}

p {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    line-height: var(--leading-relaxed) !important;
    color: var(--neutral-600) !important;
    margin-top: 0 !important;
    margin-bottom: var(--space-6) !important;
}

.lead,
.woocommerce-product-details__short-description p,
.page-description p {
    font-size: var(--text-lg) !important;
    line-height: var(--leading-relaxed) !important;
    color: var(--neutral-500) !important;
}

small,
.small,
.text-small {
    font-size: var(--text-sm) !important;
    line-height: var(--leading-normal) !important;
}

.text-xs {
    font-size: var(--text-xs) !important;
}

strong, b {
    font-weight: 600 !important;
    color: var(--primary-700) !important;
}

a {
    font-family: var(--font-body) !important;
    color: var(--primary-700) !important;
    text-decoration: none !important;
    transition: color var(--transition-fast), 
                border-color var(--transition-fast) !important;
}

a:hover,
a:focus {
    color: var(--gold-400) !important;
}

.content-area a:not(.button):not(.btn):not(.wp-block-button__link),
.entry-content a:not(.button):not(.btn):not(.wp-block-button__link),
article a:not(.button):not(.btn):not(.wp-block-button__link) {
    border-bottom: 1px solid var(--gold-200) !important;
    transition: color var(--transition-fast), 
                border-color var(--transition-fast) !important;
}

.content-area a:not(.button):not(.btn):not(.wp-block-button__link):hover,
.entry-content a:not(.button):not(.btn):not(.wp-block-button__link):hover {
    color: var(--gold-500) !important;
    border-bottom-color: var(--gold-400) !important;
}

nav a,
.menu a,
.navigation a,
.nav-menu a,
.main-navigation a,
.site-navigation a {
    font-family: var(--font-body) !important;
    font-size: var(--text-sm) !important;
    font-weight: 500 !important;
    letter-spacing: var(--tracking-wide) !important;
    text-transform: uppercase !important;
    color: var(--primary-700) !important;
    border-bottom: none !important;
    padding: var(--space-2) var(--space-4) !important;
    position: relative !important;
}

nav a:hover,
.menu a:hover,
.navigation a:hover,
.nav-menu a:hover,
.main-navigation a:hover,
.site-navigation a:hover {
    color: var(--gold-400) !important;
}

nav a::after,
.menu a::after,
.main-navigation a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    width: 0 !important;
    height: 2px !important;
    background-color: var(--gold-400) !important;
    transition: width var(--transition-base), left var(--transition-base) !important;
}

nav a:hover::after,
.menu a:hover::after,
.main-navigation a:hover::after {
    width: 100% !important;
    left: 0 !important;
}

button,
input[type="submit"],
input[type="button"],
.button,
.btn,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    font-family: var(--font-body) !important;
    font-size: var(--text-sm) !important;
    font-weight: 300 !important;
    letter-spacing: var(--tracking-wider) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: var(--leading-none) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--space-2) !important;
    padding: var(--space-4) var(--space-8) !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all var(--transition-base) !important;
    white-space: nowrap !important;
}

button,
input[type="submit"],
.button,
.btn,
.btn-primary,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.single_add_to_cart_button,
.add_to_cart_button {
    background-color: var(--primary-700) !important;
    color: var(--neutral-0) !important;
    border-color: var(--primary-700) !important;
    box-shadow: var(--shadow-sm) !important;
}

button:hover,
input[type="submit"]:hover,
.button:hover,
.btn:hover,
.btn-primary:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover {
    background-color: var(--primary-800) !important;
    border-color: var(--primary-800) !important;
    color: var(--neutral-0) !important;
    box-shadow: var(--shadow-lg) !important;
    transform: translateY(-2px) !important;
}

button:active,
input[type="submit"]:active,
.button:active,
.btn:active,
.woocommerce a.button:active,
.woocommerce button.button:active {
    transform: translateY(0) !important;
    box-shadow: var(--shadow-sm) !important;
}

button:focus,
input[type="submit"]:focus,
.button:focus,
.btn:focus,
.woocommerce a.button:focus,
.woocommerce button.button:focus {
    outline: none !important;
    box-shadow: var(--shadow-sm), 0 0 0 3px rgb(29 40 76 / 0.2) !important;
}

.btn-secondary,
.button-secondary,
.woocommerce a.button.wc-forward:not(.checkout-button),
.woocommerce .widget_shopping_cart_content .buttons a:not(.checkout) {
    background-color: transparent !important;
    color: var(--primary-700) !important;
    border-color: var(--primary-300) !important;
}

.btn-secondary:hover,
.button-secondary:hover,
.woocommerce a.button.wc-forward:not(.checkout-button):hover,
.woocommerce .widget_shopping_cart_content .buttons a:not(.checkout):hover {
    background-color: var(--primary-700) !important;
    color: var(--neutral-0) !important;
    border-color: var(--primary-700) !important;
}

.btn-ghost,
.button-ghost {
    background-color: transparent !important;
    color: var(--primary-700) !important;
    border-color: transparent !important;
    padding: var(--space-2) var(--space-4) !important;
}

.btn-ghost:hover,
.button-ghost:hover {
    background-color: var(--neutral-100) !important;
    color: var(--primary-800) !important;
}

.btn-sm,
.button-small,
.woocommerce a.button.product_type_simple,
.woocommerce .widget_shopping_cart .buttons a {
    font-size: var(--text-xs) !important;
    padding: var(--space-2-5) var(--space-5) !important;
}

.btn-lg,
.button-large {
    font-size: var(--text-base) !important;
    padding: var(--space-5) var(--space-10) !important;
}

button:disabled,
.button:disabled,
.btn:disabled,
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

.button.loading,
.btn.loading,
.woocommerce a.button.loading {
    pointer-events: none !important;
    opacity: 0.7 !important;
}

.button.loading::after,
.btn.loading::after,
.woocommerce a.button.loading::after {
    content: '' !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid currentColor !important;
    border-right-color: transparent !important;
    border-radius: var(--radius-full) !important;
    animation: spin 0.6s linear infinite !important;
    margin-left: var(--space-2) !important;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

form {
    margin: 0 !important;
}

label,
.woocommerce form .form-row label {
    font-family: var(--font-body) !important;
    font-size: var(--text-sm) !important;
    font-weight: 500 !important;
    color: var(--primary-700) !important;
    display: block !important;
    margin-bottom: var(--space-2) !important;
}

label .required,
.woocommerce form .form-row .required {
    color: var(--error) !important;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
textarea,
select,
.woocommerce .input-text,
.woocommerce select,
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper textarea,
.select2-container--default .select2-selection--single {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    font-weight: 400 !important;
    line-height: var(--leading-normal) !important;
    color: var(--primary-800) !important;
    background-color: var(--neutral-0) !important;
    border: 1px solid var(--neutral-300) !important;
    border-radius: 0 !important;
    padding: var(--space-3) var(--space-4) !important;
    width: 100% !important;
    transition: border-color var(--transition-fast), 
                box-shadow var(--transition-fast) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--neutral-400) !important;
    opacity: 1 !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
textarea:focus,
select:focus,
.woocommerce .input-text:focus,
.woocommerce select:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
    outline: none !important;
    border-color: var(--primary-700) !important;
    box-shadow: 0 0 0 3px rgb(29 40 76 / 0.1) !important;
}

input[type="text"]:hover:not(:focus),
input[type="email"]:hover:not(:focus),
input[type="password"]:hover:not(:focus),
textarea:hover:not(:focus),
select:hover:not(:focus) {
    border-color: var(--neutral-400) !important;
}

input:invalid:not(:placeholder-shown),
.woocommerce form .form-row.woocommerce-invalid .input-text {
    border-color: var(--error) !important;
}

input:invalid:not(:placeholder-shown):focus,
.woocommerce form .form-row.woocommerce-invalid .input-text:focus {
    box-shadow: 0 0 0 3px rgb(239 68 68 / 0.15) !important;
}

.woocommerce form .form-row.woocommerce-validated .input-text {
    border-color: var(--success) !important;
}

textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

select,
.woocommerce select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231d284c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right var(--space-4) center !important;
    padding-right: var(--space-12) !important;
    cursor: pointer !important;
}

.select2-container--default .select2-selection--single {
    height: auto !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--primary-800) !important;
    padding-left: var(--space-4) !important;
    line-height: var(--leading-normal) !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: var(--space-4) !important;
}

.select2-dropdown {
    border: 1px solid var(--neutral-300) !important;
    border-radius: 0 !important;
    box-shadow: var(--shadow-lg) !important;
    margin-top: var(--space-1) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--primary-100) !important;
    color: var(--primary-800) !important;
}

.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true] {
    background-color: var(--primary-700) !important;
    color: var(--neutral-0) !important;
}

input[type="checkbox"],
input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-right: var(--space-2) !important;
    border: 2px solid var(--neutral-400) !important;
    background-color: var(--neutral-0) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
    vertical-align: middle !important;
    border-radius: 0 !important;
}

input[type="radio"] {
    border-radius: var(--radius-full) !important;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: var(--primary-700) !important;
    border-color: var(--primary-700) !important;
}

input[type="checkbox"]:checked::before {
    content: '' !important;
    position: absolute !important;
    top: 2px !important;
    left: 6px !important;
    width: 5px !important;
    height: 10px !important;
    border: solid var(--neutral-0) !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

input[type="radio"]:checked::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 8px !important;
    height: 8px !important;
    background-color: var(--neutral-0) !important;
    border-radius: var(--radius-full) !important;
    transform: translate(-50%, -50%) !important;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgb(29 40 76 / 0.15) !important;
}

.quantity,
.woocommerce .quantity {
    display: inline-flex !important;
    align-items: center !important;
}

.quantity input[type="number"],
.woocommerce .quantity .qty {
    width: 70px !important;
    text-align: center !important;
    padding: var(--space-2) var(--space-2) !important;
    -moz-appearance: textfield !important;
}

.quantity input[type="number"]::-webkit-inner-spin-button,
.quantity input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.form-row,
.woocommerce form .form-row {
    margin-bottom: var(--space-6) !important;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
    width: calc(50% - var(--space-3)) !important;
}

.woocommerce ul.products,
ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: var(--space-10) !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product,
ul.products li.product {
    background-color: var(--neutral-0) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    transition: transform var(--transition-base), 
                box-shadow var(--transition-base) !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
}

.woocommerce ul.products li.product::before,
ul.products li.product::before {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--shadow-xl) !important;
}

.woocommerce ul.products li.product a img,
ul.products li.product a img {
    width: 100% !important;
    height: 350px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    transition: transform var(--transition-slower) !important;
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.03) !important;
}

.woocommerce ul.products li.product > a:first-of-type,
ul.products li.product > a:first-of-type {
    display: block !important;
    overflow: hidden !important;
    position: relative !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .button {
    padding-left: var(--space-6) !important;
    padding-right: var(--space-6) !important;
}

bdi {
  font-family: var(--font-body);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-display) !important;
  font-size: var(--text-xl) !important;
    font-weight: 500 !important;
    color: var(--primary-700) !important;
    margin: var(--space-6) 0 var(--space-3) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: var(--leading-snug) !important;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: var(--font-display) !important;
    font-size: var(--text-2xl) !important;
    font-weight: 300 !important;
  color: var(--gold-500) !important;
    margin-bottom: var(--space-5) !important;
    letter-spacing: var(--tracking-tight) !important;
}

.woocommerce ul.products li.product .price {
  font-size: var(--text-sm);
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color: var(--neutral-400) !important;
    font-weight: 400 !important;
    font-size: var(--text-lg) !important;
    margin-right: var(--space-3) !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none !important;
    color: var(--gold-600) !important;
    font-weight: 600 !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    margin: 0 var(--space-6) var(--space-6) !important;
    width: calc(100% - var(--space-12)) !important;
}

.woocommerce span.onsale,
.onsale {
    position: absolute !important;
    top: var(--space-5) !important;
    left: var(--space-5) !important;
    right: auto !important;
    background-color: var(--gold-400) !important;
    color: var(--primary-800) !important;
    font-family: var(--font-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 700 !important;
    letter-spacing: var(--tracking-wider) !important;
    text-transform: uppercase !important;
    padding: var(--space-2) var(--space-4) !important;
    border-radius: 0 !important;
    line-height: var(--leading-none) !important;
    min-width: auto !important;
    min-height: auto !important;
    z-index: 10 !important;
}

.woocommerce ul.products li.product .stock,
.woocommerce div.product .stock,
.stock {
    font-family: var(--font-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: var(--tracking-wide) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--space-1-5) !important;
    margin-bottom: var(--space-4) !important;
    padding-left: var(--space-6) !important;
}

.woocommerce ul.products li.product .stock.in-stock,
.woocommerce div.product .stock.in-stock,
.stock.in-stock {
    color: var(--success-dark) !important;
}

.woocommerce ul.products li.product .stock.in-stock::before,
.woocommerce div.product .stock.in-stock::before,
.stock.in-stock::before {
    content: '' !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    background-color: var(--success) !important;
    border-radius: var(--radius-full) !important;
    box-shadow: 0 0 0 2px var(--success-light) !important;
}

.woocommerce ul.products li.product .stock.out-of-stock,
.woocommerce div.product .stock.out-of-stock,
.stock.out-of-stock {
    color: var(--error-dark) !important;
}

.woocommerce ul.products li.product .stock.out-of-stock::before,
.woocommerce div.product .stock.out-of-stock::before,
.stock.out-of-stock::before {
    content: '' !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    background-color: var(--error) !important;
    border-radius: var(--radius-full) !important;
    box-shadow: 0 0 0 2px var(--error-light) !important;
}

.single-product .page-header {
    display: none !important;
}

.woocommerce div.product,
.single-product div.product {
    display: block !important;
    max-width: var(--container-xl) !important;
    margin: 0 auto !important;
    padding: var(--space-16) var(--space-8) !important;
}

.woocommerce div.product.product-restructured {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    gap: var(--space-12) var(--space-16) !important;
    align-items: start !important;
}

.woocommerce div.product .product-gallery-col,
.woocommerce div.product.product-restructured .woocommerce-product-gallery,
.woocommerce div.product.product-restructured .images {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    float: none !important;
}

.woocommerce div.product .product-summary-col,
.woocommerce div.product.product-restructured .summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding-top: 0 !important;
    width: 100% !important;
    float: none !important;
    display: block !important;
}

.woocommerce div.product .product-summary-col h1,
.woocommerce div.product.product-restructured .summary h1,
.woocommerce div.product .summary .product_title {
    font-family: var(--font-display) !important;
    font-size: var(--text-4xl) !important;
    font-weight: 400 !important;
    color: var(--primary-700) !important;
    margin: 0 0 var(--space-6) 0 !important;
    padding: 0 !important;
    line-height: var(--leading-tight) !important;
}

.woocommerce div.product .summary p.price, .woocommerce div.product .summary > .price {
  font-family: var(--font-display) !important;
  font-size: var(--text-3xl) !important;
  font-weight: 300 !important;
  color: var(--gold-500) !important;
  margin-top: -1.4rem !important;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description {
    margin-bottom: var(--space-8) !important;
    padding-bottom: var(--space-8) !important;
    border-bottom: 1px solid var(--neutral-200) !important;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description p {
    font-size: var(--text-lg) !important;
    color: var(--neutral-600) !important;
    line-height: var(--leading-relaxed) !important;
    margin-bottom: 0 !important;
}

.woocommerce div.product .summary .stock.in-stock {
    color: var(--success-dark) !important;
    font-size: var(--text-xs) !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: var(--tracking-wide) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--space-2) !important;
    margin-bottom: var(--space-6) !important;
}

.woocommerce div.product .summary .stock.in-stock::before {
    content: '' !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    background-color: var(--success) !important;
    border-radius: var(--radius-full) !important;
}

.woocommerce div.product .summary form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: var(--space-4) !important;
    margin-bottom: var(--space-8) !important;
    padding: var(--space-6) !important;
    background-color: var(--neutral-50) !important;
}

.woocommerce div.product .summary form.cart .quantity {
    margin-right: 0 !important;
}

.woocommerce div.product .summary form.cart .single_add_to_cart_button {
    flex: 1 !important;
    min-width: 180px !important;
}

.woocommerce div.product .summary .product_meta {
    font-size: var(--text-sm) !important;
    color: var(--neutral-500) !important;
    border-top: 1px solid var(--neutral-200) !important;
    padding-top: var(--space-6) !important;
    margin-top: var(--space-6) !important;
}

.woocommerce div.product .summary .product_meta > span {
    display: block !important;
    margin-bottom: var(--space-2) !important;
}

.woocommerce div.product .summary .product_meta a {
    color: var(--primary-600) !important;
    font-weight: 500 !important;
}

.woocommerce div.product .product-bottom-row {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: 1.5fr 1fr !important;
    gap: var(--space-12) !important;
    margin-top: var(--space-8) !important;
    padding-top: var(--space-12) !important;
    border-top: 1px solid var(--neutral-200) !important;
}

.woocommerce div.product .product-tabs-col {
    grid-column: 1 !important;
}

.woocommerce div.product .product-related-col {
    grid-column: 2 !important;
}

.woocommerce div.product .woocommerce-tabs:not(.product-tabs-col) {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin-top: var(--space-8) !important;
    padding-top: var(--space-12) !important;
    border-top: 1px solid var(--neutral-200) !important;
}

.woocommerce div.product .related.products:not(.product-related-col),
.woocommerce div.product .upsells.products:not(.product-related-col) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin-top: var(--space-8) !important;
    padding-top: var(--space-12) !important;
    border-top: 1px solid var(--neutral-200) !important;
}

@media (max-width: 968px) {
    .woocommerce div.product,
    .single-product div.product,
    .woocommerce div.product.product-restructured {
        grid-template-columns: 1fr !important;
        gap: var(--space-8) !important;
        padding: var(--space-8) var(--space-5) !important;
    }
    
    .woocommerce div.product .product-gallery-col,
    .woocommerce div.product.product-restructured .woocommerce-product-gallery,
    .woocommerce div.product.product-restructured .images {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: relative !important;
        top: auto !important;
    }
    
    .woocommerce div.product .product-summary-col,
    .woocommerce div.product.product-restructured .summary {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }
    
    .woocommerce div.product .product-bottom-row {
        grid-column: 1 !important;
        grid-row: 3 !important;
        grid-template-columns: 1fr !important;
    }
    
    .woocommerce div.product .product-tabs-col,
    .woocommerce div.product .product-related-col {
        grid-column: 1 !important;
    }
}

.woocommerce div.product div.images,
.woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
}

.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
    box-shadow: var(--shadow-lg) !important;
}

.woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    gap: var(--space-4) !important;
    margin-top: var(--space-5) !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    width: 80px !important;
    margin: 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    border-radius: 0 !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    transition: border-color var(--transition-fast), 
                opacity var(--transition-fast) !important;
    opacity: 0.6 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img:hover,
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    border-color: var(--gold-400) !important;
    opacity: 1 !important;
}

.woocommerce div.product div.summary,
.woocommerce-product-details {
    width: 100% !important;
    float: none !important;
}

.woocommerce div.product .product_title {
    font-family: var(--font-display) !important;
    font-size: var(--text-4xl) !important;
    font-weight: 400 !important;
    color: var(--primary-700) !important;
    margin-bottom: var(--space-5) !important;
    line-height: var(--leading-tight) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: var(--text-3xl) !important;
    margin-bottom: var(--space-8) !important;
}

.woocommerce-product-details__short-description {
    margin-bottom: var(--space-10) !important;
    padding-bottom: var(--space-10) !important;
    border-bottom: 1px solid var(--neutral-200) !important;
}

.woocommerce-product-details__short-description p {
    font-size: var(--text-lg) !important;
    color: var(--neutral-600) !important;
    line-height: var(--leading-relaxed) !important;
}

.woocommerce div.product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: var(--space-5) !important;
    margin-bottom: var(--space-10) !important;
    padding: var(--space-8) !important;
    background-color: var(--neutral-50) !important;
    border-radius: 0 !important;
}

.woocommerce div.product form.cart .quantity {
    margin-right: 0 !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1 !important;
    min-width: 200px !important;
    padding: var(--space-5) var(--space-10) !important;
}

.woocommerce div.product .product_meta {
    font-size: var(--text-sm) !important;
    color: var(--neutral-500) !important;
    border-top: 1px solid var(--neutral-200) !important;
    padding-top: var(--space-8) !important;
    margin-top: var(--space-10) !important;
}

.woocommerce div.product .product_meta > span {
    display: block !important;
    margin-bottom: var(--space-3) !important;
}

.woocommerce div.product .product_meta a {
    color: var(--primary-600) !important;
    font-weight: 500 !important;
}

.woocommerce div.product .product_meta a:hover {
    color: var(--gold-500) !important;
}

.single-product-bottom {
    display: grid !important;
    grid-template-columns: 1.5fr 1fr !important;
    gap: var(--space-16) !important;
    padding-top: var(--space-16) !important;
    border-top: 1px solid var(--neutral-200) !important;
}

@media (max-width: 1024px) {
    .single-product-bottom {
        grid-template-columns: 1fr !important;
        gap: var(--space-12) !important;
    }
}

.woocommerce .star-rating,
.star-rating {
    color: var(--gold-400) !important;
    font-size: var(--text-sm) !important;
    height: 1em !important;
    line-height: 1 !important;
    margin-bottom: var(--space-3) !important;
}

.woocommerce .star-rating::before {
    color: var(--neutral-300) !important;
}

.woocommerce p.stars a {
    color: var(--gold-400) !important;
}

.woocommerce div.product .woocommerce-tabs {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: var(--space-1) !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 var(--space-10) !important;
    border-bottom: 1px solid var(--neutral-200) !important;
    overflow: visible !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    position: relative !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--font-body) !important;
    font-size: var(--text-sm) !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: var(--tracking-wide) !important;
    color: var(--neutral-500) !important;
    padding: var(--space-5) var(--space-7) !important;
    display: block !important;
    border-bottom: 2px solid transparent !important;
    transition: color var(--transition-fast), 
                border-color var(--transition-fast) !important;
    margin-bottom: -1px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--primary-700) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--primary-700) !important;
    border-bottom-color: var(--gold-400) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-size: var(--text-2xl) !important;
    margin-bottom: var(--space-8) !important;
}

.woocommerce #reviews #comments ol.commentlist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce #reviews #comments ol.commentlist li {
    padding: var(--space-8) !important;
    margin-bottom: var(--space-5) !important;
    background-color: var(--neutral-50) !important;
    border-radius: 0 !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: var(--radius-full) !important;
    border: 2px solid var(--neutral-0) !important;
    box-shadow: var(--shadow-md) !important;
}

.woocommerce #reviews #comments ol.commentlist li .meta {
    font-size: var(--text-sm) !important;
    color: var(--neutral-500) !important;
    margin-bottom: var(--space-4) !important;
}

.woocommerce #reviews #comments ol.commentlist li .meta strong {
    color: var(--primary-700) !important;
}

.woocommerce #review_form #respond {
    margin-top: var(--space-10) !important;
    padding: var(--space-10) !important;
    background-color: var(--neutral-50) !important;
    border-radius: 0 !important;
}

.woocommerce .related.products,
.woocommerce .upsells.products {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
    font-family: var(--font-display) !important;
    font-size: var(--text-2xl) !important;
    text-align: left !important;
    margin-bottom: var(--space-8) !important;
}

.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--space-5) !important;
}

.woocommerce .related.products ul.products li.product a img,
.woocommerce .upsells.products ul.products li.product a img {
    height: 180px !important;
}

.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title,
.woocommerce .upsells.products ul.products li.product .woocommerce-loop-product__title {
    font-size: var(--text-base) !important;
    padding-left: var(--space-4) !important;
    padding-right: var(--space-4) !important;
    margin: var(--space-4) 0 var(--space-2) !important;
}

.woocommerce .related.products ul.products li.product .price,
.woocommerce .upsells.products ul.products li.product .price {
    font-size: var(--text-lg) !important;
    padding-left: var(--space-4) !important;
    padding-right: var(--space-4) !important;
    margin-bottom: var(--space-4) !important;
}

.woocommerce .related.products ul.products li.product .button,
.woocommerce .upsells.products ul.products li.product .button {
    margin: 0 var(--space-4) var(--space-4) !important;
    width: calc(100% - var(--space-8)) !important;
    padding: var(--space-3) var(--space-4) !important;
    font-size: var(--text-xs) !important;
}

.woocommerce-cart .woocommerce {
    max-width: var(--container-xl) !important;
    margin: 0 auto !important;
    padding: var(--space-16) var(--space-8) !important;
}

.woocommerce table.shop_table,
.woocommerce-cart table.cart {
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 0 var(--space-5) !important;
    margin-bottom: var(--space-10) !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border: none !important;
    padding: var(--space-6) !important;
    vertical-align: middle !important;
}

.woocommerce table.shop_table thead th {
    font-family: var(--font-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: var(--tracking-wider) !important;
    color: var(--neutral-500) !important;
    background-color: transparent !important;
    padding-bottom: var(--space-5) !important;
    border-bottom: 1px solid var(--neutral-200) !important;
}

.woocommerce table.shop_table tbody tr {
    background-color: var(--neutral-0) !important;
    box-shadow: var(--shadow-sm) !important;
    border-radius: 0 !important;
}

.woocommerce table.shop_table tbody tr td:first-child {
    border-radius: 0 !important;
}

.woocommerce table.shop_table tbody tr td:last-child {
    border-radius: 0 !important;
}

.woocommerce table.cart img,
.woocommerce #content table.cart img {
    width: 100px !important;
    height: 100px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}

.woocommerce table.cart td.product-name a {
    font-family: var(--font-display) !important;
    font-size: var(--text-xl) !important;
    font-weight: 500 !important;
    color: var(--primary-700) !important;
}

.woocommerce table.cart td.product-name a:hover {
    color: var(--gold-500) !important;
}

.woocommerce a.remove {
    width: 32px !important;
    height: 32px !important;
    line-height: 30px !important;
    font-size: var(--text-lg) !important;
    color: var(--neutral-400) !important;
    background-color: var(--neutral-100) !important;
    border-radius: 0 !important;
    text-align: center !important;
    transition: all var(--transition-fast) !important;
}

.woocommerce a.remove:hover {
    color: var(--neutral-0) !important;
    background-color: var(--error) !important;
}

.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals {
    margin-top: var(--space-12) !important;
}

.woocommerce .cart_totals,
.woocommerce-cart .cart_totals {
    background-color: var(--neutral-50) !important;
    padding: var(--space-10) !important;
    border-radius: 0 !important;
}

.woocommerce .cart_totals h2 {
    font-family: var(--font-display) !important;
    font-size: var(--text-2xl) !important;
    margin-bottom: var(--space-8) !important;
}

.woocommerce .cart_totals table {
    border: none !important;
    margin-bottom: var(--space-8) !important;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
    border: none !important;
    padding: var(--space-4) 0 !important;
    border-bottom: 1px solid var(--neutral-200) !important;
}

.woocommerce .cart_totals table th {
    font-weight: 500 !important;
    color: var(--neutral-600) !important;
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
    font-size: var(--text-2xl) !important;
    font-weight: 700 !important;
    color: var(--primary-700) !important;
    border-bottom: none !important;
    padding-top: var(--space-5) !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;
    text-align: center !important;
    padding: var(--space-6) var(--space-10) !important;
    font-size: var(--text-base) !important;
}

.woocommerce .coupon {
    display: flex !important;
    gap: var(--space-4) !important;
    flex-wrap: wrap !important;
}

.woocommerce .coupon input[type="text"] {
    flex: 1 !important;
    min-width: 200px !important;
}

.woocommerce-cart .cart-empty {
    text-align: center !important;
    padding: var(--space-24) var(--space-8) !important;
    font-size: var(--text-xl) !important;
    color: var(--neutral-500) !important;
}

.woocommerce-cart .return-to-shop {
    text-align: center !important;
}

.woocommerce-checkout .woocommerce {
    max-width: var(--container-xl) !important;
    margin: 0 auto !important;
    padding: var(--space-16) var(--space-8) !important;
}

.woocommerce form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: var(--space-16) !important;
}

@media (max-width: 968px) {
    .woocommerce form.checkout {
        grid-template-columns: 1fr !important;
        gap: var(--space-10) !important;
    }
}

.woocommerce form.checkout #customer_details {
    grid-column: 1 !important;
}

.woocommerce form.checkout #order_review_heading,
.woocommerce form.checkout #order_review {
    grid-column: 2 !important;
}

@media (max-width: 968px) {
    .woocommerce form.checkout #customer_details,
    .woocommerce form.checkout #order_review_heading,
    .woocommerce form.checkout #order_review {
        grid-column: 1 !important;
    }
}

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    font-family: var(--font-display) !important;
    font-size: var(--text-2xl) !important;
    font-weight: 500 !important;
    color: var(--primary-700) !important;
    margin-bottom: var(--space-8) !important;
    padding-bottom: var(--space-5) !important;
    border-bottom: 1px solid var(--neutral-200) !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    margin-bottom: var(--space-10) !important;
}

.woocommerce-checkout #order_review {
    background-color: var(--neutral-50) !important;
    padding: var(--space-10) !important;
    border-radius: 0 !important;
    position: sticky !important;
    top: var(--space-8) !important;
}

.woocommerce-checkout-review-order-table {
    border: none !important;
    margin-bottom: var(--space-8) !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    border: none !important;
    padding: var(--space-4) 0 !important;
    border-bottom: 1px solid var(--neutral-200) !important;
}

.woocommerce-checkout-review-order-table thead th {
    font-size: var(--text-xs) !important;
    text-transform: uppercase !important;
    letter-spacing: var(--tracking-wider) !important;
    color: var(--neutral-500) !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-size: var(--text-2xl) !important;
    font-weight: 700 !important;
    color: var(--primary-700) !important;
    padding-top: var(--space-5) !important;
}

.woocommerce-checkout #payment {
    background-color: transparent !important;
    border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 var(--space-8) !important;
    border: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background-color: var(--neutral-0) !important;
    border: 1px solid var(--neutral-200) !important;
    border-radius: 0 !important;
    margin-bottom: var(--space-4) !important;
    padding: var(--space-5) !important;
    transition: border-color var(--transition-fast) !important;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: var(--neutral-300) !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
    display: flex !important;
    align-items: center !important;
    gap: var(--space-4) !important;
    cursor: pointer !important;
    font-weight: 500 !important;
}

.woocommerce-checkout #payment div.payment_box {
    background-color: var(--neutral-100) !important;
    border-radius: 0 !important;
    padding: var(--space-5) !important;
    margin-top: var(--space-4) !important;
    color: var(--neutral-600) !important;
    font-size: var(--text-sm) !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none !important;
}

.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    margin-top: var(--space-8) !important;
    padding: var(--space-6) var(--space-10) !important;
    font-size: var(--text-base) !important;
}

.woocommerce-account .woocommerce {
    max-width: var(--container-xl) !important;
    margin: 0 auto !important;
    padding: var(--space-16) var(--space-8) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 280px !important;
    float: left !important;
    margin-right: var(--space-16) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: var(--neutral-50) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: var(--space-5) var(--space-7) !important;
    color: var(--neutral-600) !important;
    font-weight: 500 !important;
    border-left: 3px solid transparent !important;
    transition: all var(--transition-fast) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: var(--neutral-100) !important;
    color: var(--primary-700) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: var(--neutral-0) !important;
    color: var(--primary-700) !important;
    border-left-color: var(--gold-400) !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    overflow: hidden !important;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: var(--space-10) !important;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: var(--space-2) !important;
        background-color: transparent !important;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        background-color: var(--neutral-100) !important;
        border-radius: 0 !important;
        border-left: none !important;
        padding: var(--space-3) var(--space-5) !important;
        font-size: var(--text-sm) !important;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        background-color: var(--primary-700) !important;
        color: var(--neutral-0) !important;
    }
}

.woocommerce-account .woocommerce-orders-table {
    font-size: var(--text-sm) !important;
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td {
    padding: var(--space-5) !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
    padding: var(--space-5) var(--space-6) !important;
    margin-bottom: var(--space-8) !important;
    border-radius: 0 !important;
    font-size: var(--text-sm) !important;
    display: flex !important;
    align-items: center !important;
    gap: var(--space-4) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    font-size: var(--text-lg) !important;
    margin-right: var(--space-3) !important;
}

.woocommerce-message {
    background-color: var(--success-light) !important;
    color: var(--success-dark) !important;
    border-left: 4px solid var(--success) !important;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
    background-color: var(--info-light) !important;
    color: var(--info-dark) !important;
    border-left: 4px solid var(--info) !important;
}

.woocommerce-error {
    background-color: var(--error-light) !important;
    color: var(--error-dark) !important;
    border-left: 4px solid var(--error) !important;
}

.woocommerce-error li {
    list-style: none !important;
}

.woocommerce-breadcrumb {
    font-family: var(--font-body) !important;
    font-size: var(--text-sm) !important;
    color: var(--neutral-500) !important;
    margin-bottom: var(--space-10) !important;
    padding: var(--space-5) 0 !important;
}

.woocommerce-breadcrumb a {
    color: var(--neutral-500) !important;
    text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover {
    color: var(--gold-500) !important;
}

.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination {
    text-align: center !important;
    margin-top: var(--space-16) !important;
}

.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex !important;
    gap: var(--space-2) !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul li {
    margin: 0 !important;
    border: none !important;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    font-size: var(--text-sm) !important;
    font-weight: 500 !important;
    color: var(--neutral-600) !important;
    background-color: var(--neutral-0) !important;
    border: 1px solid var(--neutral-200) !important;
    border-radius: 0 !important;
    transition: all var(--transition-fast) !important;
    text-decoration: none !important;
}

.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background-color: var(--neutral-100) !important;
    border-color: var(--neutral-300) !important;
    color: var(--primary-700) !important;
}

.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: var(--primary-700) !important;
    border-color: var(--primary-700) !important;
    color: var(--neutral-0) !important;
}

.widget,
.woocommerce .widget {
    margin-bottom: var(--space-12) !important;
}

.widget-title,
.woocommerce .widget h2,
.woocommerce .widget h3 {
    font-family: var(--font-display) !important;
    font-size: var(--text-xl) !important;
    font-weight: 500 !important;
    color: var(--primary-700) !important;
    margin-bottom: var(--space-6) !important;
    padding-bottom: var(--space-4) !important;
    border-bottom: 2px solid var(--gold-400) !important;
}

.woocommerce .widget_product_categories ul,
.woocommerce .widget_layered_nav ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce .widget_product_categories ul li,
.woocommerce .widget_layered_nav ul li {
    margin-bottom: var(--space-3) !important;
}

.woocommerce .widget_product_categories ul li a,
.woocommerce .widget_layered_nav ul li a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: var(--space-3) 0 !important;
    color: var(--neutral-600) !important;
    font-size: var(--text-sm) !important;
    border-bottom: 1px solid var(--neutral-100) !important;
    transition: color var(--transition-fast) !important;
}

.woocommerce .widget_product_categories ul li a:hover,
.woocommerce .widget_layered_nav ul li a:hover {
    color: var(--gold-500) !important;
}

.woocommerce .widget_product_categories ul li .count,
.woocommerce .widget_layered_nav ul li .count {
    font-size: var(--text-xs) !important;
    color: var(--neutral-400) !important;
    background-color: var(--neutral-100) !important;
    padding: var(--space-1) var(--space-2) !important;
    border-radius: 0 !important;
}

.woocommerce .widget_price_filter .price_slider_wrapper {
    padding-top: var(--space-5) !important;
}

.woocommerce .widget_price_filter .ui-slider {
    background-color: var(--neutral-200) !important;
    height: 4px !important;
    border-radius: var(--radius-full) !important;
    border: none !important;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background-color: var(--gold-200) !important;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    width: 20px !important;
    height: 20px !important;
    background-color: var(--neutral-0) !important;
    border: 2px solid var(--gold-400) !important;
    border-radius: var(--radius-full) !important;
    top: -8px !important;
    cursor: pointer !important;
    box-shadow: var(--shadow-md) !important;
}

.woocommerce .widget_price_filter .price_slider_amount {
    margin-top: var(--space-5) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: var(--space-5) !important;
}

.woocommerce .widget_price_filter .price_slider_amount .price_label {
    font-size: var(--text-sm) !important;
    color: var(--neutral-600) !important;
}

.woocommerce .widget_shopping_cart .cart_list,
.woocommerce.widget_shopping_cart .cart_list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce .widget_shopping_cart .cart_list li,
.woocommerce.widget_shopping_cart .cart_list li {
    display: flex !important;
    gap: var(--space-4) !important;
    padding: var(--space-4) 0 !important;
    border-bottom: 1px solid var(--neutral-100) !important;
}

.woocommerce .widget_shopping_cart .cart_list li img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}

.woocommerce .widget_shopping_cart .total {
    padding: var(--space-5) 0 !important;
    font-weight: 600 !important;
    border-top: 1px solid var(--neutral-200) !important;
    margin-top: var(--space-5) !important;
}

.woocommerce .widget_shopping_cart .buttons {
    display: flex !important;
    gap: var(--space-4) !important;
}

.woocommerce .widget_shopping_cart .buttons a {
    flex: 1 !important;
}

.cart-contents,
.site-header-cart,
.woocommerce-cart-count {
    position: relative !important;
}

.cart-contents-count,
.woocommerce-cart-count,
.count {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    background-color: var(--gold-400) !important;
    color: var(--primary-800) !important;
    font-size: var(--text-xs) !important;
    font-weight: 700 !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    text-align: center !important;
    border-radius: var(--radius-full) !important;
    padding: 0 var(--space-1) !important;
}

.woocommerce-ordering {
    margin-bottom: var(--space-10) !important;
}

.woocommerce-ordering select {
    min-width: 220px !important;
}

.woocommerce-result-count {
    font-size: var(--text-sm) !important;
    color: var(--neutral-500) !important;
    margin-bottom: var(--space-5) !important;
}

.prdctfltr_wc,
.prdctfltr_woocommerce {
    margin-bottom: var(--space-10) !important;
}

.prdctfltr_filter {
    margin-bottom: var(--space-8) !important;
}

.prdctfltr_filter .pf-help-title h3 {
    font-family: var(--font-display) !important;
    font-size: var(--text-lg) !important;
    font-weight: 500 !important;
    color: var(--primary-700) !important;
    margin-bottom: var(--space-4) !important;
    padding-bottom: var(--space-3) !important;
    border-bottom: 2px solid var(--gold-400) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.prdctfltr_filter .pf-help-title h3 span,
.prdctfltr_widget_title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

.prdctfltr-down {
    font-size: var(--text-sm) !important;
    color: var(--neutral-400) !important;
    transition: transform var(--transition-fast) !important;
}

.prdctfltr_checkboxes {
    padding: var(--space-4) 0 !important;
}

.prdctfltr_checkboxes label {
    display: flex !important;
    align-items: center !important;
    padding: var(--space-2-5) 0 !important;
    font-size: var(--text-sm) !important;
    color: var(--neutral-600) !important;
    cursor: pointer !important;
    transition: color var(--transition-fast) !important;
    margin-bottom: 0 !important;
}

.prdctfltr_checkboxes label:hover {
    color: var(--primary-700) !important;
}

.prdctfltr_checkboxes label input[type="checkbox"] {
    margin-right: var(--space-3) !important;
}

.prdctfltr_checkboxes label span {
    flex: 1 !important;
}

.prdctfltr_buttons {
    padding: var(--space-5) 0 !important;
    border-top: 1px solid var(--neutral-200) !important;
    margin-top: var(--space-4) !important;
}

.prdctfltr_buttons label {
    display: flex !important;
    align-items: center !important;
    font-size: var(--text-sm) !important;
    color: var(--neutral-600) !important;
    cursor: pointer !important;
    margin-bottom: var(--space-3) !important;
}

.prdctfltr_sale,
.prdctfltr_instock {
    display: block !important;
    margin-bottom: var(--space-3) !important;
}

.prdctfltr_add_scroll {
    max-height: 250px !important;
    overflow-y: auto !important;
}

.prdctfltr_add_scroll::-webkit-scrollbar {
    width: 6px !important;
}

.prdctfltr_add_scroll::-webkit-scrollbar-track {
    background: var(--neutral-100) !important;
}

.prdctfltr_add_scroll::-webkit-scrollbar-thumb {
    background: var(--neutral-300) !important;
}

.prdctfltr_add_scroll::-webkit-scrollbar-thumb:hover {
    background: var(--neutral-400) !important;
}

.woocommerce_product_search form,
.widget_product_search form {
    display: flex !important;
    gap: var(--space-3) !important;
}

.woocommerce_product_search .search-field,
.widget_product_search .search-field {
    flex: 1 !important;
}

.woocommerce_product_search button,
.widget_product_search button {
    padding: var(--space-3) var(--space-5) !important;
}

.filter-toggle-btn,
.mobile-filter-toggle,
[class*="filter-toggle"],
[class*="mobile-filter"],
button[data-toggle="filterCollapse"],
.filter-button-mobile {
    display: none !important;
}

@media (max-width: 768px) {
    .filter-toggle-btn,
    .mobile-filter-toggle,
    [class*="filter-toggle"],
    [class*="mobile-filter"],
    button[data-toggle="filterCollapse"],
    .filter-button-mobile {
        display: inline-flex !important;
    }
}

.container,
.site-content,
.content-area {
    max-width: var(--container-2xl) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--space-8) !important;
    padding-right: var(--space-8) !important;
    width: 100% !important;
}

.woocommerce-shop .site-main,
.archive .site-main {
    max-width: var(--container-2xl) !important;
    margin: 0 auto !important;
    padding: var(--space-16) var(--space-8) !important;
}

.site-header,
header {
    background-color: var(--neutral-0) !important;
    border-bottom: 0px solid var(--neutral-100) !important;
/*    position: sticky !important;
    top: 0 !important;
    z-index: var(--z-sticky) !important;*/
}

.site-header .container,
header .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: var(--space-2) !important;
    padding-bottom: var(--space-2) !important;
}

.site-logo,
.custom-logo-link,
.site-title {
    font-family: var(--font-display) !important;
    font-size: var(--text-2xl) !important;
    font-weight: 500 !important;
    color: var(--primary-700) !important;
    text-decoration: none !important;
    letter-spacing: var(--tracking-tight) !important;
}

.custom-logo {
    max-height: 70px !important;
    width: auto !important;
}

.site-footer,
footer {
    background-color: var(--primary-700) !important;
    color: var(--neutral-200) !important;
    padding: var(--space-20) 0 var(--space-10) !important;
    margin-top: var(--space-24) !important;
}

.site-footer a,
footer a {
    color: var(--neutral-200) !important;
    transition: color var(--transition-fast) !important;
}

.site-footer a:hover,
footer a:hover {
    color: var(--gold-400) !important;
}

.site-footer h3,
.site-footer h4,
footer h3,
footer h4 {
    font-family: var(--font-display) !important;
    color: var(--neutral-0) !important;
    font-size: var(--text-lg) !important;
    margin-bottom: var(--space-5) !important;
}

.site-footer p,
footer p {
    color: var(--neutral-300) !important;
    font-size: var(--text-sm) !important;
}

.footer-widgets {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: var(--space-12) !important;
    margin-bottom: var(--space-16) !important;
}

.site-info,
.footer-bottom {
    padding-top: var(--space-10) !important;
    border-top: 1px solid var(--primary-600) !important;
    text-align: center !important;
    font-size: var(--text-sm) !important;
    color: var(--neutral-400) !important;
}

.text-primary { color: var(--primary-700) !important; }
.text-gold { color: var(--gold-400) !important; }
.text-muted { color: var(--neutral-500) !important; }

.bg-primary { background-color: var(--primary-700) !important; }
.bg-gold { background-color: var(--gold-400) !important; }
.bg-light { background-color: var(--neutral-50) !important; }

.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }

.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

.screen-reader-text,
.sr-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;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn var(--transition-slow) ease-out !important;
}

@media (max-width: 768px) {
    :root {
        --text-5xl: 2.5rem;
        --text-6xl: 3rem;
        --text-7xl: 3.5rem;
    }
    
    h1, .h1 {
        font-size: var(--text-4xl) !important;
    }
    
    h2, .h2 {
        font-size: var(--text-3xl) !important;
    }
    
    h3, .h3,
    .product_title {
        font-size: var(--text-2xl) !important;
    }
    
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--space-5) !important;
    }
    
    .woocommerce ul.products li.product a img {
        height: 260px !important;
    }
    
    .woocommerce a.button,
    .woocommerce button.button {
        width: 100% !important;
    }
    
    .single-product-bottom {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
    
    .woocommerce ul.products li.product a img {
        height: 300px !important;
    }
    
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce,
    .woocommerce-account .woocommerce {
        padding: var(--space-8) var(--space-5) !important;
    }
}

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    a, a:visited {
        text-decoration: underline !important;
    }
    
    .site-header,
    .site-footer,
    .woocommerce-ordering,
    .woocommerce-pagination,
    nav {
        display: none !important;
    }
}

.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) .variable-item-span, .woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) img {
    border-radius: 0 !important;
}


@media (min-width: 992px) {
  header > div.wrapper {
    min-height: auto;
  }


.shop_uspbar .container {
  width: 100% !important;
  max-width: 1920px !important;
  margin: 0 1rem;
}

.usp-bar {
  width: 100%;
}

 header div.header div.holder {
   min-height: 100px;
 }

header div.header div.holder {
    height: auto;
  }

.header.full-width .container {
width: 100% !important;
max-width: 99vw !important;
}
.row.no-gutter {
width: 100%;
}
.header.full-width .container {
  width: 100% !important;
  max-width: 1920px !important;
  margin: 0 1rem;
}
.menu-primaire-navigatie-container {
  text-align: right;
}

}

.products.columns-4::before {
display: none;
}

/* === Filter button only on mobile (category pages) === */
/* The "Filteren" trigger is marked hidden-md/hidden-lg but those utilities don't apply here.
   Explicitly hide it on >=992px. The sidebar with filters is already visible on desktop. */
@media (min-width: 992px) {
    .btn.hidden-md.hidden-lg {
        display: none !important;
    }
}

/* === Lagratcia layout fixes (sessie 2026-04-30) === */
/* Webshop & archive: meer kolommen op desktop */
@media (min-width: 992px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
  }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}
@media (min-width: 1300px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
/* Iets minder ruim productcard padding op desktop */
@media (min-width: 992px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.95rem;
  }
}
/* Filters/sidebar iets compacter */
@media (min-width: 992px) {
  .woocommerce-shop .col-md-14,
  .tax-product_cat .col-md-14 {
    padding-right: var(--space-14) !important;
  }
}
/* === einde Lagratcia layout fixes === */

/* Productcard knoppen: kleinere padding bij smalle cards zodat lange tekst (TOEVOEGEN AAN WINKELWAGEN) past */
@media (min-width: 992px) {
  .woocommerce ul.products li.product .button {
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 11px !important;
    width: 100%;
    box-sizing: border-box;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
}

/* === Webshop layout fixes (Salonsite™) === */
/* Forceer vierkante product-thumbnails (override matchHeight inline height) */
.woocommerce ul.products li.product .thumbnail-wrapper {
    height: auto !important;
    aspect-ratio: 1 / 1;
    width: 100%;
    overflow: hidden;
    background: #fafafa;
    display: block !important;
}
.woocommerce ul.products li.product .thumbnail-wrapper img,
.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block;
}

/* Voorkom 4 kolommen wanneer de zijbalk er ook is — anders worden producten te smal */
@media (min-width: 1300px) {
    .sidebar-primary.woocommerce ul.products,
    .sidebar-primary.woocommerce-page ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
/* Op zeer brede schermen mag het wel weer 4 kolommen worden */
@media (min-width: 1700px) {
    .sidebar-primary.woocommerce ul.products,
    .sidebar-primary.woocommerce-page ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* Productkaart typografie: titel iets compacter */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 17px !important;
    line-height: 1.3 !important;
    padding: 0 18px !important;
    margin-top: 14px !important;
    margin-bottom: 6px !important;
}

/* Prijs iets compacter */
.woocommerce ul.products li.product .price {
    font-size: 19px !important;
    line-height: 1.2 !important;
    padding: 0 18px !important;
    margin-bottom: 10px !important;
    height: auto !important;
}

/* Productknop: nettere look, gelijke hoogtes, mag wrappen indien nodig */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
    padding: 12px 14px !important;
    height: auto !important;
    min-height: 44px;
    line-height: 1.3 !important;
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    margin: 6px 18px 18px !important;
    box-sizing: border-box;
    text-align: center;
    font-weight: 600 !important;
    white-space: normal !important;
    overflow: visible !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: background-color .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product .button:hover {
    background-color: #2a3a6a !important;
    transform: translateY(-1px);
}

/* === Webshop topbar styling === */
.shop_topbar {
    background-color: #f4efeb !important;
    padding: 8px 0 !important;
    font-size: 13px;
    border-bottom: 1px solid rgba(29, 40, 76, 0.08);
}
.shop_topbar > .container {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 28px !important;
    text-align: right !important;
}
.shop_topbar a {
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    color: #1d284c !important;
    text-decoration: none;
    transition: opacity .2s ease;
    line-height: 1;
}
.shop_topbar a:hover {
    opacity: 0.7;
}
.shop_topbar i {
    font-size: 16px;
}
.shop_topbar .cartcountericon {
    display: inline-flex;
    align-items: center;
    position: relative;
}
.shop_topbar .cartcounter {
    background: #1d284c !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: -8px;
    right: -8px;
    margin: 0 !important;
}

/* === Single blogpost: zijbalk uit, content gecentreerd === */
body.single-post main .col-md-14.col-md-offset-2 { display: none !important; }
body.single-post main .col-md-32 {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
body.single-post main .breadcrumbs {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
/* === einde single blogpost === */

/* === Cart & Checkout: card-style WooCommerce === */
:root {
  --lg-cc-border: #e5e1d8;
  --lg-cc-bg-soft: #faf7f2;
  --lg-cc-radius: 8px;
  --lg-cc-accent: #1a2240;
  --lg-cc-gold: #c9a961;
}

/* ---- CART ---- */
body.woocommerce-cart .woocommerce-cart-form .shop_table {
  border: 1px solid var(--lg-cc-border) !important;
  border-radius: var(--lg-cc-radius);
  overflow: hidden;
  background: #fff;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table th {
  background: var(--lg-cc-bg-soft) !important;
  border-bottom: 1px solid var(--lg-cc-border);
  padding: 14px 12px;
  font-size: 12px;
  letter-spacing: .08em;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table td {
  padding: 18px 12px !important;
  border-top: 1px solid var(--lg-cc-border);
  vertical-align: middle;
  background: #fff !important;
}
body.woocommerce-cart .product-thumbnail img {
  width: 70px !important;
  height: 70px !important;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--lg-cc-border);
}
body.woocommerce-cart .product-thumbnail a { display: inline-block; }
body.woocommerce-cart .product-name a {
  font-weight: 500;
  color: var(--lg-cc-accent) !important;
}
body.woocommerce-cart .product-name a:hover { color: var(--lg-cc-gold) !important; }
body.woocommerce-cart td.product-remove a.remove {
  width: 28px !important;
  height: 28px !important;
  line-height: 26px !important;
  border-radius: 50% !important;
  background: var(--lg-cc-bg-soft) !important;
  color: var(--lg-cc-accent) !important;
  font-size: 18px !important;
  border: 1px solid var(--lg-cc-border) !important;
  text-decoration: none !important;
  transition: all .15s;
  font-weight: 400 !important;
}
body.woocommerce-cart td.product-remove a.remove:hover {
  background: #c0392b !important;
  color: #fff !important;
  border-color: #c0392b !important;
}
body.woocommerce-cart .quantity input.qty {
  width: 64px !important;
  padding: 8px;
  border: 1px solid var(--lg-cc-border) !important;
  border-radius: 4px;
  text-align: center;
  font-size: 14px;
  height: auto !important;
}
body.woocommerce-cart .coupon {
  display: flex !important;
  gap: 10px;
  align-items: center;
}
body.woocommerce-cart .coupon input.input-text {
  padding: 10px 14px !important;
  border: 1px solid var(--lg-cc-border) !important;
  border-radius: 6px !important;
  height: auto !important;
  width: 200px !important;
  box-sizing: border-box;
  margin: 0 !important;
}
body.woocommerce-cart .coupon button { margin: 0 !important; }
body.woocommerce-cart .actions { background: var(--lg-cc-bg-soft) !important; }
body.woocommerce-cart button[name="update_cart"] {
  background: #fff !important;
  color: var(--lg-cc-accent) !important;
  border: 1px solid var(--lg-cc-accent) !important;
  opacity: 1 !important;
}
body.woocommerce-cart button[name="update_cart"]:hover {
  background: var(--lg-cc-accent) !important;
  color: #fff !important;
}
body.woocommerce-cart button[name="update_cart"][disabled],
body.woocommerce-cart button[name="update_cart"]:disabled {
  background: #fff !important;
  color: #b6b6b6 !important;
  border-color: #d8d8d8 !important;
  cursor: not-allowed;
}
body.woocommerce-cart .cart-collaterals {
  display: flex !important;
  justify-content: flex-end;
  margin-top: 24px;
}
body.woocommerce-cart .cart_totals {
  width: 420px !important;
  max-width: 100%;
  background: #fff !important;
  border: 1px solid var(--lg-cc-border) !important;
  border-radius: var(--lg-cc-radius) !important;
  padding: 24px 28px !important;
  float: none !important;
}
body.woocommerce-cart .cart_totals h2 {
  font-size: 1.25rem !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--lg-cc-border);
}
body.woocommerce-cart .cart_totals .shop_table {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
}
body.woocommerce-cart .cart_totals .shop_table th,
body.woocommerce-cart .cart_totals .shop_table td {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--lg-cc-border) !important;
  background: transparent !important;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
  border-bottom: none !important;
  padding-top: 16px !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding: 16px 0 0 !important;
  margin: 0 !important;
}
body.woocommerce-cart .cart_totals .checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  text-align: center;
  font-size: 14px;
  letter-spacing: .05em;
  margin: 0 !important;
}
@media (max-width: 768px) {
  body.woocommerce-cart .cart_totals { width: 100% !important; }
  body.woocommerce-cart .coupon { flex-wrap: wrap; }
  body.woocommerce-cart .coupon input.input-text { width: 100% !important; }
}

/* ---- CHECKOUT ---- */
@media (min-width: 992px) {
  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid;
    grid-template-columns: 1fr minmax(360px, 460px);
    grid-template-areas:
      "coupon coupon"
      "login login"
      "customer review-h"
      "customer review";
    column-gap: 32px;
    align-items: start;
  }
  body.woocommerce-checkout form.checkout > #customer_details { grid-area: customer; }
  body.woocommerce-checkout form.checkout > #order_review_heading { grid-area: review-h; margin-top: 0; }
  body.woocommerce-checkout form.checkout > #order_review { grid-area: review; position: sticky; top: 100px; }
  body.woocommerce-checkout form.checkout > .woocommerce-form-coupon-toggle { grid-area: coupon; }
  body.woocommerce-checkout form.checkout > .woocommerce-form-coupon { grid-area: coupon; }
  body.woocommerce-checkout form.checkout > .woocommerce-form-login-toggle { grid-area: login; }
  body.woocommerce-checkout form.checkout > .woocommerce-form-login { grid-area: login; }
  body.woocommerce-checkout #customer_details > .col-1,
  body.woocommerce-checkout #customer_details > .col-2 {
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 8px;
  }
  body.woocommerce-checkout #customer_details > .col-2 {
    margin-top: 24px;
    padding-top: 24px !important;
    border-top: 1px solid var(--lg-cc-border);
  }
}
body.woocommerce-checkout #customer_details {
  background: #fff !important;
  border: 1px solid var(--lg-cc-border) !important;
  border-radius: var(--lg-cc-radius) !important;
  padding: 28px !important;
}
body.woocommerce-checkout #customer_details h3 {
  font-size: 1.25rem;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--lg-cc-border);
}
body.woocommerce-checkout #customer_details > .col-2 h3 { font-size: 1.1rem; }
body.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
  background: #fff !important;
  padding: 24px 28px !important;
  border: 1px solid var(--lg-cc-border) !important;
  border-radius: var(--lg-cc-radius) !important;
}
body.woocommerce-checkout form.checkout > #order_review_heading {
  font-size: 1.25rem;
  margin: 0 0 12px;
  padding: 0;
  border: none;
}
body.woocommerce-checkout form.checkout > .woocommerce-form-coupon-toggle { margin-bottom: 24px; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: var(--lg-cc-bg-soft);
  border-left: 3px solid var(--lg-cc-gold);
  color: var(--lg-cc-accent);
  padding: 12px 16px;
  border-radius: 4px;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  color: var(--lg-cc-gold);
}
body.woocommerce-checkout .form-row label {
  display: block;
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 6px;
}
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  padding: 10px 12px;
  border: 1px solid var(--lg-cc-border);
  border-radius: 6px;
  font-size: 14px;
  background: #fff;
  height: auto;
  min-height: 42px;
  box-sizing: border-box;
  transition: border-color .15s;
}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus {
  outline: none;
  border-color: var(--lg-cc-accent);
  box-shadow: 0 0 0 3px rgba(26, 34, 64, .08);
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 40px;
  padding-left: 0;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px;
}
body.woocommerce-checkout #customer_details .form-row { margin-bottom: 14px; }
body.woocommerce-checkout #customer_details .form-row-first { width: 48%; float: left; }
body.woocommerce-checkout #customer_details .form-row-last { width: 48%; float: right; }
body.woocommerce-checkout #order_review .shop_table {
  border: none;
  margin-bottom: 16px;
  background: transparent;
}
body.woocommerce-checkout #order_review .shop_table th,
body.woocommerce-checkout #order_review .shop_table td {
  padding: 12px 8px;
  border-bottom: 1px solid var(--lg-cc-border);
  background: transparent;
}
body.woocommerce-checkout #order_review .shop_table tfoot .order-total { font-size: 1.1rem; }
body.woocommerce-checkout #order_review .cart_item .product-name { font-weight: 500; }
body.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
}
body.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: none;
  padding: 0;
  margin: 0 0 16px;
  list-style: none;
}
body.woocommerce-checkout #payment ul.payment_methods li {
  border: 1px solid var(--lg-cc-border);
  border-radius: 6px;
  padding: 14px 16px;
  margin: 0 0 10px;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
  border-color: var(--lg-cc-accent);
  box-shadow: 0 0 0 2px rgba(26, 34, 64, .08);
}
body.woocommerce-checkout #payment ul.payment_methods li label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  margin-bottom: 0;
}
body.woocommerce-checkout #payment ul.payment_methods li label img {
  vertical-align: middle;
  max-height: 24px;
  width: auto;
}
body.woocommerce-checkout #payment ul.payment_methods li::before { display: none; }
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { margin-right: 6px; }
body.woocommerce-checkout #payment .payment_box {
  background: var(--lg-cc-bg-soft) !important;
  border-radius: 6px;
  margin-top: 10px;
  padding: 12px 14px;
  font-size: 13px;
}
body.woocommerce-checkout #payment .payment_box::before { display: none; }
body.woocommerce-checkout #payment .form-row.place-order { margin-top: 16px; padding: 0; }
body.woocommerce-checkout #payment .terms { margin: 12px 0; font-size: 13px; }
body.woocommerce-checkout #place_order {
  width: 100%;
  padding: 14px 20px;
  font-size: 14px;
  letter-spacing: .05em;
}
div.breadcrumbs {
  display: none !important;
}
@media (max-width: 991px) {

.woocommerce div.product .product-bottom-row {
  border-top: none !important;
}

.woocommerce-product-gallery__trigger {
  z-index: 10 !important;
}

.hero {
  min-height: 420px;
  height: auto !important;
}

.hero__content {
  margin-bottom: 0 !important;
}
  body.woocommerce-checkout #customer_details .form-row-first,
  body.woocommerce-checkout #customer_details .form-row-last { width: 100%; float: none; }
}
/* === einde Cart & Checkout === */

.usp-bar__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
  justify-content: space-between;
    gap: 1.5rem;
}

.usp-bar__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

/* === Slider: alleen mobiel === */
@media (max-width: 768px) {
    .usp-bar {
        overflow: hidden;
    }

    .usp-bar__list {
        display: grid;
        gap: 0;
    }

    .usp-bar__item {
        grid-column: 1;
        grid-row: 1;
        opacity: 0;
        animation: usp-bar-fade 12s infinite;
        animation-fill-mode: both;
    }

    .usp-bar__item:nth-child(1) { animation-delay: 0s;  }
    .usp-bar__item:nth-child(2) { animation-delay: 3s;  }
    .usp-bar__item:nth-child(3) { animation-delay: 6s;  }
    .usp-bar__item:nth-child(4) { animation-delay: 9s; }

    @keyframes usp-bar-fade {
        0%   { opacity: 0; }
        2%   { opacity: 1; }
        23%  { opacity: 1; }
        25%  { opacity: 0; }
        100% { opacity: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
        .usp-bar__list {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
        }
        .usp-bar__item {
            opacity: 1;
            animation: none;
        }
    }
}

/* ==========================================================================
   Filter drawer (mobiel) — opent #filterCollapse als slide-in overlay
   i.p.v. inline openklappen dat de pagina verschuift.
   Dit thema gebruikt Bootstrap 3, dus de open-class is .in (niet .show).
   Alleen actief onder 992px; desktop-gedrag ongewijzigd.
   ========================================================================== */
@media (max-width: 991.98px) {

    /* Bootstrap collapse animatie uitschakelen op mobiel: we nemen het over */
    #filterCollapse {
        transition: none !important;
    }

    /* Drawer-styling: standaard uit beeld rechts, ongeacht .collapse / .collapsing / .in */
    #filterCollapse.collapse,
    #filterCollapse.collapsing,
    #filterCollapse.collapse.in {
        display: block !important;
        height: auto !important;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        right: auto;
        width: min(90vw, 360px);
        max-width: 100%;
        background: var(--neutral-0, #fff);
        box-shadow: var(--shadow-lg, 10px 0 30px rgba(15,20,40,.15));
        z-index: 1060;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 2rem;
        transform: translateX(-100%);
        transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
        visibility: hidden;
    }

    body.filter-drawer-open #filterCollapse.collapse,
    body.filter-drawer-open #filterCollapse.collapse.in {
        transform: translateX(0);
        visibility: visible;
    }

    /* Sticky header in drawer: zoekbalk + sluitknop naast elkaar, blijven in beeld bij scrollen */
    .filter-drawer-header {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.75rem 1rem;
        background: var(--neutral-0, #fff);
        border-bottom: 1px solid var(--neutral-200, #e8e8e4);
    }
    .filter-drawer-header .widget_product_search {
        flex: 0 0 auto;
        width: 200px;
        max-width: 60%;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent;
        border: 0;
    }
    .filter-drawer-header .widget_product_search form {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .filter-drawer-header .widget_product_search .search-field,
    .filter-drawer-header .widget_product_search input[type="search"] {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
        margin: 0;
    }
    /* Mobiel: container padding inkorten zodat producten meer ruimte krijgen */
    .woocommerce .container,
    .woocommerce-page .container,
    main .container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
    /* 2 producten naast elkaar op mobiel */
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    ul.products {
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem 0.75rem !important;
    }
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    ul.products > li.product {
        width: auto !important;
        max-width: 100% !important;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }
    /* Compactere typografie binnen 2-koloms productkaart */
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    ul.products li.product .woocommerce-loop-product__title,
    ul.products li.product h2,
    ul.products li.product h3 {
        font-size: 0.875rem !important;
        line-height: 1.3 !important;
        margin: 0.5rem 0 0.25rem !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 2.6em;
    }
    .woocommerce ul.products li.product .price,
    ul.products li.product .price {
        font-size: 0.95rem !important;
        line-height: 1.2 !important;
        margin: 0 0 0.5rem !important;
    }
    .woocommerce ul.products li.product .price .amount,
    ul.products li.product .price .amount,
    ul.products li.product .price bdi {
        font-size: inherit !important;
    }
    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .add_to_cart_button,
    ul.products li.product .button {
        font-size: 0.7rem !important;
        padding: 0.5rem 0.5rem !important;
        line-height: 1.2 !important;
        width: 100% !important;
        white-space: normal;
        min-height: 0 !important;
    }
    .woocommerce ul.products li.product img,
    ul.products li.product img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }
    .filter-drawer-header .woocommerce-product-search {
        display: flex;
        gap: 0.25rem;
        align-items: stretch;
        margin: 0;
        min-width: 0;
    }
    .filter-drawer-header .woocommerce-product-search .search-field {
        flex: 1 1 auto;
        min-width: 0;
        height: 2.5rem;
        padding: 0 0.625rem;
        border: 1px solid var(--neutral-300, #d6d6d0);
        background: var(--neutral-0, #fff);
        font: inherit;
    }
    .filter-drawer-header .woocommerce-product-search button[type="submit"] {
        /* Verberg de submit-knop op mobiel: gebruiker drukt Enter om te zoeken.
           Visueel weg, maar bereikbaar voor screenreaders/Enter-keypress. */
        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;
    }

    /* Body: ruimte rondom de overige filters */
    .filter-drawer-body {
        padding: 1rem 1.25rem 0;
    }

    /* Sluitknop (compact, naast zoekbalk) */
    .filter-drawer-close {
        flex: 0 0 auto;
        position: static;
        width: 2.5rem;
        height: 2.5rem;
        border: 0 !important;
        background: transparent !important;
        color: var(--primary-800, #161e3a) !important;
        box-shadow: none !important;
        font-size: 1.5rem;
        line-height: 1;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0 !important;
        padding: 0;
    }
    .filter-drawer-close:hover,
    .filter-drawer-close:focus {
        color: var(--gold-500, #bfa52a);
        outline: none;
    }
    .filter-drawer-close::before {
        content: "\00d7";
        font-family: var(--font-body, sans-serif);
        font-weight: 400;
        font-size: 2rem;
    }

    /* Backdrop */
    body.filter-drawer-open::after {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(15, 20, 40, 0.45);
        z-index: 1055;
        animation: filter-drawer-fade-in 200ms ease both;
    }

    /* Body scroll-lock terwijl drawer open is */
    body.filter-drawer-open {
        overflow: hidden;
    }

    @keyframes filter-drawer-fade-in {
        from { opacity: 0; }
        to   { opacity: 1; }
    }

    /* === Mobile horizontal overflow fixes (audit) === */

    /* PDP: voorkom dat product-grid 1fr-spoor groter wordt dan zijn container.
       Oorzaak was de WooCommerce FlexSlider gallery wrapper (intrinsieke breedte ~367px). */
    .woocommerce div.product.product-restructured,
    .woocommerce div.product {
        min-width: 0;
        max-width: 100%;
    }
    .woocommerce div.product.product-restructured > *,
    .woocommerce div.product > * {
        min-width: 0;
        max-width: 100%;
    }
    .woocommerce-product-gallery,
    .woocommerce-product-gallery .flex-viewport,
    .woocommerce div.product div.summary,
    .woocommerce div.product .product-summary-col,
    .woocommerce div.product .product-gallery-col {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Bootstrap 3 row/col overshoot binnen onze smalle mobiele .container.
       .row heeft margin: 0 -15px en .col-xs-* heeft padding: 0 15px,
       wat 3px per kant buiten de container schiet bij 12px container-padding. */
    .container > .row,
    .container .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .container .row > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Globale safety net voor body horizontal scroll */
    html, body {
        overflow-x: hidden;
        max-width: 100%;
    }

    /* Homepage .split-feature: zelfde grid-overflow als PDP product. Image had intrinsic 445px. */
    .split-feature {
        min-width: 0;
        max-width: 100%;
    }
    .split-feature > * {
        min-width: 0;
        max-width: 100%;
    }
    .split-feature img,
    .split-feature__visual img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Lange ongebroken woorden mogen wrappen op smalle mobiele kolommen,
       maar alleen waar nodig (niet op de hero waar 'LAGRATCIA' anders breekt). */
    .split-feature__title,
    .section-heading,
    .face__categorie h2,
    .about__section h2,
    p {
        overflow-wrap: break-word;
        word-wrap: break-word;
    }
    /* Veiligheidsnet: alleen extreem lange woorden (>20 tekens) breken via hyphens */
    body {
        -webkit-hyphens: manual;
        hyphens: manual;
    }

    /* Theme zet white-space:nowrap op .section-heading; voorkomt wrappen op mobiel */
    .section-heading,
    .face__categorie h2,
    .about__section h2,
    .split-feature__title {
        white-space: normal !important;
    }
.woocommerce div.product .summary form.cart .single_add_to_cart_button {
  white-space: wrap !important;
  line-height: 1.3 !important;
  font-size: 11px !important;
}

}

/* Reset voor desktop: drawer-mechaniek mag nooit lekken naar >=992px */
@media (min-width: 992px) {

#filterCollapse {
  padding: 1rem;
  background: #fffafc;
}

.single-post .col-xs-48 .content {
  max-width: 768px;
  margin: 0 auto;
  display: block;
}

.tax-product_cat .col-md-14 {
  padding-right: var(--space-12);
}

    body.filter-drawer-open {
        overflow: visible;
    }
    body.filter-drawer-open::after {
        display: none;
    }
    .filter-drawer-close {
        display: none !important;
    }
    .filter-drawer-header,
    .filter-drawer-body {
        display: block !important;
        position: static !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    .filter-drawer-header .widget_product_search {
        flex: 0 0 auto;
        width: auto !important;
        max-width: none !important;
    }
    .filter-drawer-header .widget_product_search .search-field,
    .filter-drawer-header .widget_product_search input[type="search"] {
        width: auto !important;
        max-width: none !important;
    }
}
.shop_uspbar {
  background: var(--lg-cc-accent);
}

/* === Footer link styling (Netbeauty/Claude) === */
footer a,
footer .column a,
footer .col a,
footer p a,
footer ul li a {
  color: var(--gold-300, #e6d56a) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
footer a:hover,
footer .column a:hover,
footer .col a:hover,
footer p a:hover,
footer ul li a:hover {
  color: var(--gold-200, #f2e7a9) !important;
  text-decoration: underline;
}
/* === End footer link styling === */

/* === Service pages content styling (Netbeauty/Claude) === */
body.page-id-2327 section.page .content,
body.page-id-2330 section.page .content,
body.page-id-2332 section.page .content,
body.page-id-2334 section.page .content,
body.page-id-2337 section.page .content,
body.page-id-2339 section.page .content {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
body.page-id-2327 section.page .col-xs-48,
body.page-id-2330 section.page .col-xs-48,
body.page-id-2332 section.page .col-xs-48,
body.page-id-2334 section.page .col-xs-48,
body.page-id-2337 section.page .col-xs-48,
body.page-id-2339 section.page .col-xs-48 {
  text-align: center;
}
body.page-id-2327 section.page .content,
body.page-id-2330 section.page .content,
body.page-id-2332 section.page .content,
body.page-id-2334 section.page .content,
body.page-id-2337 section.page .content,
body.page-id-2339 section.page .content {
  text-align: left;
  display: block;
}
body.page-id-2327 section.page .page-header,
body.page-id-2330 section.page .page-header,
body.page-id-2332 section.page .page-header,
body.page-id-2334 section.page .page-header,
body.page-id-2337 section.page .page-header,
body.page-id-2339 section.page .page-header {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-id-2327 section.page .content p,
body.page-id-2330 section.page .content p,
body.page-id-2332 section.page .content p,
body.page-id-2334 section.page .content p,
body.page-id-2337 section.page .content p,
body.page-id-2339 section.page .content p {
  line-height: 1.7;
  margin-bottom: 1.1em;
}
body.page-id-2327 section.page .content h2,
body.page-id-2330 section.page .content h2,
body.page-id-2332 section.page .content h2,
body.page-id-2334 section.page .content h2,
body.page-id-2337 section.page .content h2,
body.page-id-2339 section.page .content h2,
body.page-id-2327 section.page .content h3,
body.page-id-2330 section.page .content h3,
body.page-id-2332 section.page .content h3,
body.page-id-2334 section.page .content h3,
body.page-id-2337 section.page .content h3,
body.page-id-2339 section.page .content h3 {
  margin-top: 2.6em;
  margin-bottom: 0.75em;
}
body.page-id-2327 section.page .content > *:first-child,
body.page-id-2330 section.page .content > *:first-child,
body.page-id-2332 section.page .content > *:first-child,
body.page-id-2334 section.page .content > *:first-child,
body.page-id-2337 section.page .content > *:first-child,
body.page-id-2339 section.page .content > *:first-child {
  margin-top: 0;
}
body.page-id-2327 section.page .content ul,
body.page-id-2330 section.page .content ul,
body.page-id-2332 section.page .content ul,
body.page-id-2334 section.page .content ul,
body.page-id-2337 section.page .content ul,
body.page-id-2339 section.page .content ul {
  margin: 0 0 1.4em 1.2em;
  line-height: 1.7;
}
body.page-id-2327 section.page .content ul li,
body.page-id-2330 section.page .content ul li,
body.page-id-2332 section.page .content ul li,
body.page-id-2334 section.page .content ul li,
body.page-id-2337 section.page .content ul li,
body.page-id-2339 section.page .content ul li {
  margin-bottom: 0.4em;
}
body.page-id-2327 section.page .content a,
body.page-id-2330 section.page .content a,
body.page-id-2332 section.page .content a,
body.page-id-2334 section.page .content a,
body.page-id-2337 section.page .content a,
body.page-id-2339 section.page .content a {
  color: var(--gold-600, #9a8522);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.page-id-2327 section.page .content a:hover,
body.page-id-2330 section.page .content a:hover,
body.page-id-2332 section.page .content a:hover,
body.page-id-2334 section.page .content a:hover,
body.page-id-2337 section.page .content a:hover,
body.page-id-2339 section.page .content a:hover {
  color: var(--gold-700, #75651a);
}
/* === End service pages content styling === */

/* === Sidebar product search styling (Netbeauty/Claude) === */
/* Sidebar productzoekbalk: knop tonen als icoon i.p.v. tekst.
   Enter werkt al native (HTML form submit). */
.woocommerce-product-search {
    position: relative;
    align-items: stretch;
}

.woocommerce-product-search .search-field {
    flex: 1 1 auto;
    padding-right: 16px;
}

.woocommerce-product-search button[type="submit"] {
    /* Vervang tekst door zoek-icoon */
    width: 50px !important;
    min-width: 50px !important;
    padding: 0 !important;
    background-color: var(--primary-700, #4a526f) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 20px 20px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    border-radius: 5px !important;
    cursor: pointer;
    transition: background-color .2s ease;
}

.woocommerce-product-search button[type="submit"]:hover,
.woocommerce-product-search button[type="submit"]:focus {
    background-color: var(--color-accent, #bfa52a) !important;
}
/* === End sidebar product search styling === */

/* === Footer enrichment (Netbeauty/Claude) === */
/* Footer top-sectie + opschoning. */

/* Kolom-koppen: ALLE h-tags in een footer-kolom (incl. wrappers zoals .column) */
footer .col-sm-16 h1,
footer .col-sm-16 h2,
footer .col-sm-16 h3,
footer .col-sm-16 h4,
footer .col-sm-16 h5,
footer .col-sm-16 h6 {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 18px !important;
}

.footer-enrich {
    text-align: center;
    padding: 8px 0 28px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(230, 213, 106, 0.30);
}

.footer-enrich__logo {
    display: inline-block;
    margin: 0 0 14px;
}

.footer-enrich__logo img {
    width: 220px;
    height: auto;
    display: block;
}

.footer-enrich__tagline {
    color: var(--gold-300, #e6d56a);
    font-size: 14px;
    letter-spacing: 0.05em;
    margin: 0 0 18px;
    font-style: italic;
}

.footer-enrich__socials {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-enrich__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--gold-300, #e6d56a);
    border-radius: 50%;
    color: var(--gold-300, #e6d56a) !important;
    text-decoration: none !important;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
    font-size: 17px;
    line-height: 1;
}

.footer-enrich__social i { line-height: 1; }

.footer-enrich__social:hover,
.footer-enrich__social:focus {
    background-color: var(--gold-300, #e6d56a);
    color: #1d284c !important;
    border-color: var(--gold-300, #e6d56a);
}

footer .col-sm-16 .footer-contact-icon {
    color: var(--gold-300, #e6d56a);
    width: 16px;
    margin-right: 8px;
    text-align: center;
    font-size: 13px;
    display: inline-block;
}

@media (max-width: 600px) {
    .footer-enrich__logo img { width: 180px; }
    .footer-enrich__tagline { font-size: 13px; padding: 0 16px; }
    .footer-enrich { padding: 4px 0 20px; margin-bottom: 18px; }
}
/* === End footer enrichment === */

/* === Variation button swatches (Netbeauty/Claude) === */
ul.variable-items-wrapper li.button-variable-item{
  width:auto !important;min-width:64px !important;height:auto !important;
  padding:8px 16px !important;border-radius:6px !important;
  border:1px solid #1d2a48 !important;background:#fff !important;
}
ul.variable-items-wrapper li.button-variable-item .variable-item-contents{
  width:auto !important;height:auto !important;
}
ul.variable-items-wrapper li.button-variable-item .variable-item-span-button{
  width:auto !important;height:auto !important;font-size:14px !important;
  color:#1d2a48 !important;white-space:nowrap !important;line-height:1.2 !important;
  font-weight:500 !important;
}
ul.variable-items-wrapper li.button-variable-item.selected{
  background:#1d2a48 !important;border-color:#1d2a48 !important;
}
ul.variable-items-wrapper li.button-variable-item.selected .variable-item-span-button{
  color:#fff !important;
}
ul.variable-items-wrapper li.button-variable-item:hover{
  border-color:#bfa52a !important;
}
/* Hide the ": <option>" duplicate label above swatches */
.woo-selected-variation-item-name{display:none !important;}
/* === End variation button swatches === */
.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) img {
  border-radius: 100% !important;
}



/* === LAGRATCIA archive layout fix [v1] === */
ul.products li.product {
    display: flex !important;
    flex-direction: column;
    height: 100%;
}
ul.products li.product > .woocommerce-LoopProduct-link {
    order: 1;
    margin-bottom: auto;  /* duwt de rest naar onder */
}
ul.products li.product .wvs-archive-variations-wrapper {
    order: 2;
    margin-top: 12px;
    margin-bottom: 8px;
}
ul.products li.product > a.button,
ul.products li.product > button.button,
ul.products li.product .wvs-add-to-cart-button {
    order: 3;
}

/* === Webshop schoonheidsfoutjes (Claude, 2026-05) === */

/* 1. Swatches op archief uitlijnen met de knop "Opties selecteren"
   De variations-wrapper stond op de linkerrand, terwijl de knop 18px naar binnen begint. */
.woocommerce ul.products li.product .wvs-archive-variations-wrapper {
    margin-left: 18px !important;
    margin-right: 18px !important;
    width: calc(100% - 36px) !important;
    box-sizing: border-box !important;
}

/* 2. Quantity-input op single product even hoog maken als de "Toevoegen aan winkelwagen"-knop
   De knop is 56px hoog, het input was 42px. */
.woocommerce div.product form.cart .quantity input.qty {
    height: 56px !important;
    box-sizing: border-box !important;
}

/* 3. Product-restructured grid forceren tot gelijke kolommen.
   Bij producten met meerdere gallery-afbeeldingen (Flexslider) drukte de gallery-kolom
   de summary-kolom kleiner. min-width: 0 dwingt 1fr 1fr af. */
.woocommerce div.product.product-restructured > .product-gallery-col,
.woocommerce div.product.product-restructured > .woocommerce-product-gallery,
.woocommerce div.product.product-restructured > .images,
.woocommerce div.product.product-restructured > .product-summary-col,
.woocommerce div.product.product-restructured > .summary {
    min-width: 0 !important;
}


/* === Webshop swatches: overflow op gerelateerde producten + compacter op mobiel (Claude, 2026-05) === */

/* Swatches op archief- en gerelateerde-producten kaarten mogen wrappen i.p.v. overlopen */
.woocommerce ul.products li.product .wvs-archive-variations-wrapper,
.woocommerce ul.products li.product .wvs-archive-variations-wrapper .variations,
.woocommerce ul.products li.product .woo-variation-items-wrapper {
    flex-wrap: wrap !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Swatches op kaartjes wat compacter (geldt voor archief, gerelateerde producten en zoekresultaten) */
.woocommerce ul.products li.product .variable-item.button-variable-item {
    min-width: 0 !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    margin: 3px !important;
    line-height: 1.2 !important;
}

/* Op mobiel/smal scherm nog wat kleiner zodat ze rustig oogt */
@media (max-width: 767px) {
    .woocommerce ul.products li.product .variable-item.button-variable-item {
        padding: 5px 8px !important;
        font-size: 12px !important;
        margin: 2px !important;
    }
    .woocommerce ul.products li.product .wvs-archive-variations-wrapper {
        margin-left: 12px !important;
        margin-right: 12px !important;
        width: calc(100% - 24px) !important;
        box-sizing: border-box !important;
    }
}


/* Extra: zorg dat de UL met swatches óók niet over de rand komt
   wanneer meer items zichtbaar worden (na klik op "More") */
.woocommerce ul.products li.product .wvs-archive-variations-wrapper ul.archive-variable-items,
.woocommerce ul.products li.product .wvs-archive-variations-wrapper .variations,
.woocommerce ul.products li.product .woo-variation-items-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
}

/* === Webshop schoonheidsfoutjes - kaart spacing (Claude, 2026-05) === */
/* Doel: in product-kaarten op archief/related/homepagina staan prijs en
   swatches dicht onder elkaar, en de "Toevoegen aan winkelwagen" / "Opties
   selecteren"-knop wordt naar de onderkant van de kaart geduwd zodat knoppen
   tussen kaarten met verschillende titellengtes netjes uitlijnen. */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
    flex: 0 0 auto !important;
    margin-bottom: 0 !important;
}
/* Swatches blijven dicht onder de prijs hangen */
.woocommerce ul.products li.product .wvs-archive-variations-wrapper {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
}
/* Knop wordt naar de onderkant geduwd, met een vaste afstand vanaf swatches */
.woocommerce ul.products li.product > a.button.add_to_cart_button,
.woocommerce ul.products li.product > button.add_to_cart_button {
    margin-top: auto !important;
}
/* Wanneer er swatches zijn: knop direct onder swatches met kleine gap */
.woocommerce ul.products li.product .wvs-archive-variations-wrapper ~ a.button,
.woocommerce ul.products li.product .wvs-archive-variations-wrapper ~ button.button {
    /* margin-top: auto blijft staan zodat knop tegen onderkant zit */
}


/* ===========================================
   Menubalk navy blauw (#1a2240) — feedback klant 19/05
   Matcht de USP-balk (.shop_uspbar) erboven
   =========================================== */

/* Header-balk in navy */
html body header div.header.full-width,
.header.full-width {
    background-color: #1a2240 !important;
}

/* Top-level menu-items wit op de navy achtergrond.
   Hoge specificiteit nodig om de bestaande media-query rule te overrulen
   (header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a) */
html body header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a,
html body header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li.menu-item > a {
    color: #ffffff !important;
}

/* Hover, focus, actief en geopend menu-item: goud accent */
html body header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:hover,
html body header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:focus,
html body header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li.active > a,
html body header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li.current-menu-item > a,
html body header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li.open > a {
    color: #c9a961 !important;
    background-color: transparent !important;
}

/* Submenu (dropdown) ook navy met witte tekst */
html body header div.header.full-width nav.navbar-default ul.navbar-nav .dropdown-menu,
.navbar-default .navbar-nav .dropdown-menu {
    background-color: #1a2240 !important;
    border-color: rgba(255,255,255,0.1) !important;
}
html body header div.header.full-width nav.navbar-default ul.navbar-nav .dropdown-menu > li > a {
    color: #ffffff !important;
}
html body header div.header.full-width nav.navbar-default ul.navbar-nav .dropdown-menu > li > a:hover,
html body header div.header.full-width nav.navbar-default ul.navbar-nav .dropdown-menu > li > a:focus,
html body header div.header.full-width nav.navbar-default ul.navbar-nav .dropdown-menu > li.active > a,
html body header div.header.full-width nav.navbar-default ul.navbar-nav .dropdown-menu > li.current-menu-item > a {
    color: #c9a961 !important;
    background-color: rgba(255,255,255,0.06) !important;
}

/* Caret/pijltje van dropdown wit */
html body header div.header.full-width nav.navbar-default ul.navbar-nav > li > a .caret,
.navbar-default .navbar-nav > li > a .caret {
    border-top-color: #ffffff !important;
    border-bottom-color: #ffffff !important;
}

/* Mobiel: hamburger-icoon en rand wit op navy */
.navbar-default .navbar-toggle .icon-bar {
    background-color: #ffffff !important;
}
.navbar-default .navbar-toggle {
    border-color: #ffffff !important;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background-color: rgba(255,255,255,0.08) !important;
}

/* Mobiel beeldvullend menu (de huidige instelling): navy achtergrond met witte links */
.mobile-menu,
.mobile-menu-overlay,
.mobile-navigation,
nav.mobile-nav,
.mm-menu,
#mobile-menu,
body .navbar-collapse.in,
body .navbar-collapse.collapsing {
    background-color: #1a2240 !important;
}
.mobile-menu a,
.mobile-menu-overlay a,
.mobile-navigation a,
.mm-menu a,
#mobile-menu a,
body .navbar-collapse.in a,
body .navbar-collapse.collapsing a {
    color: #ffffff !important;
}
.mobile-menu a:hover,
.mobile-navigation a:hover,
body .navbar-collapse.in a:hover {
    color: #c9a961 !important;
}

/* Cart counter badge contrast: gouden achtergrond met navy nummer */
.header.full-width .cartcounter.counter {
    color: #1a2240 !important;
    background-color: #c9a961 !important;
}
