/**
 * PromptMaster Pro — shared UI layer (subtle only).
 * Load after page inline styles. Admin: <body class="pmp-admin">.
 * No global heading gradients; no pulsing glows.
 */

:root {
  --pmp-grad-a: #38bdf8;
  --pmp-grad-b: #6366f1;
  --pmp-grad-c: #a855f7;
}

@keyframes pmp-enter-rise {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Admin login title — solid, no gradient animation */
body.pmp-admin #login-page h2 {
  color: rgba(255, 255, 255, 0.96);
  letter-spacing: -0.02em;
}

body:not(.pmp-admin) h1.no-pmp-grad,
body:not(.pmp-admin) h2.no-pmp-grad {
  background: none !important;
  -webkit-text-fill-color: inherit !important;
  color: inherit !important;
  animation: none !important;
}

#pm-trial-modal h2 {
  background: none !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.95) !important;
  color: rgba(255, 255, 255, 0.95) !important;
  animation: none !important;
}

/* ── Entrance reveal (premium-ui.js) ── */
.pmp-enter {
  opacity: 0;
  animation: pmp-enter-rise 0.72s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: var(--pmp-d, 0ms);
}

/* ── No animated glows on buttons (shadows live on each page, kept soft) ── */
body:not(.pmp-admin) .btn-primary,
body:not(.pmp-admin) .btn-secondary,
body:not(.pmp-admin) .nav-cta,
body:not(.pmp-admin) a.ov-btn,
body:not(.pmp-admin) .bill-btn,
body:not(.pmp-admin) .login-btn,
body:not(.pmp-admin) button:not(:disabled),
body.pmp-admin .login-btn,
body.pmp-admin .topbar .tbtn,
body.pmp-admin .users-subtab,
body.pmp-admin .wl-subtab,
body.pmp-admin .blog-subtab,
body.pmp-admin .ct-tab,
body.pmp-admin .an-subtab {
  animation: none !important;
}

/* ── Hover: light scale + border (tables excluded on admin) ── */
body:not(.pmp-admin) .btn-primary:hover {
  transform: translateY(-1px) scale(1.02) !important;
}

body:not(.pmp-admin) .btn-secondary:hover {
  transform: translateY(-1px) scale(1.02) !important;
}

body:not(.pmp-admin) .nav-cta:hover,
body:not(.pmp-admin) a.ov-btn:hover,
body:not(.pmp-admin) .bill-btn:hover:not(.active) {
  transform: scale(1.02) !important;
}

body:not(.pmp-admin) .card:hover,
body:not(.pmp-admin) .help-card:hover,
body:not(.pmp-admin) .stat-item:hover {
  transform: translateY(-2px) scale(1.01) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22) !important;
}

body.pmp-admin .topbar .tbtn:hover,
body.pmp-admin .login-btn:hover {
  transform: scale(1.02);
  border-color: rgba(255, 255, 255, 0.18) !important;
  filter: brightness(1.05);
}

body.pmp-admin .users-subtab:hover:not(.active),
body.pmp-admin .wl-subtab:hover:not(.active) {
  transform: scale(1.02);
  border-color: rgba(255, 255, 255, 0.14) !important;
}

body.pmp-admin .tbl-wrap button:hover,
body.pmp-admin .tbl-wrap a:hover,
body.pmp-admin tbody button:hover,
body.pmp-admin .pgn button:hover {
  transform: none !important;
  filter: none;
}

/* ── Active squeeze ── */
.pmp-pressable:active {
  transform: scale(0.96) !important;
  transition: transform 0.12s ease !important;
}

body.pmp-admin .tbl-wrap .pmp-pressable:active,
body.pmp-admin tbody .pmp-pressable:active {
  transform: scale(0.98) !important;
}

@media (prefers-reduced-motion: reduce) {
  .pmp-enter {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* Sitewide: softer blue glow on common gradient CTAs (loaded after page CSS) */
body:not(.pmp-admin) .nav-cta {
  box-shadow: 0 2px 10px rgba(59, 130, 246, 0.16) !important;
}
body:not(.pmp-admin) .nav-cta:hover {
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.22) !important;
}

body:not(.pmp-admin) .btn-primary,
body:not(.pmp-admin) .btn-b,
body:not(.pmp-admin) .submit-btn,
body:not(.pmp-admin) .rm-promo-btn,
body:not(.pmp-admin) a.btn:not(.btn-sec),
body:not(.pmp-admin) .send-btn:not(.send-btn--success):not(.send-btn--sending) {
  box-shadow: 0 3px 12px rgba(59, 130, 246, 0.2) !important;
}
body:not(.pmp-admin) .btn-primary:hover,
body:not(.pmp-admin) .btn-b:hover,
body:not(.pmp-admin) .submit-btn:hover,
body:not(.pmp-admin) .rm-promo-btn:hover,
body:not(.pmp-admin) a.btn:not(.btn-sec):hover,
body:not(.pmp-admin) .send-btn:hover:not(:disabled):not(.send-btn--success) {
  box-shadow: 0 5px 16px rgba(59, 130, 246, 0.26) !important;
}

body:not(.pmp-admin) a.ov-btn {
  box-shadow: 0 3px 12px rgba(59, 130, 246, 0.2) !important;
}
body:not(.pmp-admin) a.ov-btn:hover {
  box-shadow: 0 5px 16px rgba(59, 130, 246, 0.26) !important;
}
