/* =====================================================================
   Aditya Enterprises: responsive overrides
   Loaded LAST (after main.css, custom.css and the page css).
   Breakpoints: 1199 (small laptop) · 992 (tablet) · 767 (large phone)
                575 (phone) · 359 (very small phone)
   ===================================================================== */

/* ---------- Global safety net ---------- */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, video, iframe, svg { max-width: 100%; }
img { height: auto; }

/* =====================================================================
   HEADER (tablet + phone)
   Problem: logo + gap + menu button did not fit in one row on phones, so
   the menu button dropped under the logo and covered the page banner.
   ===================================================================== */
.header-call-icon { display: none; }

@media (max-width: 992px) {
  .header .primary-header-inner { flex-wrap: nowrap; align-items: center; }
  .header .primary-header-inner .header-left-wrap {
    column-gap: 0; flex: 1 1 auto; min-width: 0;
  }
  .header .primary-header-inner .header-logo { flex: 1 1 auto; min-width: 0; }
  .header .primary-header-inner .header-logo .logo-link { min-width: 0; }
  .header .primary-header-inner .logo-text { min-width: 0; }
  .header .primary-header-inner .header-menu-wrap { display: none !important; } /* menu lives in the slide-out panel */
  .header .primary-header-inner .header-right-wrap {
    margin-left: 12px; flex: 0 0 auto; align-items: center; gap: 10px;
  }
  .header-call-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; border-radius: 50%;
    background: var(--tl-color-theme-primary, #CAA05C); color: #141f33;
    font-size: 17px; text-decoration: none; flex: 0 0 auto;
  }
  .header-call-icon:hover, .header-call-icon:focus { color: #141f33; opacity: .9; }

  /* slide-out panels never wider than the screen */
  .sidebar-area, .mobile-side-menu { max-width: 92vw; }
}

@media (max-width: 575px) {
  .brand-logo { font-size: 17px; letter-spacing: .3px; }
  .logo-img { width: 40px; height: 40px; }
  .logo-link { gap: 8px; }
  .brand-tagline { font-size: 8px; letter-spacing: .8px; margin-top: 4px; }
  .header .primary-header-inner .header-right-wrap { margin-left: 8px; gap: 8px; }
  .header .primary-header-inner .header-right-wrap .sidebar-icon .sidebar-trigger {
    width: 46px; height: 46px;
  }
  .header-call-icon { width: 46px; height: 46px; }
}

@media (max-width: 359px) {
  .brand-logo { font-size: 14px; }
  .brand-tagline { display: none; }
  .logo-img { width: 34px; height: 34px; }
  .header .primary-header-inner .header-right-wrap { gap: 6px; }
  .header .primary-header-inner .header-right-wrap .sidebar-icon .sidebar-trigger,
  .header-call-icon { width: 40px; height: 40px; }
}

/* =====================================================================
   PAGE GUTTERS
   ===================================================================== */
@media (max-width: 575px) {
  .container, .container-fluid { padding-left: 18px; padding-right: 18px; }
}

/* =====================================================================
   HERO (home)
   ===================================================================== */
@media (max-width: 575px) {
  .slider-content-wrap { padding: 120px 0 48px; }
  .hero-btns { flex-direction: column; align-items: stretch; gap: 12px; max-width: 340px; }
  .hero-btns .tl-primary-btn { justify-content: space-between; }
  .trust-strip ul { gap: 8px 18px; }
  .trust-strip li { font-size: 14px; }
}

/* phones held sideways: banner/hero must not eat the whole screen */
@media (max-height: 500px) and (orientation: landscape) {
  .slider-content-wrap { padding: 100px 0 36px; }
  .page-banner { padding: 90px 0 36px; }
  .sidebar-area, .mobile-side-menu { overflow-y: auto; }
}

/* =====================================================================
   INNER-PAGE BANNER (about / services / portfolio / contact / EHS)
   ===================================================================== */
@media (max-width: 575px) {
  .page-banner { padding: 96px 0 44px; }
  .page-banner:after { font-size: 44px; right: 4%; }
  .crumbs { flex-wrap: wrap; row-gap: 4px; }
}

/* =====================================================================
   SECTION HEADINGS: no giant type on phones
   ===================================================================== */
@media (max-width: 575px) {
  .section-title { font-size: clamp(28px, 8vw, 38px); line-height: 1.15; }
  .section-title br { display: none; }
}

/* =====================================================================
   FOOTER
   Problem: 60-80px side padding squeezed the columns (logo overlapped the
   link list on tablets and was cut off on phones).
   ===================================================================== */
@media (max-width: 1199px) {
  .footer-section .container,
  .footer-section .container-2,
  .copyright-area .container { padding-left: 40px; padding-right: 40px; }
}
@media (max-width: 767px) {
  .footer-section .container,
  .footer-section .container-2,
  .copyright-area .container { padding-left: 20px; padding-right: 20px; }
  .footer-wrap > [class*="col-"] { margin-bottom: 8px; }
}
.footer-logo .logo-link { flex-wrap: wrap; }
.footer-logo .brand-logo { white-space: normal; flex-wrap: wrap; row-gap: 2px; }
@media (max-width: 575px) {
  .footer-logo .brand-logo { font-size: 20px; }
}

/* =====================================================================
   TAP TARGETS + FORMS (touch devices)
   ===================================================================== */
@media (max-width: 992px) {
  .footer-list li a, .side-menu-list li a, .crumbs a {
    display: inline-block; padding: 7px 0;
  }
  .tl-primary-btn { min-height: 48px; }
}
/* 16px inputs stop iOS from zooming the page when a field is focused */
.contact-form .form-control,
.contact-card input, .contact-card select, .contact-card textarea,
.form-control { font-size: 16px; }
.contact-form .form-control { min-height: 52px; }
.contact-form select.form-control { height: auto; min-height: 56px; }

/* =====================================================================
   FLOATING "scroll to top" ring
   ===================================================================== */
@media (max-width: 575px) {
  #scroll-percentage { height: 46px; width: 46px; right: 14px; bottom: 14px; font-size: 11px; }
  #scroll-percentage.active { bottom: 16px; }
}

/* =====================================================================
   GRIDS: keep cards readable between breakpoints
   ===================================================================== */
@media (max-width: 575px) {
  .portfolio-grid { grid-template-columns: 1fr; gap: 22px; }
  .cap-grid, .sector-grid { grid-template-columns: 1fr; }
  .pf-gallery { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .pf-gallery img { height: 150px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (min-width: 576px) and (max-width: 991px) {
  .sx-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .about-photo img { height: 280px; }
}

/* ---------- Respect "reduce motion" (accessibility) ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}


@media (max-width: 575px) {
  .header .primary-header-inner .header-logo .logo-link {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .header .primary-header-inner .logo-text { align-items: flex-start; }
  .header .primary-header-inner .header-right-wrap { align-self: center; }
  .header .primary-header-inner .brand-logo { font-size: 16px; }
  .header .primary-header-inner .brand-tagline { font-size: 7.5px; margin-top: 3px; }
  .primary-header-inner { padding: 8px 0; }
  /* more room under the taller header */
  .page-banner { padding-top: 130px; }
  .slider-content-wrap { padding-top: 150px; }
}