/* Shared homepage / product recommendation carousel. Avada retains its cards, links and prices. */
:is(.home, .smd-product-page) .fusion-fullwidth:has(.smd-home-products) {
  --smd-carousel-green: var(--awb-custom_color_1, #0f3d32);
  padding-inline: max(clamp(18px, 4vw, 76px), calc((100% - 1440px) / 2)) !important;
  padding-block: 32px 36px;
  background-image: radial-gradient(ellipse at 12% 60%, rgb(15 61 50 / 4%), transparent 65%);
}
/* The section heading belongs to Avada: no font, alignment or decoration override. */
:is(.home, .smd-product-page) .smd-home-products {
  --smd-carousel-green: var(--awb-custom_color_1, #0f3d32);
  width: 100%;
  max-width: 100% !important;
  padding: 18px 2px 0;
  margin-bottom: 0;
  overflow: hidden;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  font-family: var(--awb-typography4-font-family, Montserrat), Arial, sans-serif;
}
:is(.home, .smd-product-page) .smd-home-products > .swiper-wrapper {
  height: auto !important;
  align-items: stretch !important;
}
:is(.home, .smd-product-page) .smd-home-products > .swiper-wrapper > .swiper-slide {
  height: auto !important;
  margin-block: 0 !important;
  align-self: stretch;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr auto;
  height: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 14px 20px !important;
  border: 0;
  border-radius: 22px;
  background: transparent;
  box-shadow: none;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 54px 0 0;
  border: 1px solid color-mix(in srgb, var(--smd-carousel-green) 12%, var(--awb-color1, #fffdf9));
  border-top-color: transparent;
  border-radius: inherit;
  background: radial-gradient(ellipse at 50% 0%, rgb(15 61 50 / 5%), transparent 65%), var(--awb-color1, #fffdf9);
  box-shadow: 0 14px 26px -15px rgb(15 61 50 / 28%),
    0 6px 18px -9px color-mix(in srgb, var(--awb-color4, #f75a45) 24%, transparent);
  transition: border-color .25s, box-shadow .25s;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-post-card-image {
  grid-column: 1 / -1;
  position: relative;
  width: 100%;
  height: 206px;
  margin: 0 0 12px !important;
  overflow: visible;
  background: var(--awb-color1, #fffdf9);
}
/* A soft ground shadow and a lifted photo; never crop or replace catalogue assets. */
:is(.home, .smd-product-page) .smd-home-products .fusion-post-card-image::before {
  content: '';
  position: absolute;
  z-index: 1;
  pointer-events: none;
  width: 62%;
  height: 14px;
  left: 19%;
  bottom: 6px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgb(15 61 50 / 15%), rgb(15 61 50 / 3%) 55%, transparent 72%);
  transform: scaleX(.9);
  transition: transform .4s, opacity .4s;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-image-wrapper {
  display: block;
  z-index: 0;
  width: 100%;
  height: 100% !important;
  overflow: visible;
  background: var(--awb-color1, #fffdf9);
}
:is(.home, .smd-product-page) .smd-home-products .fusion-image-wrapper > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-image-wrapper img {
  width: 80%;
  height: 186px;
  max-width: 224px;
  max-height: calc(100% - 20px);
  object-fit: contain;
  border-radius: 8px;
  transform: translateY(-7px);
  transition: transform .4s;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-title {
  grid-column: 1 / -1;
  margin: 0 8px 14px !important;
  padding: 0;
  min-height: 2.65em;
  font-size: 17px !important;
  text-align: center !important;
  justify-content: center;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-title-heading {
  font-family: var(--awb-typography2-font-family, Montserrat), Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: var(--awb-typography2-font-weight, 700) !important;
  line-height: 1.35 !important;
  letter-spacing: -.015em !important;
  text-align: center !important;
  color: var(--awb-color7, #202020) !important;
  text-transform: none !important;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-title-heading a {
  color: var(--awb-color7, #202020) !important;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-woo-price-tb {
  grid-column: 1 / -1;
  width: auto;
  margin: 0 8px !important;
  text-align: left !important;
  align-self: center;
  justify-self: start;
  float: none;
}
:is(.home, .smd-product-page) .smd-home-products .price,
:is(.home, .smd-product-page) .smd-home-products .price .amount {
  color: var(--smd-carousel-green) !important;
  font-size: 18px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  letter-spacing: -.02em !important;
}
:is(.home, .smd-product-page) .smd-home-products .price {
  margin: 0;
  text-align: left;
  justify-content: flex-start !important;
  flex-wrap: wrap;
}
:is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper:has(.smd-home-products__link) .fusion-woo-price-tb { grid-column: 1; }
:is(.home, .smd-product-page) .smd-home-products .price del,
:is(.home, .smd-product-page) .smd-home-products .price del .amount {
  color: var(--awb-color6, #6b6b6b) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}
:is(.home, .smd-product-page) .smd-home-products .price ins { background: none; }
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__link {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  justify-self: end;
  min-height: 44px;
  margin: 0 8px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--awb-color5, #f2354b) 28%, transparent);
  background: linear-gradient(115deg, color-mix(in srgb, var(--awb-color4, #f75a45) 8%, transparent), color-mix(in srgb, var(--awb-color5, #f2354b) 5%, transparent));
  color: var(--smd-carousel-green);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
:is(.home, .smd-product-page) .smd-home-products[data-smd-carousel-ready] > :is(.awb-swiper-button, .swiper-pagination) { display: none; }
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__controls {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 25px 0 0;
  color: var(--smd-carousel-green);
  cursor: default;
}
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__controls[hidden] { display: none; }
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__hint {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__track {
  flex: 1;
  min-width: 24px;
  height: 3px;
  margin-inline: 12px;
  border-radius: 3px;
  overflow: hidden;
  background: color-mix(in srgb, var(--smd-carousel-green) 12%, transparent);
}
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(100deg, var(--awb-color4, #f75a45), var(--awb-color5, #f2354b));
  transition-property: transform;
  transition-timing-function: ease;
}
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--smd-carousel-green) 18%, transparent);
  border-radius: 14px;
  background: var(--awb-color1, #fffdf9);
  color: var(--smd-carousel-green);
  cursor: pointer;
  box-shadow: none;
}
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__arrow--next {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(125deg, var(--awb-color4, #f75a45), var(--awb-color5, #f2354b));
}
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__arrow[aria-disabled="true"] {
  opacity: .35;
  cursor: default;
}
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__arrow svg { width: 21px; height: 21px; }
:is(.home, .smd-product-page) .smd-home-products .smd-home-products__arrow--prev svg { transform: rotate(180deg); }
:is(.home, .smd-product-page) .smd-home-products :is(a, button):focus-visible {
  outline: 2px solid var(--smd-carousel-green);
  outline-offset: 3px;
}
/* Readable, scrollable fallback if the native slider/JavaScript is unavailable. */
:is(.home, .smd-product-page) .smd-home-products:not(.swiper-initialized) { overflow-x: auto; scroll-snap-type: x mandatory; }
:is(.home, .smd-product-page) .smd-home-products:not(.swiper-initialized) > .swiper-wrapper { display: flex; gap: 18px; }
:is(.home, .smd-product-page) .smd-home-products:not(.swiper-initialized) .swiper-slide { flex: 0 0 25%; scroll-snap-align: start; }
@media (hover: hover) {
  :is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper:hover::before {
    border-color: color-mix(in srgb, var(--smd-carousel-green) 32%, transparent);
    border-top-color: transparent;
    box-shadow: 0 18px 30px -16px rgb(15 61 50 / 32%),
      0 8px 22px -10px color-mix(in srgb, var(--awb-color4, #f75a45) 30%, transparent);
  }
  :is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper:hover .fusion-image-wrapper img { transform: translateY(-13px) rotate(-1.5deg); }
  :is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper:hover .fusion-post-card-image::before { transform: scaleX(.75); opacity: .65; }
  :is(.home, .smd-product-page) .smd-home-products .smd-home-products__link:hover { border-color: var(--awb-color5, #f2354b); }
}
:is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper:focus-within .fusion-image-wrapper img { transform: translateY(-13px); }
@media (max-width: 800px) {
  :is(.home, .smd-product-page) .fusion-fullwidth:has(.smd-home-products) { padding-block: 24px 30px; }
  :is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper { border-radius: 20px; padding-bottom: 16px !important; }
  :is(.home, .smd-product-page) .smd-home-products .fusion-post-card-image { height: 190px; }
  :is(.home, .smd-product-page) .smd-home-products .fusion-image-wrapper img { height: 170px; max-width: 205px; }
  :is(.home, .smd-product-page) .smd-home-products .smd-home-products__controls { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; gap: 8px; padding-top: 18px; }
  :is(.home, .smd-product-page) .smd-home-products .smd-home-products__hint { font-size: 11px; }
  :is(.home, .smd-product-page) .smd-home-products .smd-home-products__track { order: 5; grid-column: 1 / -1; margin: 6px 0 0; }
  :is(.home, .smd-product-page) .smd-home-products:not(.swiper-initialized) .swiper-slide { flex-basis: 86%; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.home, .smd-product-page) .smd-home-products *, :is(.home, .smd-product-page) .smd-home-products *::before, :is(.home, .smd-product-page) .smd-home-products *::after { transition: none !important; }
  :is(.home, .smd-product-page) .smd-home-products .fusion-carousel-item-wrapper .fusion-image-wrapper img { transform: translateY(-7px); }
}
