/* Esoterica Play Billing */
html.eapb-app .eapb-web-only,
html.eapb-app .eapb-stripe,
html.eapb-app a[href*="buy.stripe.com"],
html.eapb-app a[href*="checkout.stripe.com"],
html.eapb-app a[href*="billing.stripe.com"],
html.eapb-app form[action*="stripe.com"] {
  display: none !important;
}

html:not(.eapb-app) .eapb-app-only,
html:not(.eapb-app) .eapb-play-btn {
  display: none !important;
}

.eapb-subscribe { margin: 12px 0; }

.eapb-btn.eapb-play-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  border: 0;
  border-radius: 999px;
  background: #D7CB59;
  color: #1f1d14;
  font: inherit;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: opacity .15s ease, transform .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.eapb-btn.eapb-play-btn:active { transform: scale(.98); }
.eapb-btn.eapb-play-btn[disabled],
.eapb-btn.eapb-play-btn.is-busy { opacity: .6; cursor: progress; }

.eapb-note { font-size: .9em; opacity: .8; }

.eapb-toast {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 999999;
  max-width: 480px;
  margin: 0 auto;
  padding: 14px 18px;
  border-radius: 12px;
  background: #2b2a24;
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.eapb-toast.is-visible { opacity: 1; transform: none; }
.eapb-toast--success { background: #2f5e3a; }
.eapb-toast--error { background: #8a2f2f; }
