/**
 * Snipcart ↔ LightningArrows.com (Typhoon)
 *
 * Source of truth (site :root + cloud-servers):
 *   --custom-color-primary:         #3893F8
 *   --custom-color-primary-lighter: #9bc8fb
 *   --custom-color-primary-darker:  #0760c3
 *   Text: #111827 / #0b1220 · muted #4b5563
 *   Cards: white, border rgba(0,0,0,.08), radius .75rem  (.la-cs-card)
 *   CTAs:  .la-cs-btn-primary  #3893F8 → hover #1e6fd9
 *   Panel: .la-cs-checkout-panel  880px, 1rem radius, veil rgba(0,0,0,.55)
 *   Font:  Inter var (site sans)
 */

/* ----- Tokens (same as site) ----- */
html.la-snipcart-layout-popout,
html.la-snipcart-layout-side,
html[data-la-snipcart-layout],
#snipcart,
.snipcart,
.snipcart-modal,
.snipcart-modal__container {
  --la-primary: #3893f8;
  --la-primary-hover: #1e6fd9;
  --la-primary-darker: #0760c3;
  --la-primary-lighter: #9bc8fb;
  --la-text: #111827;
  --la-text-heading: #0b1220;
  --la-muted: #4b5563;
  --la-label: #374151;
  --la-border: rgba(0, 0, 0, 0.08);
  --la-border-strong: rgba(0, 0, 0, 0.14);
  --la-white: #ffffff;
  --la-alt: #f8fafc;
  --la-veil: rgba(0, 0, 0, 0.55);
  --la-radius: 0.75rem;
  --la-radius-btn: 0.5rem;
  --la-radius-panel: 1rem;
  --la-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);

  /* Snipcart CSS variables */
  --color-default: var(--la-text);
  --color-alt: var(--la-muted);
  --color-icon: var(--la-primary);
  --color-link: var(--la-primary);
  --color-link-hover: var(--la-primary-hover);
  --color-input: var(--la-text);
  --color-inputLabel: var(--la-label);
  --color-inputPlaceholder: #9ca3af;
  --color-buttonPrimary: #ffffff;
  --color-buttonPrimary-hover: #ffffff;
  --color-buttonSecondary: var(--la-primary);
  --color-badge: var(--la-primary);
  --borderColor-default: var(--la-border);
  --borderColor-input: var(--la-border-strong);
  --borderColor-input-focus: var(--la-primary);
  --borderColor-buttonPrimary: transparent;
  --bgColor-default: var(--la-white);
  --bgColor-alt: var(--la-alt);
  --bgColor-modal: var(--la-white);
  --bgColor-modalVeil: var(--la-veil);
  --bgColor-input: var(--la-white);
  --bgColor-buttonPrimary: var(--la-primary);
  --bgColor-buttonPrimary-hover: var(--la-primary-hover);
  --bgColor-buttonPrimary-active: var(--la-primary-darker);
  --bgColor-buttonSecondary: var(--la-white);
  --bgColor-badge: rgba(56, 147, 248, 0.12);

  font-family: "Inter var", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif !important;
  color: var(--la-text) !important;
}

/* ----- Header (white, like Secure checkout head) ----- */
.snipcart-cart-header,
.snipcart-modal__header,
.snipcart-cart__secondary-header,
.snipcart-layout__header,
#snipcart .snipcart-cart-header,
#snipcart .snipcart-modal__header {
  background: #ffffff !important;
  background-image: none !important;
  color: #0b1220 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: none !important;
  padding: 1.15rem 1.2rem 1rem !important;
}
.snipcart-cart-header::before,
.snipcart-modal__header::before {
  content: none !important;
  display: none !important;
}
.snipcart-cart-header *,
.snipcart-modal__header *,
.snipcart-cart__secondary-header * {
  color: #0b1220 !important;
  -webkit-text-fill-color: #0b1220 !important;
}
.snipcart-cart-header__title,
.snipcart-modal__title,
.snipcart-cart__secondary-header-title,
.snipcart-order__header-title {
  color: #0b1220 !important;
  -webkit-text-fill-color: #0b1220 !important;
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
}
.snipcart-cart-header .snipcart__font--secondary,
.snipcart-modal__header .snipcart__font--secondary,
.snipcart-cart-header .snipcart__font--std,
.snipcart-modal__header .snipcart__font--std {
  color: #4b5563 !important;
  -webkit-text-fill-color: #4b5563 !important;
  font-weight: 400 !important;
  font-size: 0.9rem !important;
}

/* Close = .la-cs-checkout-close */
.snipcart-modal__close,
.snipcart-cart-header__close-button,
button.snipcart-modal__close {
  background: rgba(0, 0, 0, 0.05) !important;
  color: #0b1220 !important;
  -webkit-text-fill-color: #0b1220 !important;
  border: 0 !important;
  border-radius: 999px !important;
  width: 2rem !important;
  height: 2rem !important;
  opacity: 0.85 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.snipcart-modal__close:hover {
  opacity: 1 !important;
  background: rgba(0, 0, 0, 0.1) !important;
}
.snipcart-modal__close-icon,
.snipcart-modal__close svg,
.snipcart-modal__close path {
  color: #0b1220 !important;
  fill: #0b1220 !important;
}

/* ----- Surfaces: white cards (.la-cs-card) ----- */
.snipcart-modal,
.snipcart-layout,
.snipcart-layout__content,
.snipcart-cart__content,
.snipcart-cart,
.snipcart-cart__footer,
.snipcart-order__footer,
.snipcart-payment,
.snipcart-payment-card-form,
.snipcart-payment-card-form__container,
.snipcart-cart-summary,
.snipcart-order__details {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111827 !important;
}

.snipcart-modal {
  border: none !important;
  border-radius: 1rem !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35) !important;
  color: #0b1220 !important;
}

.snipcart__box,
.snipcart-item-line,
.snipcart-order__box,
.snipcart-payment-methods-list-item__button {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 0.75rem !important;
  box-shadow: none !important;
  color: #111827 !important;
}

/* Amount due — soft primary chip like .la-cs-checkout-due */
.snipcart-cart-summary-fees__amount,
.snipcart-summary__amount,
.snipcart-total-price {
  color: #1e6fd9 !important;
  font-weight: 800 !important;
}
.snipcart-cart-summary-fees__title {
  color: #4b5563 !important;
}

/* ----- Primary CTA = .la-cs-btn-primary ----- */
.snipcart-base-button.snipcart-button-primary,
.snipcart-button-primary,
button.snipcart-button-primary,
a.snipcart-button-primary,
.snipcart .snipcart-button-primary,
#snipcart .snipcart-button-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #3893f8 !important;
  background-color: #3893f8 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #3893f8 !important;
  border-radius: 0.5rem !important;
  font-weight: 650 !important;
  font-size: 0.95rem !important;
  padding: 0.7rem 1.25rem !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease,
    box-shadow 0.15s ease, transform 0.15s ease !important;
}
.snipcart-button-primary:hover,
button.snipcart-button-primary:hover,
a.snipcart-button-primary:hover {
  background: #1e6fd9 !important;
  background-color: #1e6fd9 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #1e6fd9 !important;
  box-shadow: 0 10px 20px -8px rgba(56, 147, 248, 0.55) !important;
  transform: translateY(-1px) !important;
}
.snipcart-button-primary:active {
  background: #0760c3 !important;
  border-color: #0760c3 !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Ghost / secondary = .la-cs-btn-ghost */
.snipcart-button-secondary,
button.snipcart-button-secondary {
  background: #ffffff !important;
  color: #0b1220 !important;
  -webkit-text-fill-color: #0b1220 !important;
  border: 1px solid rgba(56, 147, 248, 0.55) !important;
  border-radius: 0.5rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: 0.15s ease !important;
}
.snipcart-button-secondary:hover {
  background: #3893f8 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #3893f8 !important;
}

/* Links / icons / badges */
.snipcart a,
.snipcart .snipcart__actions--link,
.snipcart-button-link,
.snipcart__font--blue {
  color: #3893f8 !important;
}
.snipcart a:hover,
.snipcart .snipcart__actions--link:hover {
  color: #1e6fd9 !important;
}
.snipcart__icon,
.snipcart-input__left-icon,
.snipcart-payment-methods-list-item__arrow {
  color: #3893f8 !important;
  fill: #3893f8 !important;
}
.snipcart__box--badge,
.snipcart__box--badge-highlight {
  color: #3893f8 !important;
  background: rgba(56, 147, 248, 0.12) !important;
  border-color: transparent !important;
  border-radius: 0.65rem !important;
}

/* Type */
.snipcart h1,
.snipcart h2,
.snipcart h3,
.snipcart-order__title,
.snipcart-item-line__title {
  color: #0b1220 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}
.snipcart__font--std,
.snipcart__font--regular {
  color: #4b5563 !important;
}
.snipcart__font--bold,
.snipcart__font--black {
  color: #111827 !important;
}
.snipcart-form__label,
.snipcart label {
  color: #374151 !important;
  font-weight: 650 !important;
  font-size: 0.88rem !important;
}

/* Inputs = site form fields */
.snipcart-input,
.snipcart-typeahead,
.snipcart-form__select,
.snipcart-textbox,
.snipcart-form__select-wrapper {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  border-radius: 0.5rem !important;
  color: #111827 !important;
}
.snipcart-input:focus-within,
.snipcart-input--focus,
.snipcart-typeahead:focus-within {
  border-color: #3893f8 !important;
  box-shadow: 0 0 0 3px rgba(56, 147, 248, 0.22) !important;
}
.snipcart-input__input,
.snipcart input:not([type="checkbox"]):not([type="radio"]),
.snipcart select,
.snipcart textarea {
  background: #ffffff !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  caret-color: #111827 !important;
}
.snipcart input:-webkit-autofill,
.snipcart input:-webkit-autofill:hover,
.snipcart input:-webkit-autofill:focus {
  -webkit-text-fill-color: #111827 !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
}

.snipcart-cart__footer,
.snipcart-order__footer {
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #ffffff !important;
  padding: 1rem 1.2rem 1.25rem !important;
}

.snipcart-payment-methods-list-item__button:hover {
  border-color: #3893f8 !important;
  background: rgba(56, 147, 248, 0.06) !important;
}

.snipcart-cart__content,
.snipcart-layout__content {
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
  padding-bottom: 1.25rem !important;
}

/* Soft info wash (like .la-ad) — accents only, not full cart */
.snipcart-flash-message--success {
  background: #ecfdf5 !important;
  color: #059669 !important;
}
.snipcart-flash-message--error {
  background: #fef2f2 !important;
  color: #dc2626 !important;
}

/* ----- Popout = Secure checkout shell ----- */
html.la-snipcart-layout-popout .snipcart-modal__container,
html.la-snipcart-layout-popout .snipcart-modal__container--tablet-up {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 1.25rem 0.85rem !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: transparent !important;
  z-index: 100000 !important;
  transform: none !important;
  animation: none !important;
}

html.la-snipcart-layout-popout .snipcart-modal {
  position: relative !important;
  width: min(880px, 100%) !important;
  max-width: 100% !important;
  margin: 0.5rem auto 2rem !important;
  border-radius: 1rem !important;
  overflow: visible !important;
  overflow-x: hidden !important;
  height: auto !important;
  max-height: none !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  background: #ffffff !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35) !important;
  border: none !important;
}

html.la-snipcart-layout-popout .snipcart-modal__overlay {
  background: rgba(0, 0, 0, 0.55) !important;
  background-color: rgba(0, 0, 0, 0.55) !important;
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}

html.la-snipcart-layout-popout .snipcart-transition--slide-in-enter-active,
html.la-snipcart-layout-popout .snipcart-transition--slide-in-leave-active {
  animation: none !important;
  transform: none !important;
}

@media (max-width: 640px) {
  html.la-snipcart-layout-popout .snipcart-modal {
    width: 100% !important;
    margin: 0.25rem 0 0.75rem !important;
    border-radius: 0.85rem !important;
  }
  html.la-snipcart-layout-popout .snipcart-button-primary {
    width: 100% !important;
    min-height: 2.75rem !important;
  }
  html.la-snipcart-layout-popout input:not([type="checkbox"]):not([type="radio"]) {
    font-size: 16px !important;
  }
}
