/* ════════════════════════════════════════════════════════════════════
   Trial Pro  ·  public subscription-preview notice + exit badge
   (ui/trial-pro.js). Self-contained stylesheet (linked from index.html).
   z-index: notice 2200, badge 1500 — DESIGN.md §9.3.
   ════════════════════════════════════════════════════════════════════ */

/* ── One-shot notice (shown once per qualifying page load) ───────────── */

.trial-pro-notice {
  position: fixed;
  inset: 0;
  z-index: 2200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.trial-pro-notice__backdrop {
  position: absolute;
  inset: 0;
  background: var(--overlay-3);
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  animation: trial-pro-backdrop-in var(--dur-modal, 0.24s) ease;
}

@keyframes trial-pro-backdrop-in { from { opacity: 0; } to { opacity: 1; } }

.trial-pro-notice__card {
  position: relative;
  width: min(440px, 100%);
  background: var(--surface-2);
  border: 1px solid var(--line-1);
  border-radius: var(--radius-lg, 8px);
  box-shadow: var(--shadow-modal);
  padding: 24px;
  animation: trial-pro-card-in var(--dur-modal, 0.24s) var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

@keyframes trial-pro-card-in {
  from { transform: translateY(8px) scale(0.98); opacity: 0; }
  to   { transform: translateY(0)   scale(1);    opacity: 1; }
}

.trial-pro-notice__eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 6px;
}

.trial-pro-notice__title {
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--ink-1);
  margin: 0 0 10px;
}

.trial-pro-notice__lead {
  font-family: var(--font-ui);
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-2);
  margin: 0 0 10px;
}

.trial-pro-notice__fine {
  font-family: var(--font-ui);
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink-3);
  margin: 0 0 18px;
}

.trial-pro-notice__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.trial-pro-notice__btn {
  flex: 0 0 auto;
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 500;
  height: 36px;
  padding: 0 16px;
  color: var(--bg);
  background: var(--ink-1);
  border: 1px solid var(--ink-1);
  border-radius: var(--radius-md, 5px);
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}
.trial-pro-notice__btn:hover { background: var(--ink-2); border-color: var(--ink-2); }
.trial-pro-notice__btn:active { background: var(--ink-2); }
.trial-pro-notice__btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--overlay-2);
}

.trial-pro-notice__btn--ghost {
  color: var(--ink-1);
  background: transparent;
  border: 1px solid var(--line-1);
}
.trial-pro-notice__btn--ghost:hover {
  background: var(--overlay-1);
  border-color: var(--line-2);
  color: var(--ink-1);
}

@media (max-width: 480px) {
  .trial-pro-notice__actions { flex-direction: column-reverse; align-items: stretch; }
  .trial-pro-notice__btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .trial-pro-notice__backdrop,
  .trial-pro-notice__card { animation: none; }
}

/* ── Persistent exit badge (visible while a trial override is active) ── */

.trial-pro-badge {
  position: fixed;
  top: calc(var(--topbar-h, 48px) + 12px);
  right: 12px;
  z-index: 1500;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px 6px 12px;
  background: var(--surface-2);
  border: 1px solid var(--line-1);
  border-radius: var(--radius-md, 5px);
  box-shadow: 0 4px 16px var(--overlay-2);
}
.trial-pro-badge[hidden] { display: none; }

.trial-pro-badge__label {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 500;
  color: var(--ink-2);
  white-space: nowrap;
}

.trial-pro-badge__exit {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 500;
  height: 26px;
  padding: 0 10px;
  color: var(--ink-1);
  background: transparent;
  border: 1px solid var(--line-1);
  border-radius: var(--radius-sm, 4px);
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 120ms ease, border-color 120ms ease;
}
.trial-pro-badge__exit:hover {
  background: var(--overlay-1);
  border-color: var(--line-2);
}
.trial-pro-badge__exit:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--overlay-2);
}
