/* SIIK cart bundle offer, inside the side cart (dark). Scoped to .siik-offer */
.siik-offer-wrap { padding: 4px 16px 12px; }
.siik-offer {
  display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; align-items: center;
  padding: 14px; border-radius: 16px;
  border: 1px solid rgba(177, 151, 255, .45);
  background: radial-gradient(120% 140% at 0% 0%, rgba(139, 92, 246, .28), transparent 60%), rgba(255, 255, 255, .03);
  color: #F4F4F8; font-family: Roboto, system-ui, sans-serif; font-weight: 400; line-height: 1.35; text-align: left;
}
.siik-offer * { box-sizing: border-box; }
.siik-offer p { margin: 0; }
.siik-offer-covers { position: relative; height: 76px; }
.siik-offer-covers img {
  position: absolute; top: 4px; width: 56px; height: 68px; max-width: none; object-fit: contain;
  left: calc(var(--i) * 7px);
  transform: rotate(calc((var(--i) - 1.5) * 4deg));
  z-index: calc(10 - var(--i));
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .5));
}
.siik-offer-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.siik-offer-kicker { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; color: #A7AEC4; }
.siik-offer-save { padding: 2px 8px; border-radius: 999px; background: #8ff0b0; color: #0D0D17; font-size: 11px; font-weight: 700; }
.siik-offer-title { font-family: Poppins, system-ui, sans-serif; font-size: 15px; font-weight: 600; line-height: 1.3; color: #F4F4F8; }
.siik-offer-sub { font-size: 13px; color: #A7AEC4; }
.siik-offer .siik-offer-btn {
  all: unset; box-sizing: border-box; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
  margin-top: 8px; height: 38px; padding: 0 16px; border-radius: 10px;
  background: #B197FF; color: #0D0D17; font-family: Roboto, system-ui, sans-serif; font-size: 14px; font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
  transition: background-color .15s, opacity .15s;
}
.siik-offer .siik-offer-btn:hover { background: #C7B6FF; }
.siik-offer .siik-offer-btn:focus-visible { outline: 2px solid #F4F4F8; outline-offset: 2px; }
.siik-offer .siik-offer-btn.is-loading { opacity: .7; cursor: progress; }
@media (max-width: 420px) {
  .siik-offer { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .siik-offer-covers { height: 64px; }
  .siik-offer-covers img { width: 46px; height: 58px; left: calc(var(--i) * 5px); }
  .siik-offer .siik-offer-btn { align-self: stretch; }
}

/* ---- FunnelKit side cart footer ----
 * The site's own CSS forces every express-pay slot to 50px with extra padding, even empty ones (Stripe Link),
 * which leaves big gaps between Apple Pay and Google Pay. Stack only the buttons that exist, 8px apart. */
#fkcart-modal .fkcart-smart-buttons-wrapper { display: flex; flex-direction: column; gap: 8px; }
#fkcart-modal .fkcart-smart-buttons-wrapper:not(:has(iframe, button)) { display: none; }
#fkcart-modal .fkcart-smart-buttons-wrapper .fkcart-smart-button-wrap { padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 !important; }
#fkcart-modal .fkcart-smart-buttons-wrapper .fkcart-smart-button-wrap:not(:has(iframe, button)) { display: none !important; }
#fkcart-modal .fkcart-smart-buttons-wrapper .fkwcs_stripe_smart_button_wrapper,
#fkcart-modal .fkcart-smart-buttons-wrapper .fkwcs_stripe_smart_button_wrapper .cart { height: auto !important; min-height: 0 !important; margin: 0 !important; }
#fkcart-modal .fkcart-smart-buttons-wrapper .fkwcs_smart_buttons { padding: 0 !important; margin: 0 !important; }
#fkcart-modal .fkcart-smart-buttons-wrapper + .fkcart-checkout-wrap,
#fkcart-modal .fkcart-smart-buttons-wrapper ~ .fkcart-checkout-wrap:not(.fkwcs_fkcart_gpay_wrapper) { margin-top: 10px; }
#fkcart-modal .fkwcs_fkcart_gpay_wrapper:not(:has(iframe, button)) { display: none !important; }

/* Checkout: dark text on the lavender, same as every other main button on the site */
#fkcart-modal { --fkcart-primary-font-color: #0D0D17; }
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button {
  min-height: 52px; align-items: center; justify-content: center;
  border-radius: 12px; background-color: #B197FF;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45);
  transition: background-color .15s;
}
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button:hover { background-color: #C7B6FF; }
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button .fkcart-checkout--text,
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button .fkcart-checkout--price,
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button .fkcart-checkout--price * { color: #0D0D17 !important; font-weight: 600; }
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button .fkcart-checkout--icon path { fill: #0D0D17; }
