/* ==========================================================================
 * ALVIRAN Shop - balanced checkout handoff
 * Restores a premium buy-now feel without the stacked, heavy checkout sheet.
 * ========================================================================== */

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal {
  --handoff-panel: #0b0e14;
  --handoff-surface: rgba(255, 255, 255, .038);
  --handoff-surface-strong: rgba(255, 255, 255, .06);
  --handoff-line: rgba(255, 255, 255, .09);
  --handoff-line-strong: rgba(255, 255, 255, .15);
  --handoff-text: #f5f6f8;
  --handoff-muted: rgba(245, 246, 248, .62);
  --handoff-faint: rgba(245, 246, 248, .42);
  --handoff-accent: #edc66f;
  --handoff-accent-soft: rgba(237, 198, 111, .13);
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-bg {
  background: rgba(3, 4, 7, .74) !important;
  backdrop-filter: blur(16px) saturate(110%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(110%) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-panel {
  width: min(100vw - 38px, 492px) !important;
  max-height: calc(100svh - 38px) !important;
  overflow: hidden !important;
  border: 1px solid var(--handoff-line) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--shop-page-game-color, var(--handoff-accent)) 11%, transparent), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .014)),
    var(--handoff-panel) !important;
  color: var(--handoff-text) !important;
  box-shadow: 0 28px 78px rgba(0, 0, 0, .58) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-panel::before,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-panel::after,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-header::before,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-header::after,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-account-summary::before,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-account-summary::after,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-email-wrap::before,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-email-wrap::after,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-pay-btn::before,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-pay-btn::after {
  display: none !important;
  content: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-close {
  top: 15px !important;
  right: 15px !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid var(--handoff-line) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .045) !important;
  color: rgba(245, 246, 248, .7) !important;
  box-shadow: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-close:hover,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-close:focus-visible {
  background: rgba(255, 255, 255, .075) !important;
  color: var(--handoff-text) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-sheet-head {
  display: grid !important;
  gap: 12px !important;
  padding: 17px 20px 0 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-progress {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 30px !important;
  padding: 0 42px 0 0 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--handoff-faint) !important;
  font-size: .72rem !important;
  font-weight: 640 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-back:hover,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-back:focus-visible {
  color: var(--handoff-text) !important;
  background: transparent !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-step-line,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-step.done,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-step.active,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-step:not(.active) {
  display: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-step.active {
  display: none !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 28px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(237, 198, 111, .2) !important;
  border-radius: 999px !important;
  background: rgba(237, 198, 111, .075) !important;
  color: rgba(255, 235, 186, .78) !important;
  font-size: .68rem !important;
  font-weight: 680 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-step-dot {
  display: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-header {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 11px !important;
  min-height: 0 !important;
  padding: 12px 44px 12px 12px !important;
  border: 1px solid var(--handoff-line) !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018)) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-game-badge {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border: 1px solid color-mix(in srgb, var(--shop-page-game-color, var(--handoff-accent)) 24%, rgba(255, 255, 255, .08)) !important;
  border-radius: 10px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .022)),
    color-mix(in srgb, var(--shop-page-game-color, var(--handoff-accent)) 9%, transparent) !important;
  color: var(--handoff-text) !important;
  box-shadow: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-game-badge svg {
  width: 20px !important;
  height: 20px !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-title {
  color: var(--handoff-text) !important;
  font-size: 1.08rem !important;
  font-weight: 760 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-subtitle {
  margin-top: 4px !important;
  color: var(--handoff-muted) !important;
  font-size: .76rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-details {
  margin-top: 0 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-account-summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px 12px !important;
  align-items: center !important;
  padding: 11px 12px !important;
  border: 1px solid var(--handoff-line) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .028) !important;
  box-shadow: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-summary-head {
  display: contents !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-summary-head span {
  grid-column: 1 !important;
  color: var(--handoff-faint) !important;
  font-size: .65rem !important;
  font-weight: 680 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-summary-head strong,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal #alv-modal-price {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  color: var(--handoff-text) !important;
  font-size: 1.14rem !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-summary-title {
  grid-column: 1 / -1 !important;
  color: rgba(245, 246, 248, .82) !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-sheet-body {
  display: grid !important;
  gap: 10px !important;
  padding: 12px 20px 0 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-email-wrap {
  display: grid !important;
  gap: 8px !important;
  padding: 11px 12px !important;
  border: 1px solid var(--handoff-line) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .024) !important;
  box-shadow: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-coupon-details,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-consent-label {
  border: 1px solid var(--handoff-line) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .022) !important;
  box-shadow: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-label {
  color: rgba(245, 246, 248, .72) !important;
  font-size: .72rem !important;
  font-weight: 680 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-label svg {
  display: inline-block !important;
  color: var(--handoff-accent) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-input,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal #alv-shop-email {
  height: 43px !important;
  border: 1px solid rgba(255, 255, 255, .105) !important;
  border-radius: 11px !important;
  background: rgba(0, 0, 0, .22) !important;
  color: var(--handoff-text) !important;
  font-size: .88rem !important;
  font-weight: 540 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-input:focus,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal #alv-shop-email:focus {
  border-color: rgba(237, 198, 111, .42) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(237, 198, 111, .09) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-hint {
  display: block !important;
  margin: 0 !important;
  color: var(--handoff-faint) !important;
  font-size: .68rem !important;
  line-height: 1.35 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-coupon-details {
  padding: 0 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-coupon-summary {
  min-height: 36px !important;
  padding: 0 12px !important;
  color: var(--handoff-muted) !important;
  font-size: .75rem !important;
  font-weight: 620 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-coupon-summary svg:first-child {
  display: inline-block !important;
  color: var(--handoff-faint) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-coupon-body {
  padding: 0 12px 12px !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-coupon-row {
  gap: 8px !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-coupon-apply-btn {
  height: 43px !important;
  min-width: 76px !important;
  border: 1px solid var(--handoff-line-strong) !important;
  border-radius: 11px !important;
  background: rgba(255, 255, 255, .055) !important;
  color: var(--handoff-text) !important;
  font-size: .75rem !important;
  font-weight: 680 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-consent-label {
  grid-template-columns: 17px minmax(0, 1fr) !important;
  gap: 9px !important;
  padding: 10px 12px !important;
  color: var(--handoff-muted) !important;
  font-size: .69rem !important;
  line-height: 1.38 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal #alv-shop-legal {
  width: 17px !important;
  height: 17px !important;
  margin-top: 1px !important;
  accent-color: var(--handoff-accent) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-consent-label a {
  color: rgba(237, 198, 111, .9) !important;
  text-decoration: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-direct-hint {
  display: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-sheet-actions {
  display: grid !important;
  gap: 9px !important;
  padding: 13px 20px 18px !important;
  border-top: 1px solid rgba(255, 255, 255, .06) !important;
  background: rgba(5, 7, 11, .42) !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-buttons {
  display: grid !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn {
  min-height: 50px !important;
  width: 100% !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(255, 226, 160, .62) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #f6d98f 0%, #d9aa4f 100%) !important;
  color: #11100d !important;
  box-shadow: 0 12px 26px rgba(237, 198, 111, .13) !important;
  filter: none !important;
  transform: none !important;
  text-shadow: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn:hover,
body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn:focus-visible {
  background: linear-gradient(180deg, #ffe4a5 0%, #e0b75d 100%) !important;
  border-color: rgba(255, 236, 190, .82) !important;
  box-shadow: 0 14px 30px rgba(237, 198, 111, .17) !important;
  transform: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn .alv-shop-pay-wallet {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  border: 1px solid rgba(82, 58, 18, .16) !important;
  border-radius: 9px !important;
  background: rgba(255, 248, 226, .28) !important;
  color: #49320d !important;
  box-shadow: none !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn .alv-shop-pay-copy {
  display: block !important;
  text-align: left !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn strong {
  color: #11100d !important;
  font-size: .9rem !important;
  font-weight: 780 !important;
  line-height: 1.1 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn small {
  display: none !important;
  color: rgba(31, 25, 11, .68) !important;
  font-size: .67rem !important;
  font-weight: 650 !important;
  line-height: 1.1 !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-trust {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--handoff-faint) !important;
  font-size: .7rem !important;
  font-weight: 540 !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-trust svg {
  display: inline-block !important;
  color: var(--handoff-accent) !important;
  flex: 0 0 auto !important;
}

@media (max-width: 640px) {
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal {
    padding: 8px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-panel {
    width: min(100%, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100svh - 16px) !important;
    border-radius: 15px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-sheet-head {
    gap: 9px !important;
    padding: 12px 12px 0 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-progress {
    min-height: 28px !important;
    padding-right: 38px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-step.active {
    display: none !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-header {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 9px 42px 9px 9px !important;
    border-radius: 12px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-game-badge {
    width: 34px !important;
    height: 34px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-title {
    font-size: .96rem !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-subtitle {
    font-size: .68rem !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-sheet-body {
    gap: 8px !important;
    padding: 9px 12px 0 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-account-summary,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-email-wrap {
    padding: 9px !important;
    border-radius: 12px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-input,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal #alv-shop-email {
    height: 41px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-hint,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-shop-modal-trust svg {
    display: none !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal .alv-checkout-sheet-actions {
    padding: 10px 12px 12px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn {
    min-height: 48px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn .alv-shop-pay-wallet {
    display: none !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-modal button#alv-shop-pay-stripe.alv-shop-pay-btn .alv-shop-pay-copy {
    text-align: center !important;
  }
}
