/* =========================
   ATS Public Theme (Blue/White/Orange)
   Key: THEME_PUBLIC_CSS
   ========================= */

:root{
  --ats-navy:#0b1f3a;
  --ats-blue:#1e3a8a;
  --ats-sky:#3b82f6;
  --ats-orange:#f59e0b;
  --ats-orange-dark:#d97706;
  --ats-white:#ffffff;
  --ats-ink:#111827;
  --ats-muted:#6b7280;
  --ats-bg:#f5f7fb;
  --ats-border:#e5e7eb;

  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.10);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ats-ink);
  background: var(--ats-bg);
}

a{ color: var(--ats-blue); }
a:hover{ opacity:.92; }

header, .header, .topbar, .site-header{
  background: var(--ats-white);
  color: var(--ats-ink);
  border-bottom: 1px solid var(--ats-border);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

header .container,
.header .container,
.site-header .container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 16px;
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
}

header img, .header img, .site-header img{
  max-height: 44px;
  height:auto;
  width:auto;
}

.nav-menu,
.navbar-nav,
.menu,
.main-menu,
.nav-links,
.header-menu{
  display:flex !important;
  gap: 10px !important;
  align-items:center !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  flex-wrap:wrap !important;
}

header nav,
.header nav,
.site-header nav{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

header nav a,
.header nav a,
.site-header nav a,
.nav-menu a,
.navbar-nav a,
.menu a,
.main-menu a,
.nav-links a,
.header-menu a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  text-decoration:none !important;
  font-weight: 700 !important;
  letter-spacing: .2px;
  color: var(--ats-ink) !important;
  background: transparent;
  border: 1px solid transparent;
  transition: background .15s ease, transform .05s ease, border-color .15s ease;
}

header nav a:hover,
.header nav a:hover,
.site-header nav a:hover,
.nav-menu a:hover,
.navbar-nav a:hover,
.menu a:hover,
.main-menu a:hover,
.nav-links a:hover,
.header-menu a:hover{
  background: rgba(30,58,138,.08) !important;
  border-color: rgba(30,58,138,.18) !important;
  transform: translateY(-1px);
}

.nav-login,
a.nav-login,
header nav a[href*="login"],
header nav a[href*="Login"],
.nav-menu a[href*="login"],
.menu a[href*="login"]{
  background: var(--ats-blue) !important;
  color: var(--ats-white) !important;
  border-color: rgba(0,0,0,0) !important;
}

.nav-admin,
a.nav-admin,
header nav a[href*="virtualroom"],
.nav-menu a[href*="virtualroom"],
.menu a[href*="virtualroom"]{
  background: var(--ats-navy) !important;
  color: var(--ats-white) !important;
  border-color: rgba(0,0,0,0) !important;
}

section, .section, .container, .content, main{
  max-width: 1200px;
  margin: 0 auto;
}

.card, .box, .panel{
  background: var(--ats-white);
  border: 1px solid var(--ats-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

h1,h2,h3{
  margin: 0 0 10px 0;
  line-height:1.15;
}
h1{ font-size: clamp(28px, 3.2vw, 46px); }
h2{ font-size: clamp(22px, 2.2vw, 34px); }
p{ color: var(--ats-muted); }

button, .btn, input[type="button"], input[type="submit"]{
  border: 0;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
}
.btn-primary{
  background: var(--ats-orange);
  color: var(--ats-ink);
}
.btn-primary:hover{ background: var(--ats-orange-dark); color: var(--ats-white); }

.hero, .banner, .masthead{
  background: linear-gradient(135deg, var(--ats-navy), var(--ats-blue));
  color: var(--ats-white);
  border-bottom: 6px solid var(--ats-orange);
}
.hero *,.banner *,.masthead *{ color: var(--ats-white); }

footer, .footer{
  background: var(--ats-navy);
  color: rgba(255,255,255,.92);
  border-top: 6px solid var(--ats-orange);
  padding: 18px 16px;
}
footer a, .footer a{ color: var(--ats-white); }

@media (max-width: 992px){
  header .container, .header .container, .site-header .container{
    flex-direction: column;
    align-items:flex-start;
  }

  .nav-menu,
  .navbar-nav,
  .menu,
  .main-menu,
  .nav-links,
  header nav{
    gap: 8px !important;
  }

  header nav a,
  .nav-menu a,
  .menu a{
    padding: 10px 12px !important;
  }
}