/* Root brand tokens */
:root {
  --color-primary: #344c6d;
  --color-secondary: #ea622c;
  --color-accent: #f6b043;
  --color-surface: #ffffff;
  --color-text-heading: #344c6d;
  --color-text-body: #253142;
  --color-text-muted: #6b7d93;
  --glass-bg: rgba(255, 255, 255, 0.16);
  --glass-border: rgba(255, 255, 255, 0.28);
  --glass-blur: 18px;
  --glass-shadow: 0 12px 34px rgba(52, 76, 109, 0.14);
  --cta-gradient: linear-gradient(135deg, #344c6d 0%, #243754 100%);
  --glass-solid-light: #f7f9fc;
  --glass-solid-dark: #344c6d;
  --cta-primary-solid: #b7481f;
  --cta-primary-solid-hover: #963918;
}

/* Light glass utilities */
.glass {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
}

.glass-card {
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 20px;
  box-shadow: 0 16px 40px rgba(52, 76, 109, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(calc(var(--glass-blur) + 2px));
  backdrop-filter: blur(calc(var(--glass-blur) + 2px));
}

/* Header and navigation overrides */
.header-area,
.top-header,
.main-header,
.main-menu,
.navbar-area {
  background: rgba(52, 76, 109, 0.88);
  color: #ffffff;
  box-shadow: 0 8px 28px rgba(18, 28, 43, 0.18);
}

.top-header {
  background: rgba(52, 76, 109, 0.94);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.main-header,
.main-menu,
.navbar-area {
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.header-area a,
.top-header a,
.main-menu ul li a,
.navbar-area a {
  color: #ffffff;
}

.header-area a:hover,
.top-header a:hover,
.main-menu ul li a:hover,
.navbar-area a:hover {
  color: var(--color-accent);
}

/* Primary CTA glass button */
.btn,
.theme-btn,
.primary-btn,
.apply-btn,
.enroll-btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.btn-primary,
.theme-btn,
.primary-btn,
.apply-btn,
.enroll-btn {
  background: linear-gradient(135deg, var(--cta-primary-solid), var(--cta-primary-solid-hover));
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(183, 72, 31, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.btn-primary:hover,
.theme-btn:hover,
.primary-btn:hover,
.apply-btn:hover,
.enroll-btn:hover {
  color: #ffffff;
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 14px 28px rgba(234, 98, 44, 0.28);
}

/* Hero gradient utility */
.hero-section,
.cta-section,
.has-cta-gradient {
  background: var(--cta-gradient);
}

/* Public glass panel utility */
.glass-panel {
  background: rgba(52, 76, 109, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(18, 28, 43, 0.22);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
}

/* No backdrop-filter fallback */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .glass,
  .glass-card,
  .hero-section .slider-content,
  .slider-area .slider-content,
  .banner-area .slider-content,
  .main-slider .slider-content,
  .hero-content,
  .banner-content,
  .services-box,
  .services-box07,
  .services-box2,
  .services-box-03,
  .services-box-04,
  .feature-card,
  .single-feature,
  .counter-area .single-counter,
  .ab-coutner .single-counter,
  #scrollUp {
    background: var(--glass-solid-light);
  }

  .glass-panel,
  .footer-bg,
  .footer-top,
  .footer-widget,
  .footer-top-heiding .container,
  .mean-container .mean-nav,
  .header-area,
  .top-header,
  .main-header,
  .main-menu,
  .navbar-area {
    background: var(--glass-solid-dark);
  }

  .btn-primary,
  .theme-btn,
  .primary-btn,
  .apply-btn,
  .enroll-btn,
  .hero-section .btn,
  .slider-area .btn,
  .banner-area .btn,
  .main-slider .btn {
    background: var(--cta-primary-solid);
  }
}

/* Hero and banner glass treatment */
.hero-section,
.slider-area,
.slider-bg,
.banner-area,
.main-slider {
  background: var(--cta-gradient);
  position: relative;
}

.hero-section::before,
.slider-bg::before,
.banner-area::before,
.main-slider::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(52, 76, 109, 0.48);
  pointer-events: none;
}

.hero-section .slider-content,
.slider-area .slider-content,
.banner-area .slider-content,
.main-slider .slider-content,
.hero-content,
.banner-content {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(18, 28, 43, 0.2);
  -webkit-backdrop-filter: blur(calc(var(--glass-blur) + 2px));
  backdrop-filter: blur(calc(var(--glass-blur) + 2px));
  padding: 2rem;
}

.hero-section .btn,
.slider-area .btn,
.banner-area .btn,
.main-slider .btn {
  background: linear-gradient(135deg, var(--cta-primary-solid), var(--cta-primary-solid-hover));
  color: #ffffff;
}

/* Services and feature cards */
.services-box,
.services-box07,
.services-box2,
.services-box-03,
.services-box-04,
.feature-card,
.single-feature {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 20px;
  box-shadow: 0 16px 36px rgba(52, 76, 109, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
  -webkit-backdrop-filter: blur(calc(var(--glass-blur) + 1px));
  backdrop-filter: blur(calc(var(--glass-blur) + 1px));
}

.services-box .icon,
.services-box07 .icon,
.services-box2 .services-icon,
.services-box2 .services-content2 .icon,
.feature-card .icon,
.single-feature .icon {
  background: rgba(246, 176, 67, 0.16);
  color: var(--color-accent);
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgba(246, 176, 67, 0.22);
}

.services-box .icon i,
.services-box07 .icon i,
.services-box a:hover,
.services-box07 .sr-contner .text a:hover,
.services-box2 .services-icon i {
  color: var(--color-accent);
}

/* Counter section glass row */
.counter-area,
.ab-coutner {
  background: var(--cta-gradient);
  position: relative;
}

.counter-area .single-counter,
.ab-coutner .single-counter {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(18, 28, 43, 0.18);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
}

.counter-area .counter,
.counter-area .single-counter p,
.counter-area .single-counter h3,
.ab-coutner .single-counter p,
.ab-coutner .single-counter h3 {
  color: #ffffff;
}

.counter-area .single-counter .icon,
.ab-coutner .single-counter .icon {
  color: var(--color-accent);
}

/* Footer glass panel styling */
.footer-bg,
.footer-top,
.footer-widget,
.footer-top-heiding .container {
  background: rgba(52, 76, 109, 0.9);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 16px 40px rgba(18, 28, 43, 0.22);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
}

.footer-bg,
.footer-top {
  color: #ffffff;
}

.footer-bg a,
.footer-top a,
.footer-widget a,
.footer-link ul li a {
  color: rgba(255, 255, 255, 0.88);
}

.footer-bg a:hover,
.footer-top a:hover,
.footer-widget a:hover,
.footer-link ul li a:hover,
.footer-social a:hover {
  color: var(--color-accent);
}

/* Scroll to top glass button */
#scrollUp {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-secondary);
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: 0 10px 24px rgba(52, 76, 109, 0.16);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

#scrollUp:hover {
  background: var(--cta-primary-solid);
  color: #ffffff;
}

/* Mobile menu glass dropdown */
.mean-container .mean-nav {
  background: rgba(52, 76, 109, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 16px 40px rgba(18, 28, 43, 0.22);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
}

.mean-container .mean-nav ul li a,
.mean-container .mean-nav ul li a.mean-expand {
  color: #ffffff;
}

.mean-container .mean-nav ul li.current a,
.mean-container .mean-nav ul li a:hover,
.mean-container .mean-nav ul li a.mean-expand:hover {
  color: var(--color-accent);
}

/* Print safety */
@media print {
  .glass,
  .glass-card,
  .glass-panel,
  .header-area,
  .top-header,
  .main-header,
  .main-menu,
  .navbar-area,
  .services-box,
  .services-box07,
  .services-box2,
  .services-box-03,
  .services-box-04,
  .feature-card,
  .single-feature,
  .counter-area .single-counter,
  .ab-coutner .single-counter,
  .footer-bg,
  .footer-top,
  .footer-widget,
  #scrollUp,
  .mean-container .mean-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
  }
}

/* =====================================================
   Global colour corrections — override theme defaults
   ===================================================== */

/* Body and base text — replace #777 theme default with brand body text */
body {
  color: var(--color-text-body);
}
p, li, td, th, span, div {
  color: inherit;
}

/* Form inputs */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
textarea,
select {
  color: var(--color-text-body);
}
label,
.form-label {
  color: var(--color-text-body);
}

/* Headings — use brand navy for all heading levels */
h1, h2, h3, h4, h5, h6,
.section-title,
.widget-title {
  color: var(--color-text-heading);
}

/* Motion and mobile performance */
@media (prefers-reduced-motion: reduce) {
  .btn,
  .theme-btn,
  .primary-btn,
  .apply-btn,
  .enroll-btn,
  #scrollUp,
  .glass,
  .glass-card,
  .glass-panel {
    transition: none;
  }
}

@media (max-width: 768px) {
  .glass,
  .glass-card,
  .glass-panel,
  .hero-section .slider-content,
  .slider-area .slider-content,
  .banner-area .slider-content,
  .main-slider .slider-content,
  .services-box,
  .services-box07,
  .services-box2,
  .feature-card,
  .single-feature,
  .counter-area .single-counter,
  .ab-coutner .single-counter,
  .footer-bg,
  .footer-top,
  .footer-widget,
  .mean-container .mean-nav {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: 0 8px 20px rgba(52, 76, 109, 0.12);
  }
}