/**
 * Mabvuku / school CMS public polish
 * Navy #081840 · Red #C82028 · paper #F6F7FB
 * Space Grotesk + IBM Plex. No green. No cyan. No lime dates.
 */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Space+Grotesk:wght@500;600;700&display=swap');

html.gp-public {
  --gp-navy: #081840;
  --gp-navy-2: #0B1C4A;
  --gp-red: #C82028;
  --gp-red-deep: #A01A20;
  --gp-paper: #F6F7FB;
  --gp-ink: #121A33;
  --gp-muted: #2E3650;
  --gp-on-navy: #F4F6FF;
  --gp-on-navy-muted: #C5CDE0;
  --gp-accent: #C82028;
  --gp-accent-strong: #A01A20;
  --gp-accent-soft: rgba(200, 32, 40, 0.1);
  --gp-gradient: #C82028;
  --gp-font: 'IBM Plex Sans', system-ui, sans-serif;
  --gp-font-display: 'Space Grotesk', 'IBM Plex Sans', system-ui, sans-serif;
  --gp-home-green: #081840;
  --gp-home-gold: #C82028;
  --gp-home-accent: #C82028;
  --gp-home-accent-2: #081840;
  --thm-footer-text: #C5CDE0;
}

html.gp-public body.gp-public-body,
html.gp-public .gp-home,
html.gp-public .gp-about,
html.gp-public .gp-faq,
html.gp-public .gp-utility,
html.gp-public .gp-vendor {
  font-family: var(--gp-font);
  color: var(--gp-ink);
  word-spacing: normal;
}

html.gp-public h1,
html.gp-public h2,
html.gp-public h3,
html.gp-public h4,
html.gp-public h5,
html.gp-public .gp-home-display,
html.gp-public .gp-about-display,
html.gp-public .gp-faq-question {
  font-family: var(--gp-font-display);
  letter-spacing: -0.025em;
  color: var(--gp-navy);
}

html.gp-public .gp-about-cta-inner,
html.gp-public .gp-about-cta-inner h3,
html.gp-public .gp-faq-help-card,
html.gp-public .gp-faq-help-card h3,
html.gp-public .gp-home-cta h3,
html.gp-public .gp-home-cta h4,
html.gp-public .gp-utility-help,
html.gp-public .gp-utility-help h3 {
  color: #ffffff !important;
}

/* ── News ticker + date: red pills, white type ── */
html.gp-public .latest--news {
  background: #081840 !important;
  border-bottom: none !important;
}

html.gp-public .latest--news .latest-title,
html.gp-public .latest-title,
html.gp-public .latest--news .current-date,
html.gp-public .current-date {
  background: #C82028 !important;
  color: #ffffff !important;
}

html.gp-public .latest--news a,
html.gp-public .latest--news .text-white,
html.gp-public .latest--news .date-now {
  color: #E8ECF6 !important;
}

html.gp-public .latest--news .date-text {
  color: #9EB0D4 !important;
}

/* ── Scroll to top: landing navy ── */
html.gp-public .back-to-top,
html.gp-public .scroll-top {
  background: #081840 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(8, 24, 64, 0.28) !important;
}

html.gp-public .back-to-top:hover,
html.gp-public .scroll-top:hover {
  background: #0B1C4A !important;
  color: #ffffff !important;
}

/* ── Compact inner banners — kill the empty white gap ── */
html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider) {
  min-height: 0 !important;
  padding: 28px 0 24px !important;
  position: relative;
  background: #081840 !important;
  background-image: none !important;
}

html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider)::before,
html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider)::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(8, 24, 64, 0.78) !important;
  pointer-events: none;
  border-radius: 0 !important;
}

html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider) .container {
  position: relative;
  z-index: 1;
}

html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider) h1,
html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider) h2,
html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider) h2 span,
html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider) h1 span {
  background: none !important;
  color: #ffffff !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: -0.025em;
  font-family: var(--gp-font-display);
  font-weight: 600;
}

html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider) h2::first-letter,
html.gp-public .main-banner:not(.gp-home-hero):not(.main-slider) h1::first-letter {
  color: inherit !important;
}

html.gp-public .breadcrumb {
  margin: 0 !important;
  padding: 10px 0 !important;
  background: #F6F7FB !important;
  border-bottom: 1px solid rgba(8, 24, 64, 0.08);
}

html.gp-public .breadcrumb a,
html.gp-public .breadcrumb li,
html.gp-public .breadcrumb-item,
html.gp-public .breadcrumb-item a {
  color: #2E3650 !important;
  font-size: 13px;
  letter-spacing: 0.02em;
}

html.gp-public .breadcrumb .active,
html.gp-public .breadcrumb-item.active {
  color: #081840 !important;
}

/* ── Buttons: landing red pills, white type ── */
html.gp-public .btn,
html.gp-public .btn-main,
html.gp-public .btn-1,
html.gp-public .btn-style-one,
html.gp-public .gp-home-hero .btn,
html.gp-public .gp-home-cta .btn-main,
html.gp-public .gp-home-features-band .box .btn,
html.gp-public .gp-about-cta-btn,
html.gp-public .gp-faq-help-card .btn,
html.gp-public .gp-faq-help-card a.btn {
  background: #C82028 !important;
  background-image: none !important;
  border: none !important;
  color: #ffffff !important;
  font-family: var(--gp-font-display);
  font-weight: 600;
  border-radius: 999px !important;
  box-shadow: none;
}

html.gp-public .btn:hover,
html.gp-public .btn-main:hover,
html.gp-public .btn-1:hover,
html.gp-public .gp-about-cta-btn:hover {
  background: #A01A20 !important;
  color: #ffffff !important;
}

html.gp-public .btn.btn1,
html.gp-public .btn-transparent,
html.gp-public .gp-home-features-band .box .btn-transparent {
  background: transparent !important;
  color: #081840 !important;
  box-shadow: none;
}

html.gp-public .gp-home-features-band .box .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  margin-top: 8px;
}

/* ── Kill leftover green overlays ── */
html.gp-public .gp-home-stats::before {
  background: rgba(8, 24, 64, 0.78) !important;
}

html.gp-public .gp-home-teachers::before {
  background: linear-gradient(180deg, rgba(8, 24, 64, 0.88) 0%, rgba(8, 24, 64, 0.8) 100%) !important;
}

html.gp-public .gp-home-cta.book-appointment-box,
html.gp-public .book-appointment-box {
  background: #081840 !important;
  background-image: none !important;
}

html.gp-public .gp-home-cta h3,
html.gp-public .gp-home-cta h4 {
  color: #ffffff !important;
  font-family: var(--gp-font-display);
}

html.gp-public .gp-about-cta-inner,
html.gp-public .gp-faq-help-card {
  background: #081840 !important;
  background-image: none !important;
  box-shadow: 0 16px 40px rgba(8, 24, 64, 0.22) !important;
  color: #ffffff !important;
}

html.gp-public .gp-faq-help-card a,
html.gp-public .gp-faq-help-card .btn {
  background: #ffffff !important;
  color: #081840 !important;
}

html.gp-public .gp-home-features-band .box .icon,
html.gp-public .gp-home-service-icon {
  background: rgba(8, 24, 64, 0.08) !important;
  color: #081840 !important;
}

html.gp-public .gp-home-eyebrow,
html.gp-public .gp-home-welcome-copy .gp-home-eyebrow,
html.gp-public .gp-home-services .gp-home-eyebrow,
html.gp-public .gp-home-features-band .box .btn-transparent {
  color: #C82028 !important;
}

html.gp-public .gp-home-welcome-copy {
  border-left-color: #081840 !important;
}

html.gp-public .gp-home-welcome,
html.gp-public .gp-home-services-wrap,
html.gp-public .gp-home-testimonials.testimonial-wrapper {
  border-color: rgba(8, 24, 64, 0.08) !important;
  background: #ffffff !important;
}

html.gp-public .gp-home-service-card,
html.gp-public .gp-home-features-band .box {
  background: #ffffff !important;
  border-color: rgba(8, 24, 64, 0.1) !important;
  box-shadow: 0 8px 28px rgba(8, 24, 64, 0.06);
}

html.gp-public .gp-home-service-card:hover,
html.gp-public .gp-home-features-band .box:hover {
  border-color: rgba(8, 24, 64, 0.2) !important;
  box-shadow: 0 16px 32px rgba(8, 24, 64, 0.08) !important;
}

html.gp-public .gp-home-service-icon,
html.gp-public .gp-home-features-band .box .icon {
  color: #081840 !important;
}

html.gp-public .gp-home-teachers .bio-box:hover {
  border-color: rgba(255, 255, 255, 0.28) !important;
}

html.gp-public .gp-home-teachers .txt-holder h5 {
  color: #ffffff !important;
}

html.gp-public .gp-home-teachers .txt-holder {
  background: #C82028;
  margin: 0;
  padding: 12px 14px;
}

html.gp-public .gp-home-teachers .txt-holder .designation {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* ── Footer: navy, no green strip ── */
html.gp-public .main-footer,
html.gp-public .main-footer .footer-area,
html.gp-public.gp-tenant-theme footer,
html.gp-public.gp-tenant-theme .main-footer {
  background: #081840 !important;
  background-image: none !important;
}

html.gp-public .main-footer h4 {
  color: #ffffff !important;
  font-family: var(--gp-font-display);
}

html.gp-public .main-footer .footer-dec,
html.gp-public .main-footer .address-list li,
html.gp-public .main-footer .quick-links li a,
html.gp-public .main-footer .address-list a {
  color: #C5CDE0 !important;
}

html.gp-public .main-footer .quick-links li a:hover,
html.gp-public .copyright span,
html.gp-public .copyright a:hover {
  color: #ffffff !important;
}

html.gp-public .copyright,
html.gp-public .footer-copyright,
html.gp-public .main-footer .copyright {
  background: #061230 !important;
  color: #C5CDE0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

html.gp-public .copyright,
html.gp-public .copyright a,
html.gp-public .copyright-text {
  color: #C5CDE0 !important;
}

html.gp-public .main-footer .footer-logo img {
  background: #ffffff;
  border-radius: 12px;
  padding: 8px 12px;
}

/* ── Utility / admit / exam heroes: navy not forest ── */
html.gp-public .gp-utility {
  --gp-utility-green: #081840;
  --gp-utility-green-dark: #081840;
}

html.gp-public .gp-utility .gp-utility-hero.main-banner {
  background-color: #081840 !important;
}

html.gp-public .gp-utility .gp-utility-hero::after {
  background: linear-gradient(125deg, rgba(8, 24, 64, 0.72) 0%, rgba(8, 24, 64, 0.55) 100%) !important;
}

html.gp-public .gp-utility-help {
  background: #081840 !important;
  color: #ffffff !important;
}

html.gp-public .gp-about {
  --gp-about-green: #C82028;
  --gp-about-green-2: #A01A20;
  font-family: var(--gp-font);
}

html.gp-public .gp-faq {
  --gp-faq-green: #C82028;
  font-family: var(--gp-font);
}

html.gp-public .gp-about h1,
html.gp-public .gp-about h2,
html.gp-public .gp-about h3,
html.gp-public .gp-faq h1,
html.gp-public .gp-faq h2,
html.gp-public .gp-faq h3,
html.gp-public .gp-utility h1,
html.gp-public .gp-utility h2 {
  font-family: var(--gp-font-display);
}

/* Visible body copy */
html.gp-public .gp-home-welcome-title,
html.gp-public .gp-home-section-header h2,
html.gp-public .gp-home-service-title,
html.gp-public .gp-home-features-band .box h4 {
  color: #081840 !important;
}

html.gp-public .gp-home-welcome-text,
html.gp-public .gp-home-section-header p,
html.gp-public .gp-home-service-text,
html.gp-public .gp-home-features-band .box p {
  color: #2E3650 !important;
}

html.gp-public .gp-home-stats .gp-home-section-header h2,
html.gp-public .gp-home-stats .gp-home-section-header p,
html.gp-public .gp-home-teachers .gp-home-section-header h2,
html.gp-public .gp-home-teachers .gp-home-section-header p {
  color: #ffffff !important;
}

html.gp-public .gp-home-stats .gp-home-eyebrow {
  color: #F4F6FF !important;
}

/* Teachers page cards */
html.gp-public .bio-box .txt-holder h5 {
  color: #081840;
}

html.gp-public #doctors-filter a.active {
  background: #081840 !important;
  color: #ffffff !important;
  border-color: #081840 !important;
}

html.gp-public .dlab-border-left,
html.gp-public .dlab-border-right {
  border-color: #C82028 !important;
}

/* Contact / vendor forms stay navy+red */
html.gp-public .gp-contact a,
html.gp-public .gp-vendor-register a {
  color: #081840;
}

html.gp-public .main-header .dropdown-item,
html.gp-public .main-header .dropdown-menu a {
  color: #081840 !important;
  font-weight: 500;
}

html.gp-public .main-header .dropdown-item:hover,
html.gp-public .main-header .dropdown-item.active,
html.gp-public .main-header .dropdown-menu a:hover,
html.gp-public .main-header .dropdown-menu a.active {
  background: #081840 !important;
  color: #ffffff !important;
}

html.gp-public .gp-vendor-intro__title {
  color: #081840 !important;
}

html.gp-public .gp-vendor-intro__desc {
  color: #2E3650 !important;
}

html.gp-public .gp-vendor-intro__steps li {
  color: #081840 !important;
  background: #EEF1F8 !important;
  border: 1px solid rgba(8, 24, 64, 0.16) !important;
}

html.gp-public .gp-home-hero .wrap-caption h1 span {
  color: #C82028 !important;
}
