/* =========================
   Epic Ham Radio Suite theme
   Cassiopeia (Joomla 6)
   ========================= */

:root {
  --epic-bg: #0b0f1a;
  --epic-surface: #101a2b;
  --epic-surface-2: #0f1726;
  --epic-border: #1b2a44;

  --epic-text: #d7e2f2;
  --epic-muted: #8fa7c6;

  --epic-blue: #2f7dff;
  --epic-blue-2: #1f5fe0;

  --epic-teal: #2ef2c7;
  --epic-teal-2: #18c9a6;

  --epic-link: #49a0ff;
}

/* Page defaults */
body.site {
  background: radial-gradient(1400px 600px at 50% -10%, #162242 0%, var(--epic-bg) 55%);
  color: var(--epic-text);
}

/* Main containers / cards */
.container, .site-grid, .card, .moduletable, .com-content-article {
  color: var(--epic-text);
}

.card, .moduletable, .com-content-article {
  background: linear-gradient(180deg, var(--epic-surface) 0%, var(--epic-surface-2) 100%);
  border: 1px solid var(--epic-border);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  color: var(--epic-text);
}

/* Links */
a {
  color: var(--epic-link);
  text-decoration-color: rgba(73,160,255,.45);
}
a:hover, a:focus {
  color: var(--epic-teal);
  text-decoration-color: rgba(46,242,199,.65);
}

/* Navbar/header */
header.header, .navbar {
  background: rgba(10, 14, 26, .85);
  border-bottom: 1px solid var(--epic-border);
  backdrop-filter: blur(10px);
}
.navbar a, header.header a {
  color: var(--epic-text);
}
.navbar a:hover, header.header a:hover {
  color: var(--epic-teal);
}

/* Buttons */
.btn, button, input[type="submit"], .button {
  border-radius: 12px;
  border: 1px solid rgba(47,125,255,.55);
  background: linear-gradient(180deg, rgba(47,125,255,.18), rgba(16,26,43,.65));
  color: var(--epic-text);
  box-shadow: 0 0 0 rgba(47,125,255,0);
  transition: transform .06s ease, box-shadow .15s ease, border-color .15s ease;
}

.btn:hover, button:hover, input[type="submit"]:hover, .button:hover,
.btn:focus, button:focus, input[type="submit"]:focus, .button:focus {
  border-color: rgba(46,242,199,.75);
  box-shadow: 0 0 22px rgba(46,242,199,.18), 0 0 12px rgba(47,125,255,.18);
}

.btn-primary, .btn.btn-primary {
  border-color: rgba(46,242,199,.65);
  background: linear-gradient(180deg, rgba(46,242,199,.22), rgba(47,125,255,.14));
}

/* Forms */
input[type="text"], input[type="email"], input[type="password"], textarea, select {
  background: rgba(16,26,43,.85);
  border: 1px solid var(--epic-border);
  color: var(--epic-text);
  border-radius: 12px;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: rgba(46,242,199,.75);
  box-shadow: 0 0 0 3px rgba(46,242,199,.14);
}

/* Footer */
footer.footer {
  background: rgba(10, 14, 26, .9);
  border-top: 1px solid var(--epic-border);
  color: var(--epic-muted);
}

.moduletable a:hover {
  text-shadow: 0 0 8px rgba(46,242,199,.6);
}
