/* MAGA Mail — Banner Theme */
:root{
  --bg0:#070A12;
  --bg1:#071A3A;                 /* deep navy */
  --card:rgba(255,255,255,.055);
  --border:1px solid rgba(255,255,255,.12);
  --text:#F5F7FF;
  --muted:#B7C1D6;

  --gold:#F5C451;
  --red:#E11D2E;
  --blue:#1146B8;

  --ring: rgba(245,196,81,.30);
  --shadow: 0 16px 44px rgba(0,0,0,.48);
  --radius: 18px;

  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(17,70,184,.35), transparent 55%),
    radial-gradient(900px 520px at 80% 10%, rgba(225,29,46,.22), transparent 60%),
    radial-gradient(900px 520px at 55% 100%, rgba(245,196,81,.12), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  line-height:1.45;
}

a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:22px 18px 70px;}
.card{
  position:relative;
  background: var(--card);
  border: var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px;
  backdrop-filter: blur(12px);
}

.muted{color:var(--muted)}
.mono{font-family:var(--mono)}

header{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:8px 0 18px;
}
.brand{
  display:flex;align-items:center;gap:12px;text-decoration:none;
  font-weight:950;letter-spacing:.2px;
}
.logo{
  width:40px;height:40px;border-radius:12px;
  background:
    url("/assets/logo.png") center/cover no-repeat;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 16px 36px rgba(0,0,0,.35);
}
.brand .muted{opacity:.9}

nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
nav a{opacity:.92;text-decoration:none;font-weight:900;font-size:14px}
nav a:hover{opacity:1;text-decoration:underline}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:11px 14px;border-radius:12px;border: var(--border);
  background: rgba(255,255,255,.05);
  text-decoration:none;font-weight:950;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}
.btn.primary{
  background:
    radial-gradient(160px 90px at 30% 20%, rgba(255,255,255,.22), transparent 60%),
    linear-gradient(135deg, rgba(245,196,81,.98), rgba(245,196,81,.72));
  border: 1px solid rgba(255,255,255,.16);
  color:#071018;
}
.btn:hover{transform: translateY(-1px); transition: transform .12s ease}

h1{
  margin:6px 0 10px;
  font-size: clamp(34px, 4vw, 52px);
  line-height:1.04;
  letter-spacing:-0.02em;
}
.sectionTitle{font-size:22px;margin:0 0 10px}

/* Hero */
.hero{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  align-items:stretch;
  margin-top:10px;
}
@media (max-width: 920px){
  .hero{grid-template-columns:1fr;}
}

/* Banner strip inside hero card */
.hero-surface{
  overflow:hidden;
}
.hero-surface::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.20)),
    url("/assets/banner.png") center/cover no-repeat;
  opacity:.85;
  filter: saturate(1.05) contrast(1.05);
  transform: scale(1.03);
}
.hero-surface > *{ position:relative; z-index:1; }

/* Pills + badge */
.pillrow{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}
.pill{
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.22);
  border-radius:999px;
  padding:8px 10px;
  font-size:13px;
  color: rgba(245,247,255,.92);
}

.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;border: 1px solid rgba(255,255,255,.18);
  background: rgba(245,196,81,.12);
  color: rgba(245,247,255,.95);
  font-size:13px;font-weight:950;
}
.dot{
  width:10px;height:10px;border-radius:999px;
  background: var(--gold);
  box-shadow: 0 0 0 3px rgba(245,196,81,.18);
}

/* Feature grid */
.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-top:14px;
}
@media (max-width: 920px){
  .grid3{grid-template-columns:1fr;}
}
.feature h3{margin:0 0 6px;font-size:16px}
.feature p{margin:0;color:var(--muted);font-size:14px}

/* Icons next to feature headings */
.fhead{display:flex;align-items:center;gap:10px}
.icon{
  width:28px;height:28px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;
  border: 1px solid rgba(255,255,255,.16);
  background:
    radial-gradient(12px 12px at 30% 25%, rgba(255,255,255,.16), transparent 60%),
    linear-gradient(135deg, rgba(17,70,184,.22), rgba(225,29,46,.16));
  color: rgba(245,247,255,.95);
}

/* KPI blocks */
.kpi{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top:14px;
}
@media (max-width: 920px){ .kpi{grid-template-columns:1fr;} }
.kpi .item{
  padding:14px;
  border-radius:14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.20);
}
.kpi .big{font-size:22px;font-weight:950;margin:0 0 4px}
.kpi .small{color:var(--muted);font-size:13px;margin:0}

/* Forms */
.form{display:flex;flex-direction:column;gap:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:920px){ .row{grid-template-columns:1fr;} }
label{font-size:13px;font-weight:900}
.note{font-size:12px;color:var(--muted);margin:0}

input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.24);
  color: var(--text);
  outline:none;
  font-size:14px;
}
input:focus, select:focus, textarea:focus{
  box-shadow: 0 0 0 4px var(--ring);
  border-color: rgba(245,196,81,.40);
}
textarea{min-height:96px; resize:vertical}

/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:920px){ .faq{grid-template-columns:1fr;} }
details{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  border-radius:14px;
  padding:12px;
}
summary{cursor:pointer;font-weight:950}
details p{margin:10px 0 0;color:var(--muted);font-size:14px}

/* Footer */
footer{
  margin-top:24px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  color: var(--muted);
  font-size: 13px;
}
.links{display:flex;gap:14px;flex-wrap:wrap}
.links a{color: var(--muted);text-decoration:none;font-weight:900}
.links a:hover{text-decoration:underline}

/* Legal pages */
.legal{max-width:900px}
.legal h1{font-size:36px;margin-top:0}
.legal h2{margin-top:28px;font-size:22px}
.legal p,.legal li{color:#DCE2F2}
.legal a{color:var(--gold)}

/* Sidebar promo helper (optional usage later) */
.sidebar-promo{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.14);
  overflow:hidden;
  background: rgba(0,0,0,.18);
}
.sidebar-promo img{display:block;width:100%;height:auto}
