/**
 * Atmosfera roxa escura premium — site público (layout site.php).
 * Escopo: body.public-premium-site — não afeta área membro nem reader/PDF.
 */

body.public-premium-site{
  --text-1:#ffffff;
  --text-2:#d8d0ea;
  --text-secondary:#b7acd4;
  --text-3:#948aae;
  --text-4:rgba(148,138,174,.72);
  --text-kicker:#c7b5ff;

  --purple-deep:#8b5cf6;
  --purple:#a78bfa;
  --purple-2:#c084fc;
  --purple-soft:rgba(139,92,246,.14);
  --purple-softer:rgba(167,139,250,.08);
  --purple-line:rgba(210,180,255,.26);
  --purple-border:rgba(210,180,255,.22);
  --purple-muted:rgba(192,180,220,.85);

  --border:rgba(210,180,255,.10);
  --border-strong:rgba(210,180,255,.16);

  --bg-0:#050308;
  --bg-1:rgba(20,14,34,.55);
  --bg-2:rgba(20,14,34,.72);
  --bg-3:rgba(18,10,34,.88);

  --card:rgba(22,14,38,.78);
  --card-2:rgba(255,255,255,.04);

  --surface-elevated:linear-gradient(180deg, rgba(28,18,44,.95), rgba(18,10,32,.92));
  --surface-elevated-strong:linear-gradient(180deg, rgba(32,22,52,.98), rgba(22,14,38,.95));

  --surface-glow:
    radial-gradient(circle at 18% 8%, rgba(126,87,255,.18), transparent 32%),
    radial-gradient(circle at 82% 18%, rgba(186,104,255,.10), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(37,17,66,.42), transparent 40%),
    linear-gradient(180deg, #120a22 0%, #090512 48%, #050308 100%);

  --shadow-sm:0 8px 22px rgba(0,0,0,.28);
  --shadow:0 12px 34px rgba(0,0,0,.24);
  --shadow-lg:0 16px 40px rgba(0,0,0,.32);

  --focus-ring-color:rgba(167,139,250,.55);

  --fc4-surface-primary:linear-gradient(135deg, rgba(31,20,52,.90), rgba(12,7,24,.96));
  --fc4-surface-shadow:0 12px 34px rgba(0,0,0,.24);
  --fc4-cover-fill:
    radial-gradient(circle at top left, rgba(139,92,246,.24), transparent 36%),
    linear-gradient(135deg, rgba(38,24,64,.92), rgba(13,7,25,.97));
  --btn-primary-shadow:0 10px 24px rgba(139,92,246,.22);
  --btn-primary-shadow-hover:0 12px 28px rgba(139,92,246,.28);
}

body.public-premium-site{
  background:var(--surface-glow);
  color:var(--text-1);
}

body.public-premium-site .main{
  background:transparent;
}

body.public-premium-site ::selection{
  background:rgba(139,92,246,.35);
  color:#fff;
}

/* Hero — remover claridade dominante */
body.public-premium-site .home-hero{
  position:relative;
}

body.public-premium-site .home-hero-bg{
  background:
    linear-gradient(180deg, rgba(22,14,38,.45), rgba(5,3,8,0) 42%);
}

body.public-premium-site .home-hero-kicker,
body.public-premium-site .home-section-eyebrow{
  background:rgba(255,255,255,.045);
  border-color:rgba(210,180,255,.12);
  color:var(--text-kicker);
}

body.public-premium-site .home-hero-panel{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .home-hero-panel h2,
body.public-premium-site .home-hero-panel p{
  color:var(--text-2);
}

body.public-premium-site .home-hero-panel-label{
  color:var(--text-kicker);
}

body.public-premium-site .home-pillar-card,
body.public-premium-site .home-journey-step{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .home-pillar-card:hover,
body.public-premium-site .home-journey-step:hover{
  border-color:rgba(210,180,255,.22);
  box-shadow:0 14px 36px rgba(0,0,0,.3);
}

body.public-premium-site .home-positioning-box{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .home-empty-state{
  border-color:rgba(210,180,255,.12);
  background:rgba(22,14,38,.78);
  color:var(--text-2);
}

body.public-premium-site .home-content-card{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .home-content-card:hover{
  border-color:rgba(210,180,255,.22);
}

body.public-premium-site .home-content-card-cover{
  border-bottom-color:rgba(210,180,255,.10);
}

body.public-premium-site .home-content-card-cover--has-image{
  background-color:rgba(18,10,30,.65);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

body.public-premium-site .home-content-card-cover--placeholder{
  background:var(--fc4-cover-fill);
  border-bottom:1px solid rgba(210,180,255,.10);
}

body.public-premium-site .home-content-section:first-of-type .home-content-card-cover--placeholder{
  background:var(--fc4-cover-fill);
}

body.public-premium-site .home-content-card-cover--placeholder span{
  color:#cdbbff;
}

body.public-premium-site .home-content-card-kicker{
  color:var(--text-kicker);
}

body.public-premium-site .home-content-card-link{
  color:var(--purple-2);
}

body.public-premium-site .home-cta-box{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

/* Botões na home / páginas públicas */
body.public-premium-site .btn-primary{
  background:linear-gradient(135deg, #8B5CF6 0%, #A855F7 55%, #C084FC 100%) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:999px;
  color:#ffffff !important;
  box-shadow:var(--btn-primary-shadow);
}

body.public-premium-site .btn-primary:hover{
  color:#ffffff;
  transform:translateY(-1px);
  filter:none;
  box-shadow:var(--btn-primary-shadow-hover);
}

body.public-premium-site .btn-secondary{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(210,180,255,.14);
  color:#f2ecff;
  box-shadow:none;
}

body.public-premium-site .btn-secondary:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(210,180,255,.24);
  color:#ffffff;
}

body.public-premium-site .btn-outline{
  background:rgba(255,255,255,.04);
  border-color:rgba(210,180,255,.14);
  color:#ede7ff;
}

body.public-premium-site .btn-outline:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(210,180,255,.22);
  color:#ffffff;
}

/* Drawer mobile — não branco */
body.public-premium-site .drawer{
  background:linear-gradient(180deg, rgba(14,8,26,.98) 0%, rgba(8,4,16,.99) 100%);
  border-left:1px solid rgba(210,180,255,.12);
  box-shadow:0 24px 60px rgba(0,0,0,.55);
}

body.public-premium-site .site-public-drawer .drawer-user-simple{
  border-bottom-color:rgba(210,180,255,.1);
}

body.public-premium-site .drawer-footer{
  border-top-color:rgba(210,180,255,.1);
}

body.public-premium-site .drawer-scroll::-webkit-scrollbar-thumb{
  background:rgba(210,180,255,.2);
}

/* Footer */
body.public-premium-site .site-footer{
  border-top-color:rgba(210,180,255,.12);
  color:var(--text-3);
}

/* Biblioteca editorial pública — agora em member-library.css (PR-05) */
body.public-premium-site .public-library-hero-copy{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .public-library-kicker,
body.public-premium-site .public-library-section-eyebrow{
  background:rgba(255,255,255,.045);
  border-color:rgba(210,180,255,.12);
  color:var(--text-kicker);
}

body.public-premium-site .public-library-summary-card{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .public-library-orientation-box{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .public-library-featured-card{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .public-library-featured-card:hover{
  border-color:rgba(210,180,255,.22);
}

body.public-premium-site .public-library-featured-image{
  background:rgba(18,10,30,.55);
}

body.public-premium-site .public-library-featured-placeholder{
  background:var(--fc4-cover-fill);
  border-right:1px solid rgba(210,180,255,.10);
}

body.public-premium-site .public-library-featured-placeholder span{
  color:#cdbbff;
}

body.public-premium-site .public-library-badge{
  background:rgba(255,255,255,.045);
  border-color:rgba(210,180,255,.12);
  color:var(--text-kicker);
}

body.public-premium-site .public-library-card,
body.public-premium-site .public-library-empty{
  border:1px solid rgba(210,180,255,.14);
  background:var(--fc4-surface-primary);
  box-shadow:var(--fc4-surface-shadow);
}

body.public-premium-site .public-library-card:hover{
  border-color:rgba(210,180,255,.2);
}

body.public-premium-site .public-library-card-placeholder{
  background:var(--fc4-cover-fill);
}

body.public-premium-site .public-library-card-placeholder span{
  color:#cdbbff;
}

/* Planos (/planos) */
body.public-premium-site .plans-mode-page-bg{
  background:
    radial-gradient(ellipse 100% 55% at 50% -10%, rgba(139,92,246,.14), transparent 50%),
    radial-gradient(ellipse 70% 40% at 90% 35%, rgba(109,40,217,.08), transparent 45%),
    var(--bg-0);
}

body.public-premium-site .plans-mode-flash{
  border-color:rgba(210,180,255,.12);
  background:rgba(22,14,38,.82);
}

body.public-premium-site .plans-mode-flash--error{
  background:rgba(180,60,70,.14);
  border-color:rgba(248,113,113,.22);
  color:#fecaca;
}

body.public-premium-site .plans-mode-flash--success{
  background:rgba(34,197,94,.12);
  border-color:rgba(74,222,128,.22);
  color:#bbf7d0;
}

body.public-premium-site .plans-mode-column--free{
  border-color:rgba(210,180,255,.12);
  background:rgba(22,14,38,.72);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 8px 32px rgba(0,0,0,.35);
}

body.public-premium-site .plans-mode-column--supporter{
  border-color:rgba(167,139,250,.28);
  background:linear-gradient(165deg, rgba(42,22,68,.95) 0%, rgba(28,16,44,.92) 45%, rgba(22,14,38,.88) 100%);
  box-shadow:
    0 10px 28px rgba(0,0,0,.32),
    0 0 0 1px rgba(167,139,250,.08) inset;
}

/* ========== Frente corretiva 3/4 — formulários + glow contido ========== */

body.public-premium-site{
  --text-muted:#948aae;
  --link-accent:#c084fc;
  --shadow-card:var(--fc4-surface-shadow);
}

body.public-premium-site .home-hero-panel,
body.public-premium-site .home-pillar-card,
body.public-premium-site .home-journey-step,
body.public-premium-site .home-positioning-box,
body.public-premium-site .home-content-card,
body.public-premium-site .home-cta-box,
body.public-premium-site .public-library-hero-copy,
body.public-premium-site .public-library-summary-card,
body.public-premium-site .public-library-orientation-box,
body.public-premium-site .public-library-featured-card,
body.public-premium-site .public-library-card{
  box-shadow:var(--shadow-card);
}

body.public-premium-site .home-pillar-card:hover,
body.public-premium-site .home-journey-step:hover{
  box-shadow:0 10px 26px rgba(0,0,0,.3);
}

body.public-premium-site .btn-primary{
  box-shadow:var(--btn-primary-shadow);
}

body.public-premium-site .btn-primary:hover{
  box-shadow:var(--btn-primary-shadow-hover);
}

body.public-premium-site .drawer{
  box-shadow:0 12px 32px rgba(0,0,0,.45);
}

body.public-premium-site .main a:not(.btn):not(.nav-link){
  color:var(--link-accent);
}

body.public-premium-site .main a:not(.btn):not(.nav-link):hover{
  color:#e9d5ff;
}

body.public-premium-site .drawer-nav-link{
  background:rgba(255,255,255,.055);
  border-color:rgba(210,180,255,.14);
  color:rgba(237,231,255,.88);
  border-radius:12px;
}

body.public-premium-site .drawer-nav-link:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(210,180,255,.24);
  color:#ffffff;
}

body.public-premium-site .drawer-nav-link:focus-visible{
  background:rgba(255,255,255,.09);
  border-color:rgba(210,180,255,.28);
  color:#ffffff;
}

body.public-premium-site .drawer-group-title{
  color:var(--text-muted);
}

body.public-premium-site .drawer-close{
  color:rgba(237,231,255,.85);
  border:1px solid rgba(210,180,255,.14);
  background:rgba(255,255,255,.04);
}

body.public-premium-site .header-premium-dark .btn-primary{
  box-shadow:var(--btn-primary-shadow);
}

body.public-premium-site .header-premium-dark .btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:var(--btn-primary-shadow-hover);
}

/* Login, cadastro, recuperação — agora em components.css (PR-05)
   (FC5: !important para vencer legado/cache) */
body.public-premium-site .pd-auth-card{
  border:1px solid rgba(210,180,255,.14) !important;
  background:
    linear-gradient(135deg, rgba(31,20,52,.90), rgba(12,7,24,.96)) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.24) !important;
}

body.public-premium-site .pd-auth-kicker{
  border-color:rgba(210,180,255,.12);
  background:rgba(255,255,255,.045);
  color:var(--text-kicker);
}

body.public-premium-site .pd-auth-title{
  color:#ffffff !important;
}

body.public-premium-site .pd-auth-subtitle{
  color:#d8d0ea !important;
}

body.public-premium-site .pd-auth-label{
  color:#d8d0ea !important;
}

body.public-premium-site .pd-auth-page .form-input,
body.public-premium-site .pd-auth-page textarea,
body.public-premium-site .pd-auth-page select{
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(210,180,255,.18) !important;
  background:rgba(20,14,34,.55) !important;
  color:#ffffff !important;
  box-shadow:none !important;
}

body.public-premium-site .pd-auth-page .form-input::placeholder,
body.public-premium-site .pd-auth-page textarea::placeholder{
  color:#9b91b4 !important;
  opacity:1 !important;
}

body.public-premium-site .pd-auth-page .form-input:focus,
body.public-premium-site .pd-auth-page textarea:focus,
body.public-premium-site .pd-auth-page select:focus{
  border-color:rgba(168,85,247,.58) !important;
  box-shadow:0 0 0 4px rgba(168,85,247,.10) !important;
  outline:none !important;
}

body.public-premium-site .pd-auth-links a,
body.public-premium-site .pd-auth-footer a{
  color:#c084fc;
}

body.public-premium-site .pd-auth-links a:hover,
body.public-premium-site .pd-auth-footer a:hover{
  color:#e9d5ff;
}

body.public-premium-site .pd-auth-footer{
  color:#d8d0ea !important;
}

body.public-premium-site .pd-auth-error{
  border:1px solid rgba(248,113,113,.28);
  background:rgba(127,29,29,.35);
  color:#fecaca;
}

body.public-premium-site .pd-auth-success{
  border:1px solid rgba(74,222,128,.28);
  background:rgba(22,101,52,.35);
  color:#bbf7d0;
}
