body.single-product .oliva-single {
  background: var(--oliva-cream);
  font-family: var(--oliva-font-sans);
  position: relative;
  overflow-x: clip;
  --o-card-w: clamp(260px, 21.67vw, 416px);
  --o-card-h: calc(var(--o-card-w) * 302 / 416);
}
body.single-product .oliva-single * { box-sizing: border-box; }
body.single-product .oliva-single ul:not(.oliva-chips),
body.single-product .oliva-single ol,
body.single-product .oliva-single li:not(.oliva-chip) {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  background-image: none !important;
}

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

.oliva-single .oliva-single__hero {
  background: var(--oliva-cream);
  padding-top: clamp(24px, 2.5vw, 48px);
  padding-bottom: 0;
  position: relative;
}
.oliva-single .oliva-single__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 948fr) minmax(0, 956fr);
  gap: 16px;
  max-width: var(--oliva-container);
  margin-inline: auto;
  padding-right: clamp(20px, 5.21vw, 104px);
}
.oliva-single .oliva-single__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 948 / 891;
  max-height: 891px;
}
.oliva-single .oliva-single__image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.oliva-single .oliva-single__info {
  align-self: center;
}
.oliva-single .oliva-single__title {
  font-family: var(--oliva-font-serif) !important;
  color: var(--oliva-text) !important;
  font-size: clamp(36px, 3.65vw, 50px) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.1 !important;
  margin: 0 0 36px !important;
  letter-spacing: 0;
}
.oliva-single .oliva-single__title--split {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.oliva-single .oliva-single__title-nome {
  color: #7F452B !important;
  font-weight: 700 !important;
}
.oliva-single .oliva-single__title-gusto {
  color: #3A2D37 !important;
  font-weight: 400 !important;
}

.oliva-single .oliva-single__attrs {
  margin: 0 0 36px !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.oliva-single .oliva-single__attr {
  display: grid;
  grid-template-columns: minmax(0, 44px) minmax(0, 1fr);
  column-gap: 18px;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}
.oliva-single .oliva-single__attr-icon {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--oliva-brown);
}
.oliva-single .oliva-single__attr-icon--weight {
  max-width: 32px;
  width: 100%;
  aspect-ratio: 31.4 / 37;
}
.oliva-single .oliva-single__attr-icon--gusti {
  max-width: 44px;
  width: 100%;
  aspect-ratio: 43.5 / 33.3;
}
.oliva-single .oliva-single__attr-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.oliva-single .oliva-single__attr-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--oliva-font-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--oliva-brown);
}
.oliva-single .oliva-single__attr-count {
  font: inherit;
  color: inherit;
}
.oliva-single .oliva-single__attr-sub {
  font-family: var(--oliva-font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--oliva-brown);
}
.oliva-single .oliva-single__attr-divider {
  height: 1px;
  background: rgba(127, 69, 43, 0.27) !important;
  margin: 21px 0 34px !important;
  padding: 0 !important;
}
.oliva-single .oliva-single__attr-divider:last-child {
  margin-bottom: 0 !important;
}

.oliva-single .oliva-single__desc {
  font-family: var(--oliva-font-sans);
  font-size: 18px;
  line-height: 30px;
  color: var(--oliva-text);
  margin: 0;
}
.oliva-single .oliva-single__desc p { margin: 0 0 12px; padding: 0; }
.oliva-single .oliva-single__desc p:last-child { margin: 0; }

.oliva-single .oliva-single__buy {
  margin-top: 48px;
}
.oliva-single .oliva-single__price {
  margin: 0 0 46px;
}
.oliva-single .oliva-price--single {
  display: inline-flex;
  align-items: baseline;
  gap: 14px;
  white-space: nowrap;
  line-height: 1;
}
.oliva-single .oliva-price__amount,
.oliva-single .oliva-price__amount .woocommerce-Price-amount,
.oliva-single .oliva-price__amount bdi,
.oliva-single .oliva-price__amount ins {
  font-family: var(--oliva-font-serif) !important;
  font-size: 35px;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: var(--oliva-brown) !important;
  text-decoration: none;
  background: none;
}
.oliva-single .oliva-price__amount .woocommerce-Price-amount,
.oliva-single .oliva-price__amount bdi,
.oliva-single .oliva-price__amount ins {
  font-size: inherit;
}
.oliva-single .oliva-price--single .oliva-price__amount {
  font-size: 50px;
}
.oliva-single .oliva-price__amount del {
  font-size: 0.55em;
  font-weight: 400;
  opacity: 0.6;
  margin-right: 8px;
}
.oliva-single .oliva-price__unit {
  font-family: var(--oliva-font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  color: #707070;
}

.oliva-single .oliva-single__buy .stock {
  font-family: var(--oliva-font-sans);
  font-size: 18px;
  color: #707070;
  margin: 0 0 13px;
}
.oliva-single .oliva-single__buy form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  column-gap: 12px;
  row-gap: 10px;
  margin: 0 !important;
  padding: 0;
}
.oliva-single .oliva-single__qty-label {
  flex: 0 0 100%;
  font-family: var(--oliva-font-sans);
  font-size: 18px;
  line-height: 1.3;
  color: #707070;
}
.oliva-single .oliva-single__buy form.cart div.quantity {
  flex: 276 1 0;
  min-width: min(100%, 200px);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  float: none;
  margin: 0 !important;
  padding: 4px;
  min-height: 59px;
  border: 1px solid rgba(218, 184, 156, 0.15);
  border-radius: 30px;
  background: rgba(218, 184, 156, 0.64);
  box-sizing: border-box;
}
.oliva-single .oliva-single__buy form.cart div.quantity input.minus,
.oliva-single .oliva-single__buy form.cart div.quantity input.plus {
  flex: 0 1 auto;
  width: 100% !important;
  max-width: 76px;
  height: auto !important;
  min-height: 49px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 25px !important;
  background: var(--oliva-cream) !important;
  box-shadow: 0 0 30px rgba(241, 208, 161, 0.49) !important;
  font-family: var(--oliva-font-serif) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--oliva-brown) !important;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.oliva-single .oliva-single__buy form.cart div.quantity input.minus:hover,
.oliva-single .oliva-single__buy form.cart div.quantity input.plus:hover {
  background: #fff !important;
  color: var(--oliva-brown) !important;
  box-shadow: 0 0 30px rgba(241, 208, 161, 0.8) !important;
}
.oliva-single .oliva-single__buy form.cart div.quantity input.qty {
  flex: 1 1 auto;
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center;
  font-family: var(--oliva-font-serif) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--oliva-brown) !important;
  -moz-appearance: textfield;
  appearance: textfield;
}
.oliva-single .oliva-single__buy form.cart div.quantity input.qty::-webkit-outer-spin-button,
.oliva-single .oliva-single__buy form.cart div.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.oliva-single .oliva-single__buy form.cart .single_add_to_cart_button {
  flex: 560 1 0;
  min-width: min(100%, 220px);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 !important;
  padding: 0 24px !important;
  min-height: 59px;
  border: 1px solid rgba(218, 184, 156, 0.15) !important;
  border-radius: 30px !important;
  background: var(--oliva-purple) !important;
  color: var(--oliva-cream) !important;
  font-family: var(--oliva-font-serif) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.oliva-single .oliva-single__buy form.cart .single_add_to_cart_button::before {
  content: '';
  flex: 0 0 auto;
  width: 100%;
  max-width: 27px;
  aspect-ratio: 26.7 / 26;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.7 26'%3E%3Cpath d='M0 0.506C0.146 0.186 0.29 0.069 0.649 0.036C1.304 -0.026 2.902 -0.022 3.503 0.157C5.168 0.653 5.432 2.196 5.922 3.631C7.308 3.722 8.7 3.658 10.089 3.678C15.108 3.749 20.13 3.89 25.156 3.886C25.714 4.029 26.381 3.736 26.692 4.357L26.692 4.669C26.173 6.484 25.831 8.349 25.353 10.175C24.787 12.339 24.153 13.251 21.811 13.56L9.213 14.867C8.521 15.88 8.85 17.302 10.11 17.602L22.338 17.626C23.095 17.645 23.354 18.542 22.627 18.849L10.146 18.867C8.363 18.609 7.259 16.942 7.7 15.19C7.782 14.861 8.112 14.377 8.07 14.075L4.223 2.456C3.486 0.666 2.101 1.489 0.612 1.273C0.256 1.221 0.136 1.082 0 0.766L0 0.506Z M25.284 5.137L6.307 4.877L9.251 13.57L21.713 12.317C22.712 12.253 23.514 11.851 23.878 10.888L25.284 5.137Z M11.3 23.176C11.3 24.71 10.054 25.954 8.516 25.954C6.978 25.954 5.732 24.71 5.732 23.176C5.732 21.641 6.978 20.397 8.516 20.397C10.054 20.397 11.3 21.641 11.3 23.176Z M10.058 23.176C10.058 22.326 9.367 21.636 8.515 21.636C7.663 21.636 6.972 22.326 6.972 23.176C6.972 24.027 7.663 24.716 8.515 24.716C9.367 24.716 10.058 24.027 10.058 23.176Z M23.063 23.178C23.063 24.712 21.818 25.956 20.281 25.956C18.744 25.956 17.498 24.712 17.498 23.178C17.498 21.644 18.744 20.401 20.281 20.401C21.818 20.401 23.063 21.644 23.063 23.178Z M21.825 23.176C21.825 22.325 21.134 21.636 20.281 21.636C19.429 21.636 18.738 22.325 18.738 23.176C18.738 24.027 19.429 24.717 20.281 24.717C21.134 24.717 21.825 24.027 21.825 23.176Z' fill-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.7 26'%3E%3Cpath d='M0 0.506C0.146 0.186 0.29 0.069 0.649 0.036C1.304 -0.026 2.902 -0.022 3.503 0.157C5.168 0.653 5.432 2.196 5.922 3.631C7.308 3.722 8.7 3.658 10.089 3.678C15.108 3.749 20.13 3.89 25.156 3.886C25.714 4.029 26.381 3.736 26.692 4.357L26.692 4.669C26.173 6.484 25.831 8.349 25.353 10.175C24.787 12.339 24.153 13.251 21.811 13.56L9.213 14.867C8.521 15.88 8.85 17.302 10.11 17.602L22.338 17.626C23.095 17.645 23.354 18.542 22.627 18.849L10.146 18.867C8.363 18.609 7.259 16.942 7.7 15.19C7.782 14.861 8.112 14.377 8.07 14.075L4.223 2.456C3.486 0.666 2.101 1.489 0.612 1.273C0.256 1.221 0.136 1.082 0 0.766L0 0.506Z M25.284 5.137L6.307 4.877L9.251 13.57L21.713 12.317C22.712 12.253 23.514 11.851 23.878 10.888L25.284 5.137Z M11.3 23.176C11.3 24.71 10.054 25.954 8.516 25.954C6.978 25.954 5.732 24.71 5.732 23.176C5.732 21.641 6.978 20.397 8.516 20.397C10.054 20.397 11.3 21.641 11.3 23.176Z M10.058 23.176C10.058 22.326 9.367 21.636 8.515 21.636C7.663 21.636 6.972 22.326 6.972 23.176C6.972 24.027 7.663 24.716 8.515 24.716C9.367 24.716 10.058 24.027 10.058 23.176Z M23.063 23.178C23.063 24.712 21.818 25.956 20.281 25.956C18.744 25.956 17.498 24.712 17.498 23.178C17.498 21.644 18.744 20.401 20.281 20.401C21.818 20.401 23.063 21.644 23.063 23.178Z M21.825 23.176C21.825 22.325 21.134 21.636 20.281 21.636C19.429 21.636 18.738 22.325 18.738 23.176C18.738 24.027 19.429 24.717 20.281 24.717C21.134 24.717 21.825 24.027 21.825 23.176Z' fill-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
}
.oliva-single .oliva-single__buy form.cart .single_add_to_cart_button.processing::before {
  display: none;
}
.oliva-single .oliva-single__buy form.cart .single_add_to_cart_button:hover {
  background: #2c2129 !important;
  color: var(--oliva-cream) !important;
}
.oliva-single .oliva-single__buy form.cart .single_add_to_cart_button:disabled,
.oliva-single .oliva-single__buy form.cart .single_add_to_cart_button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.oliva-single .oliva-related {
  background-color: var(--oliva-purple);
  background-image: url('/wp-content/themes/salient-child/assets/img/bg-dark.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  color: var(--oliva-cream-gold);
  padding: clamp(64px, 6vw, 100px) 0 clamp(64px, 6vw, 110px);
  position: relative;
}
.oliva-single .oliva-related > * {
  position: relative;
  z-index: 1;
}
.oliva-single .oliva-related__title {
  font-family: var(--oliva-font-serif) !important;
  font-size: clamp(36px, 3.65vw, 50px) !important;
  font-weight: 400 !important;
  color: #fff !important;
  text-align: center;
  margin: 0 0 48px !important;
  line-height: 1.1;
}
.oliva-single .oliva-related__title em {
  font-style: normal;
  font-weight: 700 !important;
  color: #fff;
}

.oliva-single .oliva-related__swiper {
  width: 100%;
  overflow: visible;
  padding-block: 8px;
  margin-block: -8px;
}
.oliva-single .oliva-related__swiper .swiper-wrapper {
  align-items: stretch;
}
.oliva-single .oliva-related__swiper .swiper-slide {
  height: auto;
}

.oliva-single .oliva-product-card {
  background: #fff !important;
  border: 1px solid rgba(218, 184, 156, 0.15);
  border-radius: 15px;
  display: flex !important;
  flex-direction: column;
  margin-block: 0;
  margin-left: 0;
  padding: 16px !important;
  width: auto;
  max-width: none;
  text-decoration: none;
  color: var(--oliva-text);
  position: relative;
  box-shadow: 0 0 24px 0 rgba(241, 208, 161, 0.20);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.oliva-single .oliva-product-card__link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  text-decoration: none !important;
  color: inherit !important;
}
.oliva-single .oliva-product-card:hover {
  transform: translateY(-4px);
}
.oliva-single .oliva-product-card__media {
  flex: 0 0 auto;
  aspect-ratio: 416 / 330;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  overflow: hidden;
  border-radius: 12px;
}
.oliva-single .oliva-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.oliva-single .oliva-product-card__body {
  padding: 16px 0 0;
  flex: 0 0 auto;
  min-height: 0;
  display: block;
}
.oliva-single .oliva-product-card__title {
  font-family: var(--oliva-font-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: var(--oliva-text);
  line-height: 1.2;
}
.oliva-single .oliva-product-card__meta {
  font-family: var(--oliva-font-sans) !important;
  font-size: 16px !important;
  color: var(--oliva-brown) !important;
  margin: 9px 0 8px !important;
  padding-bottom: 0 !important;
  line-height: 1.2 !important;
}
.oliva-single .oliva-product-card__weight {
  font-family: var(--oliva-font-sans) !important;
  font-size: 16px !important;
  color: var(--oliva-text) !important;
  opacity: 0.72;
  margin: 0 !important;
  line-height: 1.2 !important;
}
.oliva-single .oliva-product-card__divider {
  border: 0;
  height: 1px;
  background: rgba(127, 69, 43, 0.3);
  margin: auto 0 0 !important;
  flex-shrink: 0;
}

.oliva-single .oliva-related__swiper {
  padding-bottom: 56px;
}
.oliva-single .oliva-related__scrollbar.swiper-scrollbar {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 16px;
  width: 100%;
  max-width: 400px;
  height: 5px;
  background: rgba(255, 244, 229, 0.18);
  border-radius: 3px;
  margin: 0;
  z-index: 5;
  cursor: pointer;
}
.oliva-single .oliva-related__scrollbar .swiper-scrollbar-drag {
  background: var(--oliva-cream-light);
  border-radius: 3px;
  cursor: grab;
}
.oliva-single .oliva-related__scrollbar .swiper-scrollbar-drag:active {
  cursor: grabbing;
}
.oliva-single .oliva-related__swiper.swiper-scrollbar-lock .oliva-related__scrollbar,
.oliva-single .oliva-related__swiper.swiper-locked + .oliva-related__scrollbar,
.oliva-single .oliva-related__swiper.swiper-locked .oliva-related__scrollbar {
  display: none;
}

.oliva-single .oliva-fbt {
  background: var(--oliva-cream);
  padding: clamp(56px, 6vw, 96px) 0 clamp(48px, 5vw, 80px);
  position: relative;
  overflow: hidden;
}
.oliva-single .oliva-fbt::before {
  content: '';
  position: absolute;
  top: 40px;
  bottom: 40px;
  right: -70px;
  width: 30%;
  background-image: url('/wp-content/themes/salient-child/assets/img/bg-light.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: left center;
  pointer-events: none;
  z-index: 0;
}
.oliva-single .oliva-fbt::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 801px;
  aspect-ratio: 1 / 1;
  background-image: url('/wp-content/themes/salient-child/assets/img/circle.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(40%, -65%) rotate(-7deg);
  transform-origin: center center;
  pointer-events: none;
  z-index: 0;
}
.oliva-single .oliva-fbt > * {
  position: relative;
  z-index: 1;
}
.oliva-single .oliva-fbt__title {
  font-family: var(--oliva-font-serif) !important;
  font-size: clamp(36px, 3.65vw, 50px) !important;
  font-weight: 400 !important;
  color: var(--oliva-text) !important;
  text-align: left;
  margin: 0 0 48px !important;
  line-height: 1.1;
}
.oliva-single .oliva-fbt__title em {
  font-style: normal;
  font-weight: 700;
}

.oliva-single .oliva-fbt-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.oliva-single .oliva-fbt-card {
  background: #fff;
  border: 1px solid rgba(218, 184, 156, 0.15);
  border-radius: 15px;
  display: flex;
  align-items: stretch;
  position: relative;
  padding: 16px;
  color: var(--oliva-text);
  box-shadow: 0 0 60px 0 rgba(241, 208, 161, 0.49);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.oliva-single .oliva-fbt-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 70px 0 rgba(241, 208, 161, 0.6);
}
.oliva-single .oliva-fbt-card__link {
  display: flex;
  align-items: stretch;
  gap: 24px;
  flex: 1 1 auto;
  min-width: 0;
  text-decoration: none !important;
  color: inherit !important;
}
.oliva-single .oliva-fbt-card__media {
  flex: 0 0 38%;
  background: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  align-self: stretch;
  overflow: hidden;
}
.oliva-single .oliva-fbt-card__media img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: 100%;
  object-fit: cover;
}
.oliva-single .oliva-fbt-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 4px 0;
}
.oliva-single .oliva-fbt-card__title {
  font-family: var(--oliva-font-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--oliva-text);
  margin: 0 !important;
  line-height: 1.2;
}
.oliva-single .oliva-fbt-card__weight {
  font-family: var(--oliva-font-sans);
  font-size: 14px;
  color: var(--oliva-text);
  opacity: 0.72;
  margin: 4px 0 0 !important;
  padding: 0 !important;
}
.oliva-single .oliva-fbt-card__divider {
  border: 0;
  height: 1px;
  background: rgba(127, 69, 43, 0.3);
  margin: auto 0 16px !important;
}

.oliva-single .oliva-fbt-card:not(:has(.oliva-price)) .oliva-fbt-card__divider {
  display: none;
}
.oliva-single .oliva-fbt-card:not(:has(.oliva-price)) .oliva-fbt-card__footer {
  margin-top: auto;
}

.oliva-single .oliva-catalogo {
  background: var(--oliva-cream);
  padding: clamp(40px, 4vw, 64px) 0 0;
  position: relative;
  overflow: hidden;
}
.oliva-single .oliva-catalogo::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 801px;
  aspect-ratio: 1 / 1;
  background-image: url('/wp-content/themes/salient-child/assets/img/circle.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(40%, 65%) rotate(-7deg);
  transform-origin: center center;
  pointer-events: none;
  z-index: 0;
}
.oliva-single .oliva-catalogo > * {
  position: relative;
  z-index: 1;
}
.oliva-single .oliva-catalogo__row {
  display: grid;
  grid-template-columns: minmax(0, 60fr) minmax(0, 40fr);
  gap: 0;
  align-items: center;
  max-width: var(--oliva-container);
  margin-inline: auto;
  padding-right: clamp(20px, 5.21vw, 100px);
}
.oliva-single .oliva-catalogo__media {
  overflow: hidden;
  aspect-ratio: 1274 / 774;
}
.oliva-single .oliva-catalogo__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.oliva-single .oliva-catalogo__title {
  font-family: var(--oliva-font-serif) !important;
  font-size: clamp(32px, 3.5vw, 48px) !important;
  font-weight: 400 !important;
  color: var(--oliva-text) !important;
  line-height: 1.15 !important;
  margin: 0 0 36px !important;
}
.oliva-single .oliva-catalogo__title em {
  font-style: normal !important;
  font-weight: 700 !important;
  color: var(--oliva-brown) !important;
}

.oliva-single .oliva-single__hero h1,
.oliva-single .oliva-single__hero h2,
.oliva-single .oliva-single__hero h3,
.oliva-single .oliva-single__hero h4,
.oliva-single .oliva-fbt h2,
.oliva-single .oliva-fbt h3,
.oliva-single .oliva-fbt h4,
.oliva-single .oliva-catalogo h2,
.oliva-single .oliva-catalogo h3,
.oliva-single .oliva-catalogo h4 {
  color: var(--oliva-text) !important;
}
.oliva-single .oliva-single__hero h1 strong,
.oliva-single .oliva-single__hero h1 em,
.oliva-single .oliva-single__hero h2 strong,
.oliva-single .oliva-single__hero h2 em,
.oliva-single .oliva-single__hero h3 strong,
.oliva-single .oliva-single__hero h3 em,
.oliva-single .oliva-single__hero h4 strong,
.oliva-single .oliva-single__hero h4 em,
.oliva-single .oliva-fbt h2 strong,
.oliva-single .oliva-fbt h2 em,
.oliva-single .oliva-fbt h3 strong,
.oliva-single .oliva-fbt h3 em,
.oliva-single .oliva-fbt h4 strong,
.oliva-single .oliva-fbt h4 em,
.oliva-single .oliva-catalogo h2 strong,
.oliva-single .oliva-catalogo h2 em,
.oliva-single .oliva-catalogo h3 strong,
.oliva-single .oliva-catalogo h3 em,
.oliva-single .oliva-product-card__title strong,
.oliva-single .oliva-product-card__title em,
.oliva-single .oliva-fbt-card__title strong,
.oliva-single .oliva-fbt-card__title em {
  color: var(--oliva-brown) !important;
}
.oliva-single .oliva-fbt__title em {
  color: var(--oliva-brown) !important;
}
.oliva-single .oliva-related > .oliva-wrap > h2,
.oliva-single .oliva-related > .oliva-wrap > h2 strong,
.oliva-single .oliva-related > .oliva-wrap > h2 em,
.oliva-single .oliva-related__title,
.oliva-single .oliva-related__title strong,
.oliva-single .oliva-related__title em {
  color: #fff !important;
}
.oliva-single .oliva-related .oliva-product-card__title {
  color: var(--oliva-text) !important;
}
.oliva-single .oliva-related__swiper .swiper-wrapper {
  align-items: stretch;
}
.oliva-single .oliva-related .oliva-product-card.swiper-slide {
  height: auto;
}
.oliva-single .oliva-catalogo__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--oliva-purple);
  color: var(--nectar-bg-color, #FFF4E5);
  border: 1px solid #DAB89C;
  border-radius: 999px;
  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;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.oliva-single .oliva-catalogo__btn:hover {
  background: #2c2129;
  color: var(--nectar-bg-color, #FFF4E5);
  border-color: #DAB89C;
  transform: translateY(-1px);
}

@keyframes oliva-single-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
.oliva-single .oliva-single__media,
.oliva-single .oliva-single__title,
.oliva-single .oliva-single__attrs,
.oliva-single .oliva-single__desc,
.oliva-single .oliva-single__buy,
.oliva-single .oliva-related__title,
.oliva-single .oliva-fbt__title,
.oliva-single .oliva-catalogo__title,
.oliva-single .oliva-catalogo__btn,
.oliva-single .oliva-fbt-card,
.oliva-single .oliva-related__swiper .swiper-slide {
  animation: oliva-single-fade-up 0.7s ease-out both;
}
.oliva-single .oliva-single__media { animation-delay: 0.05s; }
.oliva-single .oliva-single__title { animation-delay: 0.10s; }
.oliva-single .oliva-single__attrs { animation-delay: 0.20s; }
.oliva-single .oliva-single__desc { animation-delay: 0.28s; }
.oliva-single .oliva-single__buy { animation-delay: 0.34s; }
.oliva-single .oliva-related__title { animation-delay: 0.10s; }
.oliva-single .oliva-related__swiper .swiper-slide:nth-child(1) { animation-delay: 0.20s; }
.oliva-single .oliva-related__swiper .swiper-slide:nth-child(2) { animation-delay: 0.28s; }
.oliva-single .oliva-related__swiper .swiper-slide:nth-child(3) { animation-delay: 0.36s; }
.oliva-single .oliva-related__swiper .swiper-slide:nth-child(4) { animation-delay: 0.44s; }
.oliva-single .oliva-related__swiper .swiper-slide:nth-child(n+5) { animation-delay: 0.52s; }
.oliva-single .oliva-fbt__title { animation-delay: 0.10s; }
.oliva-single .oliva-fbt-card:nth-child(1) { animation-delay: 0.18s; }
.oliva-single .oliva-fbt-card:nth-child(2) { animation-delay: 0.24s; }
.oliva-single .oliva-fbt-card:nth-child(3) { animation-delay: 0.30s; }
.oliva-single .oliva-fbt-card:nth-child(4) { animation-delay: 0.36s; }
.oliva-single .oliva-fbt-card:nth-child(5) { animation-delay: 0.42s; }
.oliva-single .oliva-fbt-card:nth-child(6) { animation-delay: 0.48s; }

@media (prefers-reduced-motion: reduce) {
  .oliva-single *,
.oliva-single *::before,
.oliva-single *::after {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 1280px) {
  .oliva-single .oliva-single__hero-grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  }
}
@media (max-width: 1024px) {
  .oliva-single .oliva-fbt-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .oliva-single .oliva-catalogo__row {
    grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
  }
}
@media (max-width: 900px) {
  .oliva-single .oliva-single__hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-inline: clamp(20px, 5vw, 60px);
  }
  .oliva-single .oliva-single__hero {
    padding-bottom: clamp(40px, 8vw, 64px);
  }
  .oliva-single .oliva-single__media {
    aspect-ratio: auto;
    max-height: none;
  }
  .oliva-single .oliva-single__image {
    max-height: min(55vh, 420px);
  }
  .oliva-single .oliva-single__title {
    font-size: clamp(28px, 5.5vw, 40px) !important;
    margin-bottom: 24px !important;
  }
  .oliva-single .oliva-single__buy { margin-top: 36px; }
  .oliva-single .oliva-single__price { margin-bottom: 32px; }
  .oliva-single .oliva-price--single .oliva-price__amount { font-size: 42px; }

  .oliva-single .oliva-related__title,
.oliva-single .oliva-fbt__title {
    font-size: clamp(28px, 5.5vw, 40px) !important;
    margin-bottom: 32px !important;
  }

  .oliva-single .oliva-fbt-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .oliva-single .oliva-fbt-card { min-height: 0; }
  .oliva-single .oliva-fbt-card__link { gap: 16px; }
  .oliva-single .oliva-price--single { gap: 10px; }
  .oliva-single .oliva-fbt-card__media { flex: 0 0 35%; }

  .oliva-single .oliva-catalogo {
    padding-bottom: clamp(48px, 7vw, 80px);
  }
  .oliva-single .oliva-catalogo__row {
    grid-template-columns: 1fr;
    padding-right: clamp(20px, 5vw, 60px);
    padding-left: clamp(20px, 5vw, 60px);
    gap: 32px;
  }
}
@media (max-width: 600px) {
  .oliva-single .oliva-fbt-card {
    padding: 12px;
  }
  .oliva-single .oliva-fbt-card__link { gap: 12px; }
  .oliva-single .oliva-fbt-card__media { flex: 0 0 38%; padding: 8px; }
  .oliva-single .oliva-fbt-card__title { font-size: 16px !important; }

  .oliva-single .oliva-single__buy form.cart div.quantity,
.oliva-single .oliva-single__buy form.cart .single_add_to_cart_button {
    flex: 1 1 100%;
  }
}
