/**
 * GradualPlus — light only.
 * Colors come from CSS variables so a tenant theme can restyle school chrome.
 * Platform fallback: navy #081840 · red #C82028.
 */

.gp-theme-toggle,
.gp-auth-theme-toggle,
.thememenu-sy li:nth-child(2) {
  display: none !important;
}

html.gp-public,
html.gp-html,
html.gp-public body {
  --thm-primary: var(--gp-accent, #C82028);
  --thm-hover: var(--gp-accent-strong, #A01A20);
  --thm-text: var(--gp-text-main, #081840);
  --thm-secondary-text: var(--gp-text-muted, #3D4A66);
  --gp-home-accent: var(--gp-accent, #C82028);
  --gp-home-green: var(--gp-navy, #081840);
}

html.gp-html,
html.gp-public,
body.gp-app,
body.gp-public-body,
body.gp-auth-body {
  background: var(--gp-body-bg, #F4F6FA) !important;
  color: var(--gp-text-main, #081840);
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
}

/* ── Landing / school CMS header ── */
html.gp-public .main-header,
html.gp-public .main-header .stricky,
html.gp-public .main-header #strickyMenu,
html.gp-public .main-header .navbar {
  background: #FFFFFF !important;
  color: var(--gp-navy, #081840) !important;
  border-bottom: 1px solid var(--gp-card-border, rgba(8, 24, 64, 0.08));
  box-shadow: none !important;
  backdrop-filter: none !important;
}

html.gp-public .main-header .top-bar {
  background: var(--gp-navy, #081840) !important;
  color: #F4F6FA !important;
  border: 0;
}

html.gp-public .main-header .top-bar a,
html.gp-public .main-header .top-bar i {
  color: #F4F6FA !important;
}

html.gp-public .main-header .navbar-nav > li > a,
html.gp-public .main-header .navbar-nav .nav-link,
html.gp-public .navbar-style3 > li > a {
  color: var(--gp-navy, #081840) !important;
  font-weight: 600;
}

html.gp-public .main-header .navbar-nav > li > a:hover,
html.gp-public .main-header .navbar-nav > li.active > a {
  color: var(--gp-accent, #C82028) !important;
}

html.gp-public .navbar-toggler {
  color: var(--gp-navy, #081840) !important;
  border-color: var(--gp-card-border, rgba(8, 24, 64, 0.16)) !important;
}

html.gp-tenant-theme .navbar-brand img,
html.gp-tenant-theme .footer-logo img {
  background: #fff;
  border-radius: 12px;
  padding: 8px 10px;
  max-height: 72px;
  width: auto;
}

/* ── Landing hero ── */
.gp-home-hero .slide-overlay {
  background:
    linear-gradient(105deg, rgba(8, 24, 64, 0.82) 0%, rgba(8, 24, 64, 0.42) 55%, rgba(8, 24, 64, 0.18) 100%) !important;
}

html.gp-tenant-theme .gp-home-hero .slide-overlay {
  background:
    linear-gradient(105deg, rgba(10, 47, 68, 0.86) 0%, rgba(10, 47, 68, 0.44) 55%, rgba(0, 168, 232, 0.18) 100%) !important;
}

.gp-home-hero .slider-caption h1,
.gp-home-hero .wrap-caption h1,
.gp-home-hero h1 em,
.gp-home-hero h1 b,
.gp-home-hero h1 strong {
  font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif !important;
  color: #FFFFFF !important;
  letter-spacing: -0.03em;
}

.gp-home-hero h1 span {
  font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif !important;
  color: var(--gp-accent, #00A8E8) !important;
  letter-spacing: -0.03em;
}

.gp-home-hero .wrap-caption .text,
.gp-home-hero .slider-caption .text {
  color: #E8ECF6 !important;
}

.gp-home-hero .link-btn a,
.gp-home-hero .link-btn .btn,
.gp-home .btn.btn,
.gp-home a.btn:not(.btn-transparent):not(.btn1) {
  background: var(--gp-accent, #C82028) !important;
  border: 0 !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.gp-home-hero .link-btn a.btn1,
.gp-home-hero .link-btn .btn.btn1,
.gp-home a.btn.btn1,
.gp-home a.btn-transparent {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  color: #FFFFFF !important;
}

.gp-home-features-band,
.gp-home-section,
.gp-home {
  background: var(--gp-body-bg, #F4F6FA);
  color: var(--gp-text-main, #081840);
}

.gp-home-eyebrow {
  color: var(--gp-accent, #C82028) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}

.gp-home h2,
.gp-home-section-header h2,
.gp-home-display {
  font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif !important;
  color: var(--gp-navy, #081840) !important;
}

.gp-home .notification-boxes .box,
.gp-home .box {
  background: #FFFFFF !important;
  border: 1px solid var(--gp-card-border, rgba(8, 24, 64, 0.08)) !important;
  border-radius: 16px !important;
  box-shadow: var(--gp-shadow-subtle, 0 8px 24px rgba(8, 24, 64, 0.06)) !important;
  color: var(--gp-text-main, #081840) !important;
}

.gp-home .notification-boxes .box .icon,
.gp-home .box .icon {
  color: var(--gp-accent, #C82028) !important;
  background: var(--gp-accent-soft, rgba(200, 32, 40, 0.08)) !important;
}

.gp-home footer,
html.gp-public .main-footer,
html.gp-public footer {
  background: var(--gp-navy, #081840) !important;
  color: #E8ECF6 !important;
}

/* ── Login ── */
.gp-login {
  background: var(--gp-body-bg, #F4F6FA);
}

.gp-login__panel--form {
  background: var(--gp-body-bg, #F4F6FA) !important;
}

.gp-login__panel--showcase {
  background: var(--gp-navy, #081840) !important;
}

.gp-login__hero-card {
  background: #ffffff !important;
  color: var(--gp-text-main, #121A33) !important;
  border: 1px solid rgba(244, 246, 255, 0.14) !important;
}

.gp-login__hero-title {
  color: var(--gp-navy, #081840) !important;
  -webkit-text-fill-color: var(--gp-navy, #081840) !important;
  font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif;
}

.gp-login__hero-title em {
  color: var(--gp-accent, #C82028) !important;
  -webkit-text-fill-color: var(--gp-accent, #C82028) !important;
  background: none !important;
  font-style: normal;
}

.gp-login__feature {
  color: var(--gp-text-muted, #2E3650) !important;
  background: var(--gp-body-bg, #F6F7FB) !important;
}

.gp-login__feature i {
  color: var(--gp-accent, #C82028) !important;
}

.gp-login__hero-metric,
.gp-login__hero-metric-label {
  color: var(--gp-text-muted, #2E3650) !important;
}

.gp-login__hero-metric strong {
  color: var(--gp-navy, #081840) !important;
}

.gp-login__stats {
  color: #C5CDE0 !important;
}

.gp-login__header h1 {
  color: var(--gp-navy, #081840) !important;
  font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif;
}

.gp-login__header p,
.gp-login__field label,
.gp-login__checkbox span,
.gp-login__footer {
  color: var(--gp-text-muted, #2E3650) !important;
}

.gp-login__submit {
  background: var(--gp-accent, #C82028) !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
}

.gp-login__link {
  color: var(--gp-accent, #C82028) !important;
}

/* ── App ── */
body.gp-app .gp-sidebar {
  background: var(--gp-sidebar-bg, #FFFFFF) !important;
  border-right: 1px solid var(--gp-sidebar-border, rgba(8, 24, 64, 0.08)) !important;
}

body.gp-app .gp-topbar {
  background: var(--gp-topbar-bg, #FFFFFF) !important;
  border-bottom: 1px solid var(--gp-topbar-border, rgba(8, 24, 64, 0.08)) !important;
  box-shadow: none !important;
}

body.gp-app .gp-page-header__title,
body.gp-app .inner-wrapper h2,
body.gp-app h2.gp-page-header__title {
  color: var(--gp-navy, #081840) !important;
  background: none !important;
  -webkit-text-fill-color: var(--gp-navy, #081840) !important;
  font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif;
}

body.gp-app .gp-card,
body.gp-app .panel,
body.gp-app .box,
body.gp-app .card {
  background: #FFFFFF !important;
  border: 1px solid var(--gp-card-border, rgba(8, 24, 64, 0.08)) !important;
  box-shadow: var(--gp-shadow-subtle, 0 8px 24px rgba(8, 24, 64, 0.05)) !important;
  color: var(--gp-text-main, #081840) !important;
  backdrop-filter: none !important;
}

body.gp-app .gp-sidebar a,
body.gp-app .gp-sidebar .nav-label,
body.gp-app .sidebar-menu a {
  color: var(--gp-sidebar-text, #3D4A66) !important;
}

body.gp-app .gp-sidebar .nav-active > a,
body.gp-app .gp-sidebar li.active > a,
body.gp-app .sidebar-menu li.nav-active > a {
  color: var(--gp-sidebar-text-active, #081840) !important;
  background: var(--gp-sidebar-active-bg, rgba(200, 32, 40, 0.08)) !important;
}

body.gp-app .btn-primary,
body.gp-app .btn.btn-primary {
  background: var(--gp-accent, #C82028) !important;
  border-color: var(--gp-accent, #C82028) !important;
  color: #FFFFFF !important;
}
