/* Performance + accessibility helpers for public site
   NOTE: Do NOT declare @font-face for FA/Flaticon here — that pulls large
   fonts onto the critical path. Those faces load with deferred CSS. */

.esabaq-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 0.75rem 1rem;
  background: #0f5c3a;
  color: #fff !important;
  font-weight: 600;
  border-radius: 0 0 8px 0;
}
.esabaq-skip-link:focus {
  left: 0;
  outline: 3px solid #f5c451;
  outline-offset: 2px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* LCP hero image (discoverable <img>, covers the slide layer) */
.slider-one_image-layer .slider-lcp-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
/* Show first slide even before Swiper marks it active (avoids blank hero) */
.slider-one .swiper-slide:first-child .slider-one_image-layer {
  opacity: 1;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.slider-one .swiper-slide:first-child .slider-one_title,
.slider-one .swiper-slide:first-child .slider-one_heading,
.slider-one .swiper-slide:first-child .slider-one_text,
.slider-one .swiper-slide:first-child .slider-one_button {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* Replace heavy decorative PNGs with CSS where possible */
.esabaq-featured-strip {
  background:
    linear-gradient(135deg, rgba(15, 92, 58, 0.95), rgba(11, 61, 46, 0.92)),
    radial-gradient(circle at 20% 30%, rgba(240, 193, 74, 0.25), transparent 45%) !important;
  background-color: #0f5c3a !important;
}
@media (max-width: 991px) {
  .esabaq-site .students-one_pattern {
    background-image: none !important;
  }
}

/* Prefer compositable transforms */
.theme-btn .btn-wrap .text-one,
.theme-btn .btn-wrap .text-two {
  will-change: transform;
}

/* Contrast fixes flagged by Lighthouse */
.esabaq-site .course-block_one-list li {
  color: #2a3f36 !important;
}
.esabaq-site .course-block_one-list li span {
  color: #0b5c3a !important;
  font-weight: 700;
}
.esabaq-site .course-block_one-study {
  color: #fff !important;
  background-color: #0f5c3a !important;
}
.esabaq-site .course-block_one-study:hover {
  color: #0b3d2e !important;
  background-color: #f0c14a !important;
}
.esabaq-site .news-block_one-more {
  color: #0b3d2e !important;
  background: #e8f5ef !important;
  border: 1px solid #0f7a4c !important;
}
.esabaq-site .news-block_one-meta li {
  color: #2f433a !important;
}
.esabaq-site .newsletter-box input[type="email"] {
  color: #1a2e26 !important;
  background: #fff !important;
  border: 1px solid #9bb5a8 !important;
}
.esabaq-site .newsletter-box input[type="email"]::placeholder {
  color: #4d6358 !important;
  opacity: 1;
}
.esabaq-site .sec-title_title,
.esabaq-site .slider-one_title {
  color: #1f3d32;
}
/* Header top bar is green — links must stay light for contrast */
.esabaq-site .header-top,
.esabaq-site .header-top_list,
.esabaq-site .header-top_list li,
.esabaq-site .header-top_list a,
.esabaq-site .header-top_list-two,
.esabaq-site .header-top_list-two li,
.esabaq-site .header-top_list-two a,
.esabaq-site .esabaq-whatsapp-link {
  color: #ffffff !important;
}
.esabaq-site .header-top_list a:hover,
.esabaq-site .header-top_list-two a:hover,
.esabaq-site .esabaq-whatsapp-link:hover {
  color: #fff3c4 !important;
}
/* Dark sections: keep kicker readable (was forced dark by rule above) */
.esabaq-site .service-one .sec-title_title,
.esabaq-site .sec-title.light .sec-title_title {
  color: #f0c14a !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.esabaq-site .service-one .sec-title_heading {
  color: #fff !important;
}
.esabaq-site .service-block_one-text,
.esabaq-site .course-block_one-text,
.esabaq-site .institute-block_one-text,
.esabaq-site .testimonial-block_one-text,
.esabaq-site .students-one_text,
.esabaq-site .esabaq-stat-copy {
  color: #2f433a;
}
.esabaq-site .footer_list,
.esabaq-site .footer_list li,
.esabaq-site .footer-list a,
.esabaq-site .footer-text,
.esabaq-site .copyright,
.esabaq-site .footer-nav a {
  color: #e8f2ec !important;
}
.esabaq-site .footer-list a:hover,
.esabaq-site .footer-nav a:hover {
  color: #fff !important;
}

/* Touch targets */
.esabaq-site .mobile-nav-toggler,
.esabaq-site .close-btn,
.esabaq-site .main-slider-prev,
.esabaq-site .main-slider-next,
.esabaq-site .progress-wrap,
.esabaq-site .newsletter-box .theme-btn {
  min-width: 44px;
  min-height: 44px;
}
.esabaq-site .mobile-nav-toggler,
.esabaq-site .close-btn,
.esabaq-site .main-slider-prev,
.esabaq-site .main-slider-next {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.esabaq-site .progress-wrap {
  appearance: none;
  border: 0;
  cursor: pointer;
}
.esabaq-site .swiper-pagination-bullet {
  width: 14px !important;
  height: 14px !important;
  margin: 0 8px !important;
  opacity: 1;
}
.esabaq-site .testimonial-one .swiper-pagination-bullet {
  width: 16px !important;
  height: 16px !important;
}
.esabaq-site .footer-nav li a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
}
.esabaq-site .footer-list li a {
  display: inline-block;
  min-height: 40px;
  padding: 8px 0;
  line-height: 1.4;
}

/* Keep content visible (WOW used to hide cards → false contrast fails + delayed paint) */
.esabaq-site .wow {
  visibility: visible !important;
}

.esabaq-site img {
  max-width: 100%;
  height: auto;
}
.esabaq-site .course-block_one-image img,
.esabaq-site .welcome-one_image img,
.esabaq-site .testimonial-one_image img,
.esabaq-site .author-image img {
  object-fit: cover;
}

.esabaq-site .news-block_one-more {
  line-height: 1.35;
  max-width: 100%;
  white-space: normal;
  height: auto !important;
}

@media (prefers-reduced-motion: reduce) {
  .esabaq-site *,
  .esabaq-site *::before,
  .esabaq-site *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width: 767px) {
  .esabaq-site .wow {
    animation: none !important;
  }
}
