/* ==========================================================================
   PUBLIC-PAGES.CSS — Plans & Legal Pages
   Aligned with main.css token system
   ========================================================================== */

.public-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 100vh;
}
.public-orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(2px); pointer-events:none; }
.public-orb.one { width:620px; height:620px; top:-280px; left:-190px; background:radial-gradient(circle, rgba(34,211,238,.18), transparent 68%); }
.public-orb.two { width:720px; height:720px; top:150px; right:-360px; background:radial-gradient(circle, rgba(139,92,246,.19), transparent 66%); }
.public-orb.three { width:520px; height:520px; bottom:-310px; left:32%; background:radial-gradient(circle, rgba(52,211,153,.10), transparent 67%); }
.public-container { width:min(1120px, calc(100% - 40px)); margin:0 auto; }

.public-header {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  min-height:78px; border-bottom:1px solid var(--glass-border);
}
.public-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font:750 1.05rem var(--font-display); letter-spacing:-.02em; color:var(--text-primary); }
.public-brand img { width:32px; height:32px; }
.public-nav { display:flex; align-items:center; gap:6px; }
.public-nav a { padding:8px 11px; border-radius:9px; color:var(--text-secondary); text-decoration:none; font-size:.86rem; font-weight:600; transition: all var(--t-fast); }
.public-nav a:hover, .public-nav a[aria-current="page"] { color:var(--text-primary); background:var(--bg-hover); }

.hero { max-width:790px; margin:0 auto; padding:92px 0 48px; text-align:center; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; padding:6px 11px; color:#b8f7ff; background:var(--cyan-a12); border:1px solid var(--cyan-a20); border-radius:999px; font-size:.75rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.hero h1 { margin:16px 0 14px; font:800 clamp(2.35rem, 6vw, 4.6rem)/1.05 var(--font-display); letter-spacing:-.055em; color:var(--text-primary); }
.hero h1 .gradient-text { background:linear-gradient(110deg, #fff 15%, #8be9ff 46%, #c4b5fd 78%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p { max-width:650px; margin:0 auto; color:var(--text-secondary); font-size:clamp(.97rem, 2vw, 1.1rem); }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:27px; }

.public-button {
  display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 17px;
  border:1px solid var(--glass-border); border-radius:11px; color:var(--text-primary);
  background:var(--bg-overlay); text-decoration:none; font-size:.87rem; font-weight:750;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.public-button:hover { transform:translateY(-2px); border-color:var(--glass-border-hover); background:var(--bg-active); box-shadow:var(--shadow-sm); }
.public-button.primary {
  color:#fff; border-color:rgba(139,92,246,.68);
  background:linear-gradient(110deg, #5865f2, #8b5cf6);
  box-shadow:0 10px 28px rgba(99,102,241,.25);
}
.public-button.primary:hover { background:linear-gradient(110deg, #6366f1, #a78bfa); box-shadow:0 14px 35px rgba(99,102,241,.35); }

/* ═══ Plans Grid ═══ */
.plans-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; margin:20px 0 34px; }
.plan-card {
  position:relative; padding:30px; border:1px solid var(--glass-border);
  border-radius:var(--r-2xl); background:var(--glass-bg);
  box-shadow:var(--shadow-md); transition: all var(--t-normal);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
}
.plan-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--glass-border-hover); }
.plan-card.premium {
  border-color:rgba(139,92,246,.55);
  background:linear-gradient(145deg, rgba(139,92,246,.18), rgba(17,24,39,.85) 52%);
  box-shadow:0 20px 58px rgba(91,65,181,.18);
}
.plan-label { margin:0; color:var(--text-muted); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.plan-card h2 { margin:7px 0 8px; font:760 1.65rem var(--font-display); letter-spacing:-.03em; color:var(--text-primary); }
.plan-card p { min-height:50px; margin:0; color:var(--text-secondary); font-size:.9rem; }
.plan-price { display:flex; align-items:baseline; gap:7px; margin:25px 0 20px; }
.plan-price strong { font:800 2.25rem var(--font-display); letter-spacing:-.05em; color:var(--text-primary); }
.plan-price span { color:var(--text-muted); font-size:.8rem; }
.plan-list { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.plan-list li { display:flex; align-items:flex-start; gap:9px; color:var(--text-secondary); font-size:.88rem; }
.plan-list i { color:var(--emerald); margin-top:4px; }
.plan-card .public-button { width:100%; margin-top:26px; }
.premium-ribbon { position:absolute; top:17px; right:18px; padding:5px 9px; border-radius:999px; color:#e9ddff; background:rgba(139,92,246,.19); border:1px solid rgba(167,139,250,.35); font-size:.68rem; font-weight:800; letter-spacing:.05em; }

/* ═══ Comparison Table ═══ */
.comparison { margin:26px 0 76px; overflow:hidden; border:1px solid var(--glass-border); border-radius:var(--r-2xl); background:var(--glass-bg); backdrop-filter:blur(var(--glass-blur)); -webkit-backdrop-filter:blur(var(--glass-blur)); }
.comparison-header { display:flex; align-items:end; justify-content:space-between; gap:18px; padding:25px 27px; border-bottom:1px solid var(--glass-border); }
.comparison-header h2 { margin:0; font:750 1.32rem var(--font-display); color:var(--text-primary); }
.comparison-header p { margin:3px 0 0; color:var(--text-muted); font-size:.84rem; }
.comparison table { width:100%; border-collapse:collapse; }
.comparison th, .comparison td { padding:14px 27px; border-bottom:1px solid rgba(148,163,184,.12); text-align:left; font-size:.85rem; }
.comparison th { color:var(--text-muted); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.comparison td:nth-child(2), .comparison td:nth-child(3), .comparison th:nth-child(2), .comparison th:nth-child(3) { text-align:center; }
.comparison tr:last-child td { border-bottom:0; }
.comparison td { color:var(--text-secondary); }
.check { color:var(--emerald); }
.cross { color:var(--text-muted); }
.premium-cell { color:var(--purple); font-weight:700; }

/* ═══ Legal Pages ═══ */
.legal-hero { padding-bottom:30px; }
.legal-content { max-width:880px; margin:0 auto 80px; }
.legal-notice { display:flex; gap:12px; padding:16px 18px; margin-bottom:18px; color:var(--text-secondary); background:var(--cyan-a08); border:1px solid var(--cyan-a20); border-radius:14px; font-size:.87rem; }
.legal-notice i { color:var(--cyan); margin-top:4px; }
.legal-card {
  padding:clamp(22px, 5vw, 40px); margin-top:18px;
  border:1px solid var(--glass-border); border-radius:var(--r-2xl);
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur)); -webkit-backdrop-filter:blur(var(--glass-blur));
}
.legal-card h2 { margin:0 0 4px; font:760 clamp(1.55rem, 4vw, 2.05rem) var(--font-display); letter-spacing:-.04em; color:var(--text-primary); }
.legal-card .updated { margin:0 0 30px; color:var(--text-muted); font-size:.82rem; }
.legal-section { padding:23px 0; border-top:1px solid rgba(148,163,184,.13); }
.legal-section:first-of-type { border-top:0; padding-top:0; }
.legal-section h3 { margin:0 0 10px; font:700 1rem var(--font-display); color:var(--text-primary); }
.legal-section p, .legal-section li { color:var(--text-secondary); font-size:.9rem; }
.legal-section p { margin:0; }
.legal-section p + p { margin-top:11px; }
.legal-section ul { display:grid; gap:7px; margin:12px 0 0; padding-left:19px; }
.legal-section blockquote { margin:14px 0 0; padding:12px 15px; color:var(--text-secondary); border-left:3px solid var(--cyan); background:rgba(255,255,255,.03); border-radius:0 10px 10px 0; font-size:.88rem; }

.public-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:26px 0 34px; border-top:1px solid var(--glass-border); color:var(--text-muted); font-size:.78rem; }
.public-footer nav { display:flex; flex-wrap:wrap; gap:14px; }
.public-footer a { color:var(--text-muted); text-decoration:none; transition: color var(--t-fast); }
.public-footer a:hover { color:var(--cyan); }

@media (max-width: 720px) {
  .public-container { width:min(100% - 28px, 1120px); }
  .public-header { min-height:68px; }
  .public-nav a { padding:7px; font-size:.77rem; }
  .public-nav a:first-child { display:none; }
  .hero { padding:66px 0 34px; }
  .plans-grid { grid-template-columns:1fr; }
  .plan-card { padding:24px; }
  .comparison { overflow-x:auto; }
  .comparison table { min-width:580px; }
  .comparison-header { padding:21px; }
  .comparison th, .comparison td { padding:13px 18px; }
  .public-footer { align-items:flex-start; flex-direction:column; }
}
