/* Variables: active variables stylesheet selected by the master layout. */
.cart-button {
  position: relative;
  width: var(--shop-cart-width) !important;
  height: 3.2rem;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0.4rem;
  color: var(--shop-cart-foreground);
  background: var(--shop-cart-background);
  font-family: 'Poppins', sans-serif !important;
  box-shadow: inset 0 -3px 0 var(--shop-cart-shadow) !important;
  cursor: pointer;
  isolation: isolate;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: transform 170ms ease, box-shadow 170ms ease;
}
.cart-button:hover:not(:disabled) {
  transform: translateY(-0.1rem);
  box-shadow: 0 0.46rem 0.92rem var(--shop-cart-shadow), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}
.cart-button:active:not(:disabled) {
  transform: translateY(0) scale(0.985);
}
.cart-button.cart-button--prominent {
  height: 42px;
  background: var(--shop-cart-background);
  color: var(--shop-cart-foreground) !important;
  border-radius: 6px;
  box-shadow: inset 0 -3px 0 var(--shop-cart-shadow);
}
.cart-button--prominent .cart-button__label {
  left: calc(50% - 25px);
  font-size: 14px;
  color: var(--shop-cart-foreground) !important;
}
.cart-button--prominent .cart-button__cart {
  width: 24px;
  height: 24px;
  color: var(--shop-cart-foreground) !important;
}
:is(.featured-products .featured-cart, .product-list-island) .cart-button.cart-button--prominent,
:is(.featured-products .featured-cart, .product-list-island) .cart-button.cart-button--prominent:hover:not(:disabled),
:is(.featured-products .featured-cart, .product-list-island) .cart-button.cart-button--prominent:active:not(:disabled) {
  height: 42px !important;
  box-shadow: inset 0 -3px 0 var(--shop-cart-shadow) !important;
}
.cart-button.cart-button--prominent:focus-visible {
  outline: 2px solid var(--site-accent-hover) !important;
  outline-offset: 3px;
}
.cart-button__stage {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  color: inherit;
}
.cart-button__label {
  position: absolute;
  top: 50%;
  left: 3.8rem;
  display: block;
  white-space: nowrap;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1;
  opacity: 1;
  transform: translateY(-50%);
}
.cart-button__cart {
  position: absolute;
  top: 50%;
  left: var(--shop-cart-icon-start);
  width: 1.9rem;
  height: 1.9rem;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  transform: translateY(-60%);
  transform-origin: 50% 70%;
}
.cart-button__basket-fill {
  fill: currentColor;
  stroke: none;
  opacity: 0;
}
.cart-button__check {
  fill: none;
  stroke: var(--shop-cart-success);
  stroke-dasharray: 8;
  stroke-dashoffset: 8;
  stroke-width: 1.9;
}
.cart-button__lightbulb {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--shop-cart-foreground);
  opacity: 0;
  filter: drop-shadow(0 0.1rem 0.07rem rgba(0, 0, 0, 0.12));
  pointer-events: none;
}
.cart-button.is-animating {
  animation: button-settle var(--anim-duration, 2.45s) cubic-bezier(0.2, 0.72, 0.2, 1) both,
    button-color var(--anim-duration, 2.45s) ease-in-out both;
}
.cart-button.is-animating .cart-button__label {
  animation: label-cycle var(--anim-duration, 2.45s) cubic-bezier(0.22, 0.7, 0.2, 1) both;
}
.cart-button.is-animating .cart-button__cart {
  animation: cart-cycle var(--anim-duration, 2.45s) cubic-bezier(0.22, 0.72, 0.2, 1) both;
}
.cart-button.is-animating .cart-button__basket-fill {
  animation: basket-fill var(--anim-duration, 2.45s) ease-in-out both;
}
.cart-button.is-animating .cart-button__check {
  animation: check-draw var(--anim-duration, 2.45s) ease-in-out both;
}
.cart-button.is-animating .cart-button__lightbulb {
  animation: lightbulb-cycle var(--anim-duration, 2.45s) cubic-bezier(0.22, 0.7, 0.2, 1) both;
}
@keyframes button-settle {
  0% { transform: scale(1); }
  2.5% { transform: scale(0.985); }
  7% { transform: scale(1); }
  100% { transform: scale(1); }
}
@keyframes button-color {
  0%, 30% { background: var(--shop-cart-background); }
  60%, 70% { background: var(--shop-cart-success); }
  95%, 100% { background: var(--shop-cart-background); }
}
@keyframes label-cycle {
  0%, 3% { opacity: 1; transform: translateY(-50%) translateX(0); }
  14% { opacity: 0; transform: translateY(-50%) translateX(-0.6rem); }
  80% { opacity: 0; transform: translateY(-50%) translateX(0.8rem); }
  94%, 100% { opacity: 1; transform: translateY(-50%) translateX(0); }
}
@keyframes cart-cycle {
  0%, 3% { opacity: 1; transform: translateY(-50%) translateX(0) rotate(0deg) scale(1); }
  17%, 59% { opacity: 1; transform: translateY(-50%) translateX(var(--shop-cart-icon-travel)) rotate(0deg) scale(1.04); }
  65% { transform: translateY(-50%) translateX(var(--shop-cart-icon-travel)) rotate(-11deg) scale(1.08); }
  70% { transform: translateY(-50%) translateX(calc(var(--shop-cart-icon-travel) + 0.24rem)) rotate(15deg) scale(1.08); }
  75% { transform: translateY(-50%) translateX(calc(var(--shop-cart-icon-travel) - 0.19rem)) rotate(-8deg) scale(1.05); }
  80% { opacity: 1; transform: translateY(-50%) translateX(var(--shop-cart-icon-travel)) rotate(0deg) scale(1); }
  88% { opacity: 0; transform: translateY(-50%) translateX(8.4rem) rotate(0deg) scale(0.94); }
  89% { opacity: 0; transform: translateY(-50%) translateX(-2.6rem) rotate(0deg) scale(0.95); }
  100% { opacity: 1; transform: translateY(-50%) translateX(0) rotate(0deg) scale(1); }
}
@keyframes basket-fill {
  0%, 53% { opacity: 0; }
  59%, 79% { opacity: 1; }
  87%, 100% { opacity: 0; }
}
@keyframes check-draw {
  0%, 56% { opacity: 0; stroke-dashoffset: 8; }
  62%, 80% { opacity: 1; stroke-dashoffset: 0; }
  87%, 100% { opacity: 0; stroke-dashoffset: 0; }
}
@keyframes lightbulb-cycle {
  0%, 8% { opacity: 0; transform: translate(-50%, -50%) translateY(0.28rem) scale(0.3); }
  11% { opacity: 0.2; transform: translate(-50%, -50%) translateY(0) scale(0.36); }
  16% { opacity: 1; transform: translate(-50%, -50%) translateY(-1.24rem) scale(0.7); }
  25% { opacity: 1; transform: translate(-50%, -50%) translateY(-2.52rem) scale(1); }
  38% { opacity: 1; transform: translate(-50%, -50%) translateY(-2.64rem) scale(1); }
  52% { opacity: 1; transform: translate(-50%, -50%) translateY(-1.2rem) scale(0.9); }
  60% { opacity: 1; transform: translate(-50%, -50%) translateY(0.1rem) scale(0.55); }
  65%, 100% { opacity: 0; transform: translate(-50%, -50%) translateY(0.4rem) scale(0.22); }
}
@media (prefers-reduced-motion: reduce) {
  .cart-button, .cart-button__label, .cart-button__cart, .cart-button__basket-fill, .cart-button__check, .cart-button__lightbulb {
    animation-duration: 1ms !important;
    animation-delay: 0ms !important;
    transition-duration: 1ms !important;
  }
}

.featured-cart .cart-button { max-width: 100%; margin-left: auto; margin-right: auto; }
.cart-button-feedback { margin: 10px 0 0; font-size: 12px; line-height: 1.5; color: #9f3412; }
html.dark .cart-button-feedback { color: #fdba74 !important; }
html.dark .center .cart-button--prominent :is(.cart-button__stage, .cart-button__label, .cart-button__cart) {
  color: var(--shop-cart-foreground) !important;
}

/* Let featured cards grow to fit the button below the brand logo. */
.featured-products .owl-carousel .item,
.featured-products .owl-carousel .item .prod-inner {
  height: auto;
  overflow: visible;
}

/* Stretch each card to the row height and anchor its action below the copy.
   Owl still owns the item widths, gutters and horizontal movement. */
.featured-products .featured-responsive .owl-stage {
  display: flex;
  align-items: stretch;
}
.featured-products .featured-responsive .owl-item {
  display: flex;
  flex: 0 0 auto;
  height: auto !important;
}
.featured-products .featured-responsive .item,
.featured-products .featured-responsive .item > div,
.featured-products .featured-responsive .item .prod-inner {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}
.featured-products .featured-responsive .item .img,
.featured-products .featured-responsive .prod-inner > * {
  flex-shrink: 0;
}
.featured-products .featured-responsive .featured-cart {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  margin-top: auto;
  padding-top: 12px;
  padding-bottom: 20px;
  text-align: center;
}
.featured-products .featured-responsive .featured-cart .addtocart {
  float: none !important;
  margin: 0 auto !important;
}
.featured-products .featured-responsive .prod-inner > .clearfix {
  display: none;
}
