/* ============================================================
   Premium gating toast — pretty replacement for alert()
   Bottom sheet pattern on mobile (rises from bottom),
   center modal pattern on tablet/desktop.
   Uses the brand palette from ei-tokens.css.
   ============================================================ */

.pt-overlay {
  position: fixed;
  inset: 0;
  background: rgba(13, 40, 70, 0.55);
  z-index: 3000; /* above all overlays: devotional 240, kids 245, family 246, study 2000 */
  display: none;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
  backdrop-filter: blur(4px);
}
.pt-overlay.open { display: flex; opacity: 1; }

.pt-sheet {
  background: var(--app-card, #fff);
  width: 100%;
  max-width: 520px;
  border-radius: 24px 24px 0 0;
  padding: 24px 22px calc(24px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -10px 40px rgba(13, 40, 70, 0.25);
  transform: translateY(100%);
  transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1);
  position: relative;
  overflow: hidden;
}
.pt-overlay.open .pt-sheet { transform: translateY(0); }

/* Decorative gold radial glow top-right corner */
.pt-sheet::before {
  content: "";
  position: absolute;
  top: -60px; right: -60px;
  width: 220px; height: 220px;
  border-radius: 999px;
  background: radial-gradient(closest-side, rgba(217,160,40,0.18), transparent 70%);
  pointer-events: none;
}

.pt-handle {
  width: 40px; height: 4px;
  background: var(--app-border, #e8dfc8);
  border-radius: 2px;
  margin: 0 auto 18px;
}

.pt-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--app-gold-bright), var(--app-gold));
  box-shadow: 0 4px 18px rgba(217, 160, 40, 0.35);
  font-size: 1.8rem;
  position: relative;
}

.pt-title {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--app-text-strong, #0d2846);
  text-align: center;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
  position: relative;
}

.pt-body {
  font-size: 0.95rem;
  color: var(--app-text, #1f2d3d);
  text-align: center;
  line-height: 1.5;
  margin: 0 0 18px;
  position: relative;
}

.pt-benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  position: relative;
}
.pt-benefits li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  font-size: 0.88rem;
  color: var(--app-text, #1f2d3d);
}
.pt-benefits .check {
  flex-shrink: 0;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--app-gold, #d9a028);
  color: var(--app-navy-1, #0d2846);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.8rem;
}

.pt-cta {
  width: 100%;
  background: linear-gradient(135deg, var(--app-gold), var(--app-gold-bright));
  color: var(--app-navy-1, #0d2846);
  border: none;
  padding: 15px 24px;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 4px 14px rgba(217, 160, 40, 0.35);
  transition: transform 0.15s ease;
  position: relative;
}
.pt-cta:active { transform: scale(0.98); }

.pt-cta-sub {
  font-size: 0.78rem;
  color: var(--app-muted, #8a7e64);
  text-align: center;
  margin: 10px 0 14px;
  position: relative;
}

.pt-skip {
  background: transparent;
  color: var(--app-muted, #8a7e64);
  font-size: 0.92rem;
  border: none;
  padding: 10px;
  width: 100%;
  cursor: pointer;
  font-family: inherit;
  position: relative;
  font-weight: 600;
}
.pt-skip:hover { color: var(--app-text, #1f2d3d); }

/* Variants by content type */
.pt-sheet[data-variant="story"]   .pt-icon-wrap { background: linear-gradient(135deg, #a83a2a, #c54a3a); }
.pt-sheet[data-variant="sleep"]   .pt-icon-wrap { background: linear-gradient(135deg, #1f4c84, #4a7fc0); }
.pt-sheet[data-variant="affirm"]  .pt-icon-wrap { background: linear-gradient(135deg, #2a6e4a, #4a9e6a); }
.pt-sheet[data-variant="download"] .pt-icon-wrap { background: linear-gradient(135deg, #4a3a8c, #6e5aae); }
