/* GetFitAI Policy Pages Theme - Dark, on-brand, responsive */

/* Base */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  color: rgba(255,255,255,0.92);
  background: #000;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Subtle background depth */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    radial-gradient(1200px 800px at 80% -10%, rgba(99,102,241,0.15), transparent 60%),
    radial-gradient(1000px 700px at -10% 20%, rgba(59,130,246,0.18), transparent 55%),
    radial-gradient(900px 600px at 50% 120%, rgba(56,189,248,0.10), transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* Header */
.policy-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(to bottom, rgba(0,0,0,0.9), rgba(0,0,0,0));
  backdrop-filter: blur(8px);
}
.policy-header-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 18px 20px 8px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.brand img {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: block;
}
.brand-name {
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(90deg, #60a5fa, #8b5cf6);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Layout */
.container { 
  max-width: 900px; 
  margin: 0 auto; 
  padding: 24px 20px 40px; 
  position: relative; 
  z-index: 1; 
}

/* Card Panel (glass + border glow) */
.panel {
  position: relative;
  background: rgba(17, 24, 39, 0.65);
  border: 1px solid rgba(75,85,99,0.45);
  border-radius: 16px;
  padding: 28px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.03),
    0 10px 30px rgba(0,0,0,0.45),
    0 6px 12px rgba(0,0,0,0.35);
  backdrop-filter: blur(8px);
}
.panel::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 16px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(59,130,246,0.5), rgba(139,92,246,0.5) 50%, rgba(56,189,248,0.45));
  -webkit-mask: 
    linear-gradient(#000 0 0) content-box, 
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

/* Typography */
h1 {
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.2;
  background: linear-gradient(90deg, #ffffff, #d1d5db);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
h2 {
  margin: 24px 0 8px;
  color: #e5e7eb;
  font-size: 20px;
}
h3 {
  margin: 16px 0 6px;
  color: #cbd5e1;
  font-size: 16px;
}
p, li { color: #c7d2fe; }
p { margin: 10px 0; }
ul { padding-left: 22px; }

/* Callouts */
.note {
  background: rgba(253, 224, 71, 0.08);
  border: 1px solid rgba(250, 204, 21, 0.35);
  border-radius: 10px;
  padding: 12px;
  color: #fef9c3;
}
.hl {
  background: rgba(59,130,246,0.10);
  border-left: 4px solid #60a5fa;
  border-radius: 8px;
  padding: 12px;
  color: #dbeafe;
}
.warn {
  background: rgba(239,68,68,0.10);
  border-left: 4px solid #f87171;
  border-radius: 8px;
  padding: 12px;
  color: #fee2e2;
}

/* Links */
a { color: #93c5fd; text-decoration: none; }
a:hover { color: #bfdbfe; text-decoration: underline; }

/* Footer */
footer { margin-top: 28px; font-size: 14px; color: #9ca3af; }

/* Divider */
hr { border: none; height: 1px; background: linear-gradient(90deg, rgba(148,163,184,0), rgba(148,163,184,0.35), rgba(148,163,184,0)); margin: 24px 0; }

/* Responsive */
@media (max-width: 640px) {
  .panel { padding: 20px; }
  .policy-header-inner { padding-left: 16px; padding-right: 16px; }
}

