:root {
  --oliva-cream: var(--nectar-bg-color, #FFF4E5);
  --oliva-cream-light: #FFF9F2;
  --oliva-cream-gold: var(--nectar-accent-color, #F1D0A1);
  --oliva-brown: var(--nectar-extra-color-2, #7F452B);
  --oliva-beige: #DAB89C;
  --oliva-purple: var(--nectar-extra-color-1, #3A2D37);
  --oliva-text: var(--nectar-extra-color-1, #3A2D37);

  --oliva-radius-sm: 8px;
  --oliva-radius: 16px;
  --oliva-radius-lg: 24px;
  --oliva-radius-pill: 999px;

  --oliva-font-serif: 'Libre Baskerville', Georgia, serif;
  --oliva-font-sans: 'Archivo', 'Helvetica Neue', Arial, sans-serif;

  --oliva-container: 1920px;
  --oliva-shadow-card: 0 2px 8px rgba(58, 45, 55, 0.05);
}

body.woocommerce,
body.woocommerce-page,
body.archive.tax-product_cat,
body.post-type-archive-product,
body.single-product {
  background: var(--oliva-cream);
  color: var(--oliva-text);
  font-family: var(--oliva-font-sans);
  font-size: 16px;
}

.oliva-archive .container,
.oliva-single .container {
  max-width: var(--oliva-container);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 100px);
  width: 100%;
  box-sizing: border-box;
}

.oliva-section-title {
  font-family: var(--oliva-font-serif);
  font-size: clamp(34px, 3.5vw, 50px);
  font-weight: 400;
  text-align: center;
  margin: 0 0 clamp(28px, 4vw, 56px);
  color: var(--oliva-cream-gold);
}
.oliva-section-title strong {
  font-weight: 600;
}

.oliva-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--oliva-purple);
  color: var(--oliva-cream-gold);
  border: 0;
  border-radius: var(--oliva-radius-pill);
  padding: 5px 30px;
  font-family: var(--oliva-font-serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}
.oliva-btn:hover {
  background: #2c2129;
  color: var(--oliva-cream-gold);
  transform: translateY(-1px);
}
.oliva-btn--small {
  padding: 5px 30px;
  font-size: 11px;
}
.oliva-btn--lg {
  padding: 18px 40px;
  font-size: 14px;
}

.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering,
.woocommerce-page .woocommerce-breadcrumb,
body.single-product .product .summary,
body.single-product .product .images,
body.single-product .related.products,
body.single-product .upsells.products,
body.single-product .woocommerce-tabs {
  display: none !important;
}

body.oliva-transparent-header #header-outer,
body.oliva-transparent-header #header-outer.detached,
body.oliva-transparent-header #header-outer.scrolled-down,
body.oliva-header-scrolled #header-outer {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  border-bottom: 0 !important;
  border-top: 0 !important;
}
body.oliva-transparent-header #header-outer::before,
body.oliva-transparent-header #header-outer::after,
body.oliva-transparent-header #header-outer.detached::before,
body.oliva-transparent-header #header-outer.detached::after {
  display: none !important;
  box-shadow: none !important;
}
body.oliva-transparent-header #header-outer {
  background: transparent !important;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
body.oliva-transparent-header #header-outer #logo,
body.oliva-transparent-header #header-outer .sf-menu > li > a,
body.oliva-transparent-header #header-outer .sf-menu > li > a:visited,
body.oliva-transparent-header #header-outer .cart-icon-wrap i,
body.oliva-transparent-header #header-outer .cart-icon-wrap .icon-salient-cart,
body.oliva-transparent-header #header-outer .my-account-icon,
body.oliva-transparent-header #header-outer .wpml-ls-link {
  color: var(--oliva-cream-gold) !important;
}

html body.oliva-solid-header #header-outer,
html body.oliva-solid-header #header-outer.transparent,
html body.oliva-solid-header #header-outer[data-permanent-transparent="1"],
html body.oliva-solid-header #header-outer[data-permanent-transparent="0"],
html body.oliva-solid-header #header-outer.detached,
html body.oliva-solid-header #header-outer.scrolled-down,
html body.oliva-solid-header.material #header-outer {
  background-color: var(--oliva-purple) !important;
  background-image: none !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
}
html body.oliva-solid-header #header-outer::before,
html body.oliva-solid-header #header-outer::after,
html body.oliva-solid-header #header-outer .header-bg-cover,
html body.oliva-solid-header #header-outer .row-bg {
  background: var(--oliva-purple) !important;
  background-color: var(--oliva-purple) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
html body.oliva-solid-header #header-outer #logo,
html body.oliva-solid-header #header-outer #logo a,
html body.oliva-solid-header #header-outer .sf-menu > li > a,
html body.oliva-solid-header #header-outer .sf-menu > li > a:visited,
html body.oliva-solid-header #header-outer .cart-icon-wrap i,
html body.oliva-solid-header #header-outer .cart-icon-wrap .icon-salient-cart,
html body.oliva-solid-header #header-outer .my-account-icon,
html body.oliva-solid-header #header-outer .wpml-ls-link {
  color: var(--oliva-cream-gold) !important;
}
html body.oliva-solid-header #ajax-content-wrap {
  margin-top: 0 !important;
}
html body.oliva-solid-header #header-space {
  display: block !important;
}

body.oliva-header-scrolled #header-outer,
body.oliva-transparent-header #header-outer.detached {
  background: var(--oliva-purple) !important;
}

body.oliva-transparent-header #ajax-content-wrap {
  margin-top: 0 !important;
}
body.oliva-transparent-header #header-space {
  display: none !important;
}

body.tax-product_cat #ajax-content-wrap,
body.post-type-archive-product #ajax-content-wrap,
body.single-product #ajax-content-wrap {
  background: var(--oliva-cream);
}

body.tax-product_cat .oliva-archive,
body.tax-product_cat .oliva-archive p,
body.tax-product_cat .oliva-archive li,
body.tax-product_cat .oliva-archive label,
body.tax-product_cat .oliva-archive label span,
body.post-type-archive-product .oliva-archive,
body.post-type-archive-product .oliva-archive p,
body.post-type-archive-product .oliva-archive li,
body.post-type-archive-product .oliva-archive label,
body.post-type-archive-product .oliva-archive label span {
  color: var(--oliva-text);
}
body.tax-product_cat .oliva-archive .oliva-hero,
body.tax-product_cat .oliva-archive .oliva-hero *,
body.post-type-archive-product .oliva-archive .oliva-hero,
body.post-type-archive-product .oliva-archive .oliva-hero * {
  color: var(--oliva-cream-gold);
}
body.tax-product_cat .oliva-archive .oliva-macro__card.is-active,
body.tax-product_cat .oliva-archive .oliva-macro__card.is-active *,
body.post-type-archive-product .oliva-archive .oliva-macro__card.is-active,
body.post-type-archive-product .oliva-archive .oliva-macro__card.is-active * {
  color: var(--oliva-text);
}
body.tax-product_cat #ajax-content-wrap > .container-wrap,
body.post-type-archive-product #ajax-content-wrap > .container-wrap,
body.single-product #ajax-content-wrap > .container-wrap {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
}
body.tax-product_cat .container-wrap > .container,
body.post-type-archive-product .container-wrap > .container,
body.single-product .container-wrap > .container {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}
body.tax-product_cat .container-wrap > .container > .row,
body.post-type-archive-product .container-wrap > .container > .row,
body.single-product .container-wrap > .container > .row {
  margin: 0 !important;
  width: 100% !important;
}
body.tax-product_cat #content,
body.post-type-archive-product #content,
body.single-product #content {
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

body.oliva-header-icons {
  --oliva-icon-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31.86 31.01'%3E%3Cpath transform='translate(0 0.03)' d='M -0 0.6 C 0.17 0.22 0.35 0.08 0.77 0.04 C 1.56 -0.03 3.46 -0.03 4.18 0.19 C 6.17 0.78 6.48 2.62 7.07 4.33 C 8.72 4.44 10.38 4.37 12.04 4.39 C 18.03 4.47 24.02 4.64 30.02 4.64 C 30.69 4.81 31.48 4.46 31.86 5.2 L 31.86 5.57 C 31.24 7.74 30.83 9.96 30.26 12.14 C 29.58 14.73 28.83 15.81 26.03 16.18 L 11 17.74 C 10.17 18.95 10.56 20.65 12.07 21.01 L 26.66 21.04 C 27.56 21.06 27.87 22.13 27 22.5 L 12.11 22.52 C 9.98 22.21 8.66 20.22 9.19 18.13 C 9.29 17.74 9.68 17.16 9.63 16.8 L 5.04 2.93 C 4.16 0.8 2.51 1.78 0.73 1.52 C 0.31 1.46 0.16 1.29 -0 0.91 L -0 0.6 Z M 30.18 6.13 L 7.53 5.82 L 11.04 16.2 L 25.91 14.7 C 27.11 14.62 28.06 14.14 28.5 12.99 L 30.18 6.13 Z'/%3E%3Cpath transform='translate(-70.77 -251.79)' d='M 84.26 279.48 C 84.26 281.31 82.77 282.8 80.93 282.8 C 79.1 282.8 77.61 281.31 77.61 279.48 C 77.61 277.65 79.1 276.16 80.93 276.16 C 82.77 276.16 84.26 277.65 84.26 279.48 M 82.77 279.48 C 82.77 278.47 81.95 277.64 80.93 277.64 C 79.92 277.64 79.09 278.47 79.09 279.48 C 79.09 280.5 79.92 281.32 80.93 281.32 C 81.95 281.32 82.77 280.5 82.77 279.48'/%3E%3Cpath transform='translate(-216.03 -251.84)' d='M 243.56 279.53 C 243.56 281.36 242.07 282.85 240.24 282.85 C 238.4 282.85 236.92 281.36 236.92 279.53 C 236.92 277.7 238.4 276.22 240.24 276.22 C 242.07 276.22 243.56 277.7 243.56 279.53 M 242.08 279.53 C 242.08 278.52 241.25 277.69 240.24 277.69 C 239.22 277.69 238.39 278.52 238.39 279.53 C 238.39 280.55 239.22 281.37 240.24 281.37 C 241.25 281.37 242.08 280.55 242.08 279.53'/%3E%3C/svg%3E");
  --oliva-icon-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29.68 31.02'%3E%3Cpath transform='translate(-6.8 0)' d='M 29.79 8.15 C 29.79 12.66 26.14 16.31 21.64 16.31 C 17.14 16.31 13.49 12.66 13.49 8.15 C 13.49 3.65 17.14 0 21.64 0 C 26.14 0 29.79 3.65 29.79 8.15 M 28.14 8.15 C 28.14 4.56 25.23 1.65 21.64 1.65 C 18.05 1.65 15.14 4.56 15.14 8.15 C 15.14 11.74 18.05 14.65 21.64 14.65 C 25.23 14.65 28.14 11.74 28.14 8.15'/%3E%3Cpath transform='translate(0.24 -19.57)' d='M 14.1 37.52 L 14.98 37.5 C 21.33 37.59 28.14 41.99 29.1 48.58 C 29.19 49.19 29.44 50.4 28.53 50.49 C 27.47 50.58 27.64 49.49 27.5 48.8 C 25.5 38.91 12.33 36.23 5.24 42.56 C 3.15 44.43 2.11 46.52 1.62 49.27 C 1.53 49.79 1.62 50.52 0.81 50.55 C -0.24 50.59 -0 49.3 0.09 48.65 C 1.01 42.1 7.79 37.6 14.1 37.52'/%3E%3C/svg%3E");
}

body.oliva-header-icons #header-outer:not([data-format="left-header"]) #top nav > ul.buttons {
  gap: 16px;
}
body.oliva-header-icons #header-outer:not([data-format="left-header"]) #top nav > ul.buttons > li {
  margin: 0;
}
body.oliva-header-icons #header-outer:not([data-format="left-header"]) #top nav > ul.buttons > li.nectar-woo-cart {
  order: -1;
}

body.oliva-header-icons #header-outer .cart-menu .cart-icon-wrap,
body.oliva-header-icons #header-outer #top nav ul #nectar-user-account a {
  font-size: 24px;
  width: 1em;
  height: 1em;
  line-height: 1;
}
body.oliva-header-icons #header-outer .cart-menu .cart-icon-wrap .icon-salient-cart,
body.oliva-header-icons #header-outer #top nav ul #nectar-user-account a .icon-salient-m-user {
  position: absolute;
  inset: 0;
  font-size: inherit;
  width: 1em;
  max-width: none;
  height: 1em;
  line-height: 1;
}

body.oliva-header-icons #header-outer #top #mobile-cart-link i,
body.oliva-header-icons #header-outer #top .mobile-user-account .icon-salient-m-user {
  font-size: 22px;
  width: 1em;
  height: 1em;
  line-height: 1;
}
body.oliva-header-icons #header-outer #top #mobile-cart-link {
  order: -1;
}

body.oliva-header-icons #header-outer .icon-salient-cart::before,
body.oliva-header-icons #header-outer .icon-salient-m-user::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  -webkit-mask: var(--oliva-icon-cart) center / contain no-repeat;
  mask: var(--oliva-icon-cart) center / contain no-repeat;
}
body.oliva-header-icons #header-outer .icon-salient-m-user::before {
  -webkit-mask-image: var(--oliva-icon-user);
  mask-image: var(--oliva-icon-user);
}

body .nectar-slide-in-cart.style_slide_in_click .woocommerce.widget_shopping_cart .cart_list li .product-details a {
  font-family: var(--oliva-font-serif);
  font-size: 20px;
  line-height: 1.3;
}
body .nectar-slide-in-cart .widget_shopping_cart .quantity input.qty {
  color: var(--oliva-cream-gold);
  background: transparent;
  font-family: var(--oliva-font-serif);
  font-size: 18px;
  font-weight: 700;
}
body .nectar-slide-in-cart .widget_shopping_cart .quantity input.minus,
body .nectar-slide-in-cart .widget_shopping_cart .quantity input.plus {
  color: var(--oliva-brown);
  background-color: var(--oliva-cream);
  font-family: var(--oliva-font-serif);
  font-weight: 700;
}
body .nectar-slide-in-cart .woocommerce.widget_shopping_cart .cart_list li a.remove.with_text {
  font-family: var(--oliva-font-sans);
  font-size: 14px;
}
body .nectar-slide-in-cart .woocommerce-mini-cart__buttons a.button {
  font-family: var(--oliva-font-serif) !important;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
body .nectar-slide-in-cart .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  color: var(--oliva-cream-gold) !important;
  background-color: transparent !important;
  box-shadow: inset 0 0 0 1px var(--oliva-cream-gold);
}
body .nectar-slide-in-cart .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
  color: var(--oliva-purple) !important;
  background-color: var(--oliva-cream-gold) !important;
}
body .nectar-slide-in-cart .woocommerce-mini-cart__buttons a.button.checkout {
  color: var(--oliva-purple) !important;
  background-color: var(--oliva-cream-gold) !important;
}
body .nectar-slide-in-cart .woocommerce-mini-cart__buttons a.button.checkout:hover {
  opacity: 0.87;
}

body.oliva-header-icons #header-outer .cart-menu .cart-wrap span,
body.oliva-header-icons #header-outer #top #mobile-cart-link .cart-wrap span {
  color: var(--oliva-purple) !important;
  font-family: var(--oliva-font-sans) !important;
  font-weight: 700;
}

body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error {
  margin: 0 0 16px;
  padding: 16px 24px !important;
  color: var(--oliva-text) !important;
  background-color: var(--oliva-cream-light) !important;
  border: 0 !important;
  border-radius: 15px !important;
  box-shadow: 0 0 0 1px rgba(127, 69, 43, 0.16), 0 4px 14px rgba(58, 45, 55, 0.08);
  font-family: var(--oliva-font-sans);
  font-size: 15px;
  line-height: 1.5;
}
body .woocommerce-message::before,
body .woocommerce-info::before,
body .woocommerce-error::before {
  color: var(--oliva-brown) !important;
}
body .woocommerce-error li {
  color: var(--oliva-text);
}
body .woocommerce-message a:not(.button),
body .woocommerce-info a:not(.button),
body .woocommerce-error a:not(.button) {
  color: var(--oliva-brown) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body .woocommerce-message:has(> a.button),
body .woocommerce-info:has(> a.button) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
}
body .woocommerce-message:focus,
body .woocommerce-info:focus,
body .woocommerce-error:focus {
  outline: none;
}
body .woocommerce-message a.button,
body .woocommerce-info a.button,
body .woocommerce-error a.button {
  float: none;
  order: 2;
  flex: 0 0 auto;
  height: auto !important;
  margin: 0 !important;
  padding: 8px 20px !important;
  color: var(--oliva-cream-light) !important;
  background-color: var(--oliva-purple) !important;
  border-radius: var(--oliva-radius-pill) !important;
  font-family: var(--oliva-font-serif) !important;
  font-size: 12px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.4;
}

.oliva-product-card,
.oliva-fbt-card__body {
  container-type: inline-size;
}
.oliva-product-card__cta {
  --oliva-card-fit: calc(100cqi - 280px);
  padding: 20px 0 10px !important;
}
.oliva-product-card:not(:has(.oliva-price)) .oliva-product-card__divider {
  visibility: hidden;
}
.oliva-fbt-card__footer {
  --oliva-card-fit: calc(100cqi - 246px);
}
.oliva-product-card__cta,
.oliva-fbt-card__footer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.oliva-product-card__cta .oliva-btn,
.oliva-fbt-card__footer .oliva-btn {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: clamp(32px, calc(32px + var(--oliva-card-fit) * 0.044), 38px);
  padding: 4px clamp(14px, calc(14px + var(--oliva-card-fit) * 0.059), 22px) !important;
  color: var(--oliva-cream-light) !important;
  background: var(--oliva-purple) !important;
  border: 0;
  border-radius: 28px !important;
  font-family: var(--oliva-font-serif) !important;
  font-size: clamp(11px, calc(11px + var(--oliva-card-fit) * 0.0074), 12px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background 0.2s ease;
}
.oliva-product-card__cta .oliva-btn:hover,
.oliva-fbt-card__footer .oliva-btn:hover {
  background: #2c2129 !important;
}

.oliva-price.oliva-price--card,
.oliva-price.oliva-price--fbt {
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  white-space: nowrap;
  line-height: 1;
}
.oliva-price.oliva-price--card .oliva-price__amount,
.oliva-price.oliva-price--fbt .oliva-price__amount {
  color: var(--oliva-brown) !important;
  background: none;
  font-family: var(--oliva-font-serif) !important;
  font-size: clamp(24px, calc(24px + var(--oliva-card-fit) * 0.059), 31px);
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none;
}
.oliva-price.oliva-price--fbt .oliva-price__amount {
  font-size: 28px;
}
.oliva-price.oliva-price--card .oliva-price__amount .woocommerce-Price-amount,
.oliva-price.oliva-price--card .oliva-price__amount bdi,
.oliva-price.oliva-price--card .oliva-price__amount ins,
.oliva-price.oliva-price--fbt .oliva-price__amount .woocommerce-Price-amount,
.oliva-price.oliva-price--fbt .oliva-price__amount bdi,
.oliva-price.oliva-price--fbt .oliva-price__amount ins {
  color: inherit !important;
  background: none;
  font: inherit !important;
  text-decoration: none;
}
.oliva-price.oliva-price--card .oliva-price__amount del,
.oliva-price.oliva-price--fbt .oliva-price__amount del {
  margin-right: 8px;
  font-size: 0.55em;
  font-weight: 400;
  opacity: 0.6;
}
.oliva-price.oliva-price--card .oliva-price__unit,
.oliva-price.oliva-price--fbt .oliva-price__unit {
  color: #707070;
  font-family: var(--oliva-font-sans);
  font-size: clamp(12px, calc(12px + var(--oliva-card-fit) * 0.022), 15px);
  font-weight: 400;
  line-height: 1;
}

.oliva-quick-add {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 40px;
  aspect-ratio: 1 / 1;
  color: var(--oliva-brown);
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  transition: box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.oliva-quick-add--fbt {
  top: 14px;
  right: auto;
  left: 14px;
}
.oliva-quick-add:hover,
.oliva-quick-add:focus-visible {
  color: var(--oliva-brown);
  box-shadow: 0 3px 24px rgba(0, 0, 0, 0.18);
}
.oliva-quick-add .oliva-cart-icon {
  display: block;
  width: 50%;
  height: auto;
}
.oliva-quick-add.loading {
  opacity: 0.5;
  pointer-events: none;
}
.oliva-quick-add.added {
  color: var(--oliva-cream);
  background: var(--oliva-brown);
}
.oliva-product-card .added_to_cart,
.oliva-fbt-card .added_to_cart {
  display: none !important;
}

@container (max-width: 269px) {
  .oliva-product-card__cta {
    flex-wrap: wrap-reverse;
  }
  .oliva-product-card__cta .oliva-price {
    align-items: flex-start;
  }
}
@container (max-width: 235px) {
  .oliva-fbt-card__footer {
    flex-wrap: wrap-reverse;
  }
  .oliva-fbt-card__footer .oliva-price {
    align-items: flex-start;
  }
}
@media (max-width: 900px) {
  .oliva-quick-add {
    top: 10px;
    right: 10px;
    max-width: 44px;
  }
  .oliva-quick-add--fbt {
    right: auto;
    left: 10px;
  }
}
