/* Checkout = same visual language as happbabka / incybabka neo landing */
html.sat-variant-happincy-neo,
html.sat-variant-happincy-neo body.neo-checkout {
  font-family: var(--body) !important;
  background: var(--bg) !important;
  color: var(--text) !important;
  color-scheme: light dark;
}
html.sat-variant-happincy-neo body.neo-checkout {
  transition: background .35s ease, color .35s ease;
}

/* Kill hub neon / mascot chrome on neo domains */
html.sat-variant-happincy-neo .backdrop,
html.sat-variant-happincy-neo .header-mascot,
html.sat-variant-happincy-neo .header-mascot__glow,
html.sat-variant-happincy-neo .header-mascot__sticker,
html.sat-variant-happincy-neo .header-mascot__bubble,
html.sat-variant-happincy-neo .brand-avatar-wrap::before,
html.sat-variant-happincy-neo .brand-avatar-wrap::after,
html.sat-variant-happincy-neo .brand-domain::before {
  display: none !important;
}
html.sat-variant-happincy-neo .header-brand-zone {
  padding-left: 0 !important;
  min-height: auto !important;
}
html.sat-variant-happincy-neo .brand-avatar-wrap {
  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: 0 0 0 3px var(--card), 0 0 0 5px var(--a2) !important;
  border-radius: 50% !important;
}
html.sat-variant-happincy-neo .brand-avatar-wrap .brand-avatar {
  border-radius: 50% !important;
}

/* Promo ticker → neo strip */
html.sat-variant-happincy-neo .promo {
  background: linear-gradient(90deg, var(--ticker) 0%, color-mix(in srgb, var(--ticker) 70%, var(--violet)) 50%, var(--ticker) 100%) !important;
  border-bottom: var(--bwbig) solid var(--ink) !important;
  color: #fff !important;
  font-family: var(--body) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .02em !important;
  min-height: 40px !important;
}
html.sat-variant-happincy-neo .promo b {
  background: rgba(255, 255, 255, .1) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 999px !important;
  color: var(--a2) !important;
}
html.sat-variant-happincy-neo .promo a {
  color: var(--a2) !important;
}

/* Header → neo navbar look */
html.sat-variant-happincy-neo .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 60 !important;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  padding: 12px 0 !important;
}
html.sat-variant-happincy-neo .site-header .header-inner {
  height: auto !important;
  min-height: 72px !important;
  padding: 8px 10px 8px 14px !important;
  border-radius: 999px !important;
  border: 2px solid transparent !important;
  background:
    linear-gradient(var(--header), var(--header)) padding-box,
    linear-gradient(90deg, var(--a1), var(--violet), var(--a3)) border-box !important;
  box-shadow: 0 18px 40px -18px rgba(10, 6, 30, .55) !important;
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
}
html[data-theme="dark"].sat-variant-happincy-neo .site-header .header-inner {
  box-shadow: 0 18px 44px -14px rgba(0, 0, 0, .8) !important;
}
html.sat-variant-happincy-neo .brand-title,
html.sat-variant-happincy-neo .brand-babka,
html.sat-variant-happincy-neo .brand-vps,
html.sat-variant-happincy-neo .js-brand-primary,
html.sat-variant-happincy-neo .js-brand-secondary {
  font-family: var(--head) !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  color: var(--text) !important;
  filter: none !important;
  text-shadow: none !important;
}
html.sat-variant-happincy-neo .js-brand-secondary,
html.sat-variant-happincy-neo .brand-vps {
  background: linear-gradient(90deg, var(--a1), var(--violet)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
html.sat-variant-happincy-neo .brand-domain {
  display: none !important;
}
html.sat-variant-happincy-neo .brand-tag {
  color: var(--muted) !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  font-weight: 800 !important;
}
html.sat-variant-happincy-neo .brand-tag__dot {
  background: #22c55e !important;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, .6) !important;
}
html.sat-variant-happincy-neo .nav-link {
  color: var(--text2) !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
}
html.sat-variant-happincy-neo .nav-link:hover {
  color: var(--violet) !important;
}
html.sat-variant-happincy-neo .header-auth-link,
html.sat-variant-happincy-neo .header-buy-btn,
html.sat-variant-happincy-neo .header-back,
html.sat-variant-happincy-neo .m-back {
  border-radius: var(--btn-r) !important;
  border: var(--bw) solid var(--ink) !important;
  font-weight: 900 !important;
  box-shadow: var(--sh-sm) !important;
}
html.sat-variant-happincy-neo .header-buy-btn,
html.sat-variant-happincy-neo .header-auth-link:not(.header-auth-link--ghost) {
  background: var(--p-bg) !important;
  color: var(--p-fg) !important;
  border-color: transparent !important;
}
html.sat-variant-happincy-neo .header-auth-link--ghost,
html.sat-variant-happincy-neo .header-back,
html.sat-variant-happincy-neo .m-back {
  background: var(--card) !important;
  color: var(--text) !important;
}

/* Typography */
html.sat-variant-happincy-neo .intro h1,
html.sat-variant-happincy-neo .checkout h2,
html.sat-variant-happincy-neo .m-hero h1,
html.sat-variant-happincy-neo .m-card-heading h2,
html.sat-variant-happincy-neo .art-copy h2 {
  font-family: var(--head) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--text) !important;
}
html.sat-variant-happincy-neo .intro h1 span,
html.sat-variant-happincy-neo .m-hero h1 em,
html.sat-variant-happincy-neo .art-copy h2 em {
  background: var(--mark) !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  color: #0d0a1f !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  border: var(--bw) solid var(--ink) !important;
  display: inline-block !important;
  transform: rotate(-1.5deg);
}
html.sat-variant-happincy-neo .intro p,
html.sat-variant-happincy-neo .checkout-sub,
html.sat-variant-happincy-neo .m-hero p,
html.sat-variant-happincy-neo .art-copy p {
  color: var(--muted) !important;
  font-weight: 700 !important;
}

/* Eyebrow / chips */
html.sat-variant-happincy-neo .eyebrow,
html.sat-variant-happincy-neo .m-kicker,
html.sat-variant-happincy-neo .art-eyebrow,
html.sat-variant-happincy-neo .card-top-chip {
  background: var(--a3) !important;
  color: #0d0a1f !important;
  border: var(--bw) solid var(--ink) !important;
  border-radius: var(--tag-r) !important;
  box-shadow: var(--sh-sm) !important;
  font-weight: 900 !important;
}
html.sat-variant-happincy-neo .eyebrow:before,
html.sat-variant-happincy-neo .m-kicker span {
  background: #22c55e !important;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, .25) !important;
}

/* Benefits */
html.sat-variant-happincy-neo .benefits {
  border-bottom-color: color-mix(in srgb, var(--ink) 18%, transparent) !important;
}
html.sat-variant-happincy-neo .benefits span {
  color: var(--text2) !important;
  font-weight: 800 !important;
}
html.sat-variant-happincy-neo .benefits svg {
  color: var(--a1) !important;
}

/* Mascot / art card */
html.sat-variant-happincy-neo .mascot-card,
html.sat-variant-happincy-neo .m-hero {
  background: var(--card) !important;
  border: var(--bwbig) solid var(--ink) !important;
  border-radius: 30px !important;
  box-shadow: var(--sh-lg) !important;
  color: var(--text) !important;
}
html.sat-variant-happincy-neo .mascot-card:before,
html.sat-variant-happincy-neo .mascot-card:after,
html.sat-variant-happincy-neo .m-hero:after {
  display: none !important;
}
html.sat-variant-happincy-neo .emblem {
  border: var(--bw) solid var(--ink) !important;
  box-shadow: var(--sh-sm) !important;
  filter: none !important;
}
html.sat-variant-happincy-neo .emblem-wrap {
  filter: none !important;
}
html.sat-variant-happincy-neo .emblem-wrap:before {
  display: none !important;
}
html.sat-variant-happincy-neo .mascot-card .bubble,
html.sat-variant-happincy-neo .bubble {
  background: var(--soft) !important;
  border: var(--bw) solid var(--ink) !important;
  color: var(--text) !important;
  box-shadow: var(--sh-sm) !important;
}
html.sat-variant-happincy-neo .mascot-stats,
html.sat-variant-happincy-neo .mascot-stats b {
  color: var(--text) !important;
  border-color: color-mix(in srgb, var(--ink) 18%, transparent) !important;
}
html.sat-variant-happincy-neo .mascot-stats b {
  color: var(--a1) !important;
  font-family: var(--head) !important;
}

/* Checkout panel */
html.sat-variant-happincy-neo .checkout,
html.sat-variant-happincy-neo .m-pay-card {
  background: var(--card) !important;
  border: var(--bw) solid var(--ink) !important;
  border-radius: 28px !important;
  box-shadow: var(--sh) !important;
  overflow: hidden !important;
}
html.sat-variant-happincy-neo .checkout-top {
  height: 4px !important;
  background: linear-gradient(90deg, var(--a1), var(--violet), var(--a3)) !important;
}
html.sat-variant-happincy-neo .checkout .collab,
html.sat-variant-happincy-neo .m-card-brand {
  background: var(--soft) !important;
  border-color: color-mix(in srgb, var(--ink) 20%, transparent) !important;
  box-shadow: none !important;
}
html.sat-variant-happincy-neo .collab-brand-text strong,
html.sat-variant-happincy-neo .m-merchant strong,
html.sat-variant-happincy-neo .m-brand strong {
  color: var(--text) !important;
  font-family: var(--head) !important;
}
html.sat-variant-happincy-neo .collab-brand-text em,
html.sat-variant-happincy-neo .m-merchant em,
html.sat-variant-happincy-neo .m-brand em {
  background: linear-gradient(90deg, var(--a1), var(--violet)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
html.sat-variant-happincy-neo .order,
html.sat-variant-happincy-neo .m-order {
  background: var(--soft) !important;
  border: var(--bw) solid var(--ink) !important;
  border-radius: 16px !important;
  box-shadow: var(--sh-sm) !important;
}
html.sat-variant-happincy-neo .order-icon,
html.sat-variant-happincy-neo .m-order-icon {
  background: var(--card) !important;
  border: var(--bw) solid var(--ink) !important;
  color: var(--violet) !important;
  box-shadow: none !important;
  filter: none !important;
}
html.sat-variant-happincy-neo .order-name,
html.sat-variant-happincy-neo .m-order-name strong,
html.sat-variant-happincy-neo .order-price,
html.sat-variant-happincy-neo .m-order-price,
html.sat-variant-happincy-neo .total-price b,
html.sat-variant-happincy-neo .m-total strong {
  color: var(--text) !important;
  font-family: var(--head) !important;
}
html.sat-variant-happincy-neo .order-detail,
html.sat-variant-happincy-neo .m-order-name span,
html.sat-variant-happincy-neo .methods-note,
html.sat-variant-happincy-neo .gateway-note,
html.sat-variant-happincy-neo .m-safe-note,
html.sat-variant-happincy-neo .total span,
html.sat-variant-happincy-neo .m-total span {
  color: var(--muted) !important;
}

/* Methods */
html.sat-variant-happincy-neo .method,
html.sat-variant-happincy-neo .m-method {
  background: var(--soft) !important;
  border: var(--bw) solid var(--ink) !important;
  border-radius: 14px !important;
  color: var(--text) !important;
}
html.sat-variant-happincy-neo .method.active,
html.sat-variant-happincy-neo .m-method.m-active {
  background: var(--hit) !important;
  color: var(--hit-fg) !important;
  border-color: var(--plan-hit-border) !important;
  box-shadow: var(--sh-sm) !important;
}
html.sat-variant-happincy-neo .method-info small,
html.sat-variant-happincy-neo .method-price,
html.sat-variant-happincy-neo .m-method > span:last-child {
  color: inherit !important;
  opacity: .85;
}
html.sat-variant-happincy-neo .method-logo,
html.sat-variant-happincy-neo .m-method-icon {
  background: var(--card) !important;
  border: var(--bw) solid var(--ink) !important;
}

/* Plan chips */
html.sat-variant-happincy-neo .plan-switch button {
  background: var(--card) !important;
  border: var(--bw) solid var(--ink) !important;
  color: var(--text) !important;
  border-radius: var(--chip-r) !important;
  font-weight: 900 !important;
  box-shadow: var(--sh-sm) !important;
}
html.sat-variant-happincy-neo .plan-switch button.is-active {
  background: var(--p-bg) !important;
  color: var(--p-fg) !important;
  border-color: transparent !important;
  box-shadow: var(--sh-sm) !important;
}

/* CTA */
html.sat-variant-happincy-neo .cta,
html.sat-variant-happincy-neo .m-pay-button,
html.sat-variant-happincy-neo .babka-pay-primary,
html.sat-variant-happincy-neo a.js-brand-pay {
  background: var(--p-bg) !important;
  color: var(--p-fg) !important;
  border: var(--bw) solid transparent !important;
  border-radius: var(--btn-r) !important;
  box-shadow: var(--sh-sm) !important;
  font-weight: 900 !important;
}
html.sat-variant-happincy-neo .cta:hover,
html.sat-variant-happincy-neo .m-pay-button:hover,
html.sat-variant-happincy-neo a.js-brand-pay:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--shadow-c) !important;
  filter: none !important;
}
html.sat-variant-happincy-neo .cta-arrow {
  background: rgba(255, 255, 255, .22) !important;
  border-radius: 12px !important;
}

/* Support / footer */
html.sat-variant-happincy-neo .support-strip,
html.sat-variant-happincy-neo .m-support,
html.sat-variant-happincy-neo .below,
html.sat-variant-happincy-neo .m-end {
  background: var(--card) !important;
  color: var(--muted) !important;
  border-color: color-mix(in srgb, var(--ink) 20%, transparent) !important;
  font-weight: 800 !important;
}
html.sat-variant-happincy-neo .support-strip a,
html.sat-variant-happincy-neo .m-support a,
html.sat-variant-happincy-neo .below a {
  color: var(--a1) !important;
}

/* Mobile shell */
html.sat-variant-happincy-neo .mobile-only {
  background: var(--bg) !important;
}
html.sat-variant-happincy-neo .m-header {
  background: var(--header) !important;
  border-bottom: var(--bw) solid var(--ink) !important;
  backdrop-filter: blur(14px);
}
html.sat-variant-happincy-neo .m-status {
  background: color-mix(in srgb, #22c55e 16%, var(--card)) !important;
  border: var(--bw) solid var(--ink) !important;
  color: #16a34a !important;
}

/* Theme FAB on checkout */
html.sat-variant-happincy-neo .theme-fab {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 90;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--text);
  background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(135deg, var(--a2), var(--violet)) border-box;
  border: 2px solid transparent;
  box-shadow: 0 14px 30px -10px rgba(10, 6, 30, .55);
}
html.sat-variant-happincy-neo .theme-fab .i-moon {
  display: none;
}
html[data-theme="dark"].sat-variant-happincy-neo .theme-fab .i-moon {
  display: block;
}
html[data-theme="dark"].sat-variant-happincy-neo .theme-fab .i-sun {
  display: none;
}
html.sat-variant-happincy-neo .theme-fab svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Inline pay stages from branded-checkout */
html.sat-variant-happincy-neo #babkaInlinePay,
html.sat-variant-happincy-neo #babkaInlineDone,
html.sat-variant-happincy-neo .babka-inline-pay,
html.sat-variant-happincy-neo .babka-inline-done {
  background: var(--card) !important;
  color: var(--text) !important;
  border: var(--bw) solid var(--ink) !important;
  border-radius: 24px !important;
  box-shadow: var(--sh) !important;
}
html.sat-variant-happincy-neo .babka-pay-method {
  background: var(--soft) !important;
  border: var(--bw) solid var(--ink) !important;
  border-radius: 14px !important;
  color: var(--text) !important;
}

@media (max-width: 560px) {
  html.sat-variant-happincy-neo .theme-fab {
    left: 12px;
    bottom: 12px;
    width: 48px;
    height: 48px;
  }
}
