/* ERCOM custom overrides on top of Radius template */

:root {
  --ercom-primary: #295ead;
  --ercom-accent: #ffc400;
  --ercom-dark: #1a2747;
}

/* === Disclaimer strip — static text + glazing shimmer sweep === */
.no-group-disclaimer {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: 13px 16px;
  background: linear-gradient(90deg, #a93226 0%, #c0392b 50%, #a93226 100%);
}
.no-group-disclaimer .glaze-text {
  position: relative;
  z-index: 2;
  display: inline-block;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
}
.no-group-disclaimer .glaze-text strong { color: #ffd54a; font-weight: 800; }
/* Glazing light sweep */
.no-group-disclaimer::before {
  content: '';
  position: absolute;
  top: 0;
  left: -60%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.28) 50%, transparent 100%);
  transform: skewX(-20deg);
  z-index: 1;
  animation: ercom-glaze 4s ease-in-out infinite;
}
@keyframes ercom-glaze {
  0%   { left: -60%; }
  60%  { left: 110%; }
  100% { left: 110%; }
}
@media (max-width: 767px) {
  .no-group-disclaimer { padding: 10px 14px; }
  .no-group-disclaimer .glaze-text { font-size: 13px; }
}

/* Typography — improved readability (greys → black) */
body { font-size: 15px; color: #000000; font-weight: 400; }
p, .text, .text p { color: #000000 !important; font-weight: 450; line-height: 1.75; }
h1, h2, h3, h4, h5, h6 { color: #000000 !important; font-weight: 800 !important; }
.subtitle, .style-text { color: #295ead !important; font-weight: 700 !important; }
a { color: #295ead; }
.program-section .program-block .text,
.featured-section .featured-block .text { color: #000000 !important; }
.list-style-one li { color: #000000; font-weight: 500; }
li { color: #000000; }

/* Brand text in logo position when no image */
.main-header .logo a { font-family: 'Raleway', sans-serif; font-weight: 800; color: var(--ercom-primary); font-size: 28px; letter-spacing: 1px; text-decoration: none; }

/* Page banner: ensure visible and consistent */
.page-title { padding: 90px 0 60px; background-color: #295ead !important; }
.page-title h1 { color: #ffffff !important; font-weight: 700; font-size: 42px; }
.page-title * { color: #ffffff !important; }
.page-info ul.bread-crumb li { color: #555; }
.page-info ul.bread-crumb li a { color: var(--ercom-primary); }

/* Ensure overlay-box service titles readable */
.services-block .overlay-box h3 a { color: #fff; }

/* Form elements */
input, textarea, select { font-family: inherit; }
.form-group .group-inner input,
.form-group .group-inner textarea,
.form-group .group-inner select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  font-size: 14px;
  background: #fff;
}
.form-group .group-inner textarea { min-height: 130px; }

/* Captcha */
#captchaWrapper { background:#fff; border:1px solid #e5e7eb; border-radius:4px; padding:14px; margin-top:8px; }
.captcha-puzzle { position:relative; width:280px; height:140px; background:#f7f8fa; border-radius:4px; overflow:hidden; }
.captcha-slider { display:flex; align-items:center; gap:10px; margin-top:12px; }
.captcha-slider input { flex:1; }
.captcha-status { font-size:12px; color:#666; margin-top:6px; }

/* Form status */
#formStatus { font-size: 14px; }
#formStatus.success { color: #1b9e4b; }
#formStatus.error { color: #c0392b; }

/* WhatsApp float */
.whatsapp-float:hover { background:#1ebe5a !important; }

/* Scroll-to-top button — stack above WhatsApp, not overlap */
.scroll-to-top {
  bottom: 100px !important;
  right: 30px !important;
  width: 48px !important;
  height: 48px !important;
  line-height: 48px !important;
  z-index: 9998 !important;
}

/* Lead popup */
#leadOverlay { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:99999; display:flex; align-items:center; justify-content:center; animation:fadeIn .3s ease; }
.lead-popup { background:#fff; border-radius:8px; padding:35px 30px; max-width:420px; width:90%; position:relative; box-shadow:0 20px 60px rgba(0,0,0,.3); animation:slideUp .3s ease; }
.lead-close { position:absolute; top:8px; right:14px; background:none; border:none; font-size:1.8rem; color:#aaa; cursor:pointer; line-height:1; }
.lead-popup h3 { color: var(--ercom-dark); font-family: 'Raleway', sans-serif; }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes slideUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }

/* Disabled button look */
.theme-btn[disabled], button[disabled] { opacity: .55; cursor: not-allowed; }

/* Force single-color button (override radius two-tone hover slide) */
.theme-btn,
.theme-btn.consultation,
.theme-btn.btn-style-one,
.theme-btn.btn-style-two,
.theme-btn.btn-style-three {
  background: var(--ercom-primary) !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
  position: relative;
  overflow: visible !important;
}
.theme-btn::before,
.theme-btn::after,
.theme-btn.consultation::before,
.theme-btn.consultation::after { display: none !important; content: none !important; }
.theme-btn:hover,
.theme-btn.consultation:hover,
.theme-btn.btn-style-one:hover,
.theme-btn.btn-style-two:hover,
.theme-btn.btn-style-three:hover {
  background: var(--ercom-dark) !important;
  background-image: none !important;
  color: #fff !important;
}

/* Section spacing tweaks for inner pages */
.default-two-column { padding: 60px 0; }
.default-two-column h3 { font-size: 30px; font-weight: 700; color: var(--ercom-dark); margin-bottom: 12px; }
.default-two-column .style-text { color: var(--ercom-primary); font-weight: 600; margin-bottom: 14px; }

/* Featured block (about page) — equal heights */
.featured-section .row.clearfix {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.featured-section .featured-block {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
}
.featured-section .featured-block .inner-box {
  background: #f7f8fa;
  padding: 30px;
  border-radius: 6px;
  border-top: 3px solid var(--ercom-accent);
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.featured-section .featured-block h3 a { color: var(--ercom-dark); font-weight: 700; }
.featured-section .featured-block .text { flex-grow: 1; }
@media (max-width: 767px) {
  .featured-section .row.clearfix { grid-template-columns: 1fr !important; }
}

/* Industry / service hover states */
.program-block .inner-box h3 a:hover { color: var(--ercom-primary); }

/* Static hero — force full-width block + image fills it (fixes Chrome half-render) */
.static-hero {
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  position: relative !important;
  display: block !important;
  min-height: 560px !important;
  overflow: hidden !important;
}
.static-hero > img {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 0 !important;
}
.static-hero > span {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  z-index: 1 !important;
}
.static-hero > .auto-container {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 560px !important;
}
/* Static hero — white heading/subtitle over the dark photo (beats global h1 black rule) */
.static-hero h1,
.static-hero h1 *,
.static-hero p { color: #ffffff !important; }

/* Header email info-box link colour */
.main-header .info-box li a { color: inherit; }
.main-header .info-box li a:hover { color: var(--ercom-primary); }

/* Force video-section to use brand blue, override radius dark ::before overlay */
.video-section,
.video-section::before { background: #295ead !important; background-color: #295ead !important; }
.video-section::before { content: '' !important; opacity: 0 !important; display: none !important; }

/* === Homepage services-section: equal-height image cards, image visible, title below === */
.services-section .row.clearfix {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
/* Service card titles in blue strip must be white (override global black h3) */
.services-section .services-block h3,
.services-section .services-block h3 * { color: #ffffff !important; }
.services-section .services-block {
  display: block !important;
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.services-section .services-block > a { display: block !important; width: 100% !important; }
.services-section .services-block > a:first-child { height: 260px !important; }
.services-section .services-block > a:first-child img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.services-section .services-block > a:nth-child(2) {
  background: #295ead !important;
  height: 100px !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-decoration: none !important;
}
.services-section .services-block > a:nth-child(2) h3 {
  color: #ffffff !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
.services-section .services-block > a:nth-child(2) span {
  background: #ffc400 !important;
  color: #ffffff !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  font-size: 20px !important;
  flex-shrink: 0 !important;
}
.services-section .services-block .overlay-box {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  inset: auto !important;
  background: #295ead !important;
  opacity: 1 !important;
  padding: 0 20px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 100px !important;
  width: 100% !important;
  margin: 0 !important;
}
.services-section .services-block .overlay-box h3,
.services-section .services-block .overlay-box h3 *,
.services-section .services-block .overlay-box .h3 {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.services-section .services-block .overlay-box h3 a {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  display: block !important;
}
.services-section .services-block .overlay-box .right-arrow {
  position: static !important;
  color: #ffffff !important;
  background: #ffc400 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  font-size: 18px !important;
  text-decoration: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}
.services-section .services-block .image-box::before,
.services-section .services-block .image-box::after { display: none !important; }
.services-section .row.clearfix::before,
.services-section .row.clearfix::after { display: none !important; content: none !important; }
.services-section .services-block {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
.services-section .services-block .inner-box {
  margin: 0 !important;
  height: auto !important;
  display: block !important;
}
.services-section .services-block .image-box {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  margin: 0 !important;
  height: auto !important;
  display: block !important;
}
.services-section .services-block .image-box a:first-child {
  display: block !important;
  height: 260px !important;
  margin: 0 !important;
}
.services-section .services-block .image-box img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}
@media (max-width: 991px) {
  .services-section .row.clearfix { grid-template-columns: 1fr !important; }
}

/* === Equal-height grid for program-block (fixes orphan-card issue) === */
.program-section .row.clearfix,
.services-section .row.clearfix,
.fullwidth-section-one .right-column .clearfix {
  display: flex;
  flex-wrap: wrap;
}
.program-section .program-block,
.services-section .services-block {
  display: flex;
  margin-bottom: 30px;
}
.program-section .program-block > .inner-box,
.services-section .services-block > .inner-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 28px 24px;
  border-radius: 6px;
  box-shadow: 0 2px 14px rgba(0,0,0,.04);
  border-left: 3px solid transparent;
  /* No hover-shift transforms — just border accent */
  transition: border-color .25s ease, box-shadow .25s ease;
  transform: none !important;
}
.program-section .program-block > .inner-box:hover,
.services-section .services-block > .inner-box:hover {
  border-left-color: var(--ercom-accent);
  box-shadow: 0 4px 18px rgba(27,87,176,.08);
  transform: none !important;
}
.program-section .program-block .text { flex-grow: 1; }
.program-section .program-block h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--ercom-dark);
  margin-bottom: 10px;
}

/* Hide any leftover icon-box + decorative pseudo-arrows on program-block cards.
   Keep clients-grid icons visible (those use fa-industry, not flaticon). */
.program-section:not(.clients-grid) .program-block .icon-box,
.program-section:not(.clients-grid) .program-block .icon-box::before,
.program-section:not(.clients-grid) .program-block .icon-box::after,
.program-section:not(.clients-grid) .program-block .inner-box::before,
.program-section:not(.clients-grid) .program-block .inner-box::after,
.program-section:not(.clients-grid) .program-block::before,
.program-section:not(.clients-grid) .program-block::after {
  display: none !important;
}

/* Center-aligned, equal-height cards for program-section */
.program-section:not(.clients-grid) .program-block .inner-box {
  text-align: center;
  align-items: center;
  padding: 22px 22px;
  min-height: 0;
}
.program-section:not(.clients-grid) .program-block h3 {
  text-align: center;
  margin: 0 0 10px;
  min-height: 0;
}
.program-section:not(.clients-grid) .program-block .text {
  text-align: center;
}
.program-section:not(.clients-grid) .program-block ul {
  text-align: center;
  list-style: none;
  padding: 0;
  align-self: stretch;
}

/* === Clients grid: 4-column logo cards === */
.clients-grid .row.clearfix {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}
/* Kill clearfix ::before / ::after which were eating the first grid cell */
.clients-grid .row.clearfix::before,
.clients-grid .row.clearfix::after,
.featured-section .row.clearfix::before,
.featured-section .row.clearfix::after,
.main-footer .widgets-section .auto-container > .row.clearfix::before,
.main-footer .widgets-section .auto-container > .row.clearfix::after,
.main-footer .widgets-section .big-column > .row.clearfix::before,
.main-footer .widgets-section .big-column > .row.clearfix::after { display: none !important; content: none !important; }
.clients-grid .program-block {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
.clients-grid .program-block > .inner-box,
.clients-grid .client-card {
  width: 100% !important;
  height: 100% !important;
  min-height: 150px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 20px 14px !important;
  background: #fff !important;
  border: 1px solid #e8eaf0 !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
}
.clients-grid .client-card img {
  display: block !important;
  max-width: 90% !important;
  max-height: 70px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto 10px !important;
}
.clients-grid .client-card h3 {
  font-size: 12px !important;
  color: #444 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  text-align: center !important;
  min-height: 0 !important;
}
@media (max-width: 991px) {
  .clients-grid .row.clearfix { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
  .clients-grid .row.clearfix { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Center "Why ERCOM" / counter-section text on services page */
.counter-section { text-align: center; padding: 70px 0; }
.counter-section h2 { text-align: center; font-weight: 700; }
.counter-section .style-text { text-align: center; }
.counter-section .text { max-width: 860px; margin: 0 auto 24px; }

/* Counter-section: remove radius decorative ::before / ::after circles */
.counter-section::before,
.counter-section::after,
.counter-section .image-column,
.counter-section .auto-container::before,
.counter-section .auto-container::after { display: none !important; content: none !important; }
.counter-section .content-column { width: 100% !important; max-width: 100% !important; float: none !important; padding: 0 !important; }
.counter-section .fact-counter { margin: 30px auto 0 !important; max-width: 900px !important; }
.counter-section .fact-counter .row.clearfix {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 60px !important;
}
.counter-section .fact-counter .counter-column {
  width: auto !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
}
.counter-section .fact-counter .counter-column .inner { text-align: center !important; }

/* Title box centered */
.program-section .title-box { text-align: center; margin-bottom: 35px; padding-bottom: 22px; border-bottom: 1px solid #e5e7eb; }
.program-section .title-box h3 { float: none !important; display: inline-block !important; font-size: 30px; font-weight: 700; color: var(--ercom-dark); }

/* Footer grid: 2 big columns × 2 sub-columns (Subscribe | Quick Links || Address spans 2) */
.main-footer .widgets-section .auto-container > .row.clearfix {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  align-items: start !important;
}
.main-footer .widgets-section .big-column {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.main-footer .widgets-section .big-column > .row.clearfix {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 30px !important;
}
/* Second big-column only has 1 footer-column (Address) — span full width */
.main-footer .widgets-section .big-column:nth-child(2) > .row.clearfix {
  grid-template-columns: 1fr !important;
}
.main-footer .widgets-section .footer-column {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 991px) {
  .main-footer .widgets-section .auto-container > .row.clearfix,
  .main-footer .widgets-section .big-column > .row.clearfix {
    grid-template-columns: 1fr !important;
  }
}

/* === Header top bar (ISO 9001 / Reg No / Talk to Engineers) === */
.header-top,
.header-top .top-left,
.header-top .top-right { background-color: #295ead !important; }
.header-top .text,
.header-top .top-left .text,
.header-top .top-nav li,
.header-top .top-nav li a,
.header-top .social-icon a,
.header-top .social-icon a span { color: #ffffff !important; }
.header-top .text a { color: #ffffff !important; text-decoration: underline; }
.header-top .text a:hover { color: #ffc400 !important; }
/* WhatsApp icon in header top bar */
.header-top .social-icon a { color: #ffffff !important; font-size: 16px; }
.header-top .social-icon a .fa-whatsapp { color: #ffffff !important; }
.header-top .social-icon a:hover .fa-whatsapp { color: #25d366 !important; }
/* Force header-top text uppercase (ISO 9001:2015 etc.) */
.header-top .text { text-transform: uppercase !important; font-weight: 600 !important; letter-spacing: .3px !important; }

/* Override radius forcing .info-box li to lowercase — keep ISO/REG normal case */
.main-header .info-box li { text-transform: none !important; }
.main-header .info-box li strong { text-transform: none !important; }
.header-top .top-nav li a:hover { color: #ffc400 !important; }

/* === Dark sections styled like footer (blue #295ead + white text) === */
.why-section,
.why-section > div,
.video-section,
.cta,
.counter-section,
.fact-counter-section { background-color: #295ead !important; }
.counter-section .count-text,
.counter-section .counter-title,
.counter-section .year,
.counter-section .plus-icon,
.counter-section h2,
.counter-section h3,
.counter-section .style-text,
.counter-section .text,
.counter-section p,
.fact-counter-section .count-text,
.fact-counter-section .counter-title,
.fact-counter-section .plus-icon { color: #ffffff !important; }
.counter-section .plus-icon,
.counter-section .year,
.fact-counter-section .plus-icon { color: #ffc400 !important; }
.counter-section .style-text { color: #ffc400 !important; }
/* Counter labels: keep on one line */
.counter-section .counter-title,
.fact-counter-section .counter-title { white-space: nowrap !important; }
.why-section .left-column { background: #295ead !important; }
.why-section .right-column { background: #ffffff !important; }
.why-section .right-column h3 { color: #1a2747 !important; }
.why-section .right-column p { color: #2c3340 !important; }

/* Why-section right-column feature cards (the 2x2 white block) — black text on light bg */
.why-section > div > div:last-child h3,
.why-section > div > div:last-child > div h3 { color: #000000 !important; }
.why-section > div > div:last-child p,
.why-section > div > div:last-child > div p { color: #000000 !important; }
.why-section > div > div:last-child .text,
.why-section > div > div:last-child > div .text { color: #000000 !important; }
.why-section [style*="background:#fff"] h3,
.why-section [style*="background:#f7f8fa"] h3,
.why-section [style*="background: #fff"] h3,
.why-section [style*="background: #f7f8fa"] h3 { color: #000000 !important; }
.why-section [style*="background:#fff"] p,
.why-section [style*="background:#f7f8fa"] p,
.why-section [style*="background: #fff"] p,
.why-section [style*="background: #f7f8fa"] p { color: #000000 !important; }
.why-section .right-column h3 { color: #000000 !important; }
.why-section .right-column p { color: #000000 !important; }

/* === Dark-background sections → force white text === */
.main-slider .big-title,
.main-slider .small-title,
.main-slider .tp-caption,
.video-section h3,
.video-section .text,
.video-section h2,
.why-section h3,
.why-section h4,
.why-section p,
.why-section .text,
.why-section li,
.why-section a,
.objective-banner h2,
.objective-banner p,
.objective-banner div,
.cta h2,
.cta p,
.fact-counter-section .counter-title,
.fact-counter-section .count-text,
.fact-counter-section .plus-icon,
.no-group-disclaimer,
.no-group-disclaimer strong { color: #ffffff !important; }
.main-slider .small-title { color: rgba(255,255,255,.92) !important; }
.why-section h4 { color: #ffc400 !important; }

/* === Footer + upper CTA: blue background → white text === */
.main-footer,
.main-footer .upper-box,
.main-footer .widgets-section,
.main-footer .footer-bottom { background: #295ead; }
.main-footer h1,
.main-footer h2,
.main-footer h3,
.main-footer h4,
.main-footer h5,
.main-footer h6,
.main-footer p,
.main-footer .text,
.main-footer .text p,
.main-footer li,
.main-footer a,
.main-footer .copyright,
.main-footer .subscribe-widget .text { color: #ffffff !important; }
.main-footer a:hover { color: #ffc400 !important; }
.main-footer .list-style-one li { color: #ffffff !important; }
.main-footer .list-style-one li .icon { color: #ffc400 !important; }
.main-footer .footer-widget .list a,
.main-footer .footer-widget .news-post a { color: rgba(255,255,255,.92) !important; }
.main-footer .upper-box h2 { color: #ffffff !important; }
.main-footer .upper-box .theme-btn { background: #ffffff !important; color: #295ead !important; }
.main-footer .upper-box .theme-btn:hover { background: #ffc400 !important; color: #1a2747 !important; }

/* Footer-bottom copyright row (was white) → blue + white */
.main-footer .footer-bottom,
.footer-bottom { background-color: #295ead !important; }
.main-footer .footer-bottom *,
.main-footer .footer-bottom .copyright,
.main-footer .footer-bottom .copyright a,
.main-footer .footer-bottom .social-icon-one li a,
.footer-bottom *,
.footer-bottom a { color: #ffffff !important; }
.main-footer .footer-bottom .copyright a:hover,
.footer-bottom a:hover { color: #ffc400 !important; }
/* Copyright row: single line + WHITE divider above */
.main-footer .footer-bottom {
  border-top: 1px solid #ffffff !important;
  margin-top: 30px !important;
  padding: 18px 0 !important;
}
.main-footer .footer-bottom .copyright {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 13.5px !important;
}
@media (max-width: 991px) {
  .main-footer .footer-bottom .copyright { white-space: normal !important; }
}

/* === Fix fullwidth-section-two (Request a Call Back) — was half blue / half white === */
.fullwidth-section-two,
.fullwidth-section-two .outer-box {
  background: #f7f8fa !important;
  display: block !important;
  position: relative !important;
}
.fullwidth-section-two .outer-box::before,
.fullwidth-section-two .outer-box::after { display: none !important; }
.fullwidth-section-two .left-column { display: none !important; }
.fullwidth-section-two .right-column {
  width: 100% !important;
  max-width: 860px !important;
  float: none !important;
  margin: 0 auto !important;
  padding: 60px 30px !important;
  position: relative !important;
  background: transparent !important;
}
.fullwidth-section-two .right-column .form-outer { background: #fff; padding: 40px 35px; border-radius: 8px; box-shadow: 0 4px 18px rgba(0,0,0,.06); }
.fullwidth-section-two .right-column h2 { color: var(--ercom-dark); text-align: center; margin-bottom: 24px; font-weight: 700; }

/* === Fix fullwidth-section-one (Why Choose Us) — dark left column was clipping text === */
.fullwidth-section-one {
  background-color: var(--ercom-dark) !important;
  background-position: center !important;
  background-size: cover !important;
}
.fullwidth-section-one .outer-box {
  display: flex !important;
  flex-wrap: wrap !important;
  position: relative !important;
}
.fullwidth-section-one .left-column,
.fullwidth-section-one .right-column {
  position: relative !important;
  float: none !important;
}
.fullwidth-section-one .left-column {
  width: 40% !important;
  background: rgba(15,26,51,.85) !important;
  padding: 70px 50px !important;
}
.fullwidth-section-one .right-column {
  width: 60% !important;
  background: #fff !important;
  padding: 60px 40px !important;
}
.fullwidth-section-one .right-column .services-outer { width: 100% !important; }
.fullwidth-section-one .right-column .services-outer > div,
.fullwidth-section-one .right-column .services-outer .clearfix,
.fullwidth-section-one .right-column .services-outer .row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
  width: 100% !important;
}
.fullwidth-section-one .right-column .services-block-two {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
  flex: none !important;
}
.fullwidth-section-one .right-column .services-block-two .inner-box {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  background: #f7f8fa;
  border-radius: 6px;
  padding: 22px 16px !important;
  border-top: 3px solid var(--ercom-accent);
  text-align: center;
}
@media (max-width: 767px) {
  .fullwidth-section-one .right-column .services-outer > div,
  .fullwidth-section-one .right-column .services-outer .clearfix,
  .fullwidth-section-one .right-column .services-outer .row {
    grid-template-columns: 1fr !important;
  }
}
.fullwidth-section-one .left-column .content-box,
.fullwidth-section-one .left-column .inner-box { padding: 0 !important; }
.fullwidth-section-one .left-column h3 {
  color: #fff !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  margin-bottom: 14px !important;
  line-height: 1.2 !important;
}
.fullwidth-section-one .left-column h4 {
  color: var(--ercom-accent) !important;
  font-size: 17px !important;
  margin-bottom: 18px !important;
  font-weight: 600 !important;
}
.fullwidth-section-one .left-column .text {
  color: rgba(255,255,255,.85) !important;
  margin-bottom: 24px !important;
  line-height: 1.7 !important;
}
.fullwidth-section-one .right-column .services-block-two {
  padding: 18px;
}
.fullwidth-section-one .right-column .services-block-two .inner-box {
  padding: 22px 18px;
  text-align: center;
}
.fullwidth-section-one .right-column .services-block-two .icon-box {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(27,87,176,.08);
  color: var(--ercom-primary);
  font-size: 24px;
  margin: 0 auto 14px;
}
.fullwidth-section-one .right-column .services-block-two h3 {
  font-size: 17px;
  color: var(--ercom-dark);
  margin-bottom: 8px;
  font-weight: 700;
}
.fullwidth-section-one .right-column .services-block-two .text {
  font-size: 13px;
  line-height: 1.7;
  color: #666;
}
@media (max-width: 991px) {
  .fullwidth-section-one .left-column,
  .fullwidth-section-one .right-column { width: 100% !important; }
}

/* List-style-one for footer/contact */
.list-style-one li { padding: 6px 0 6px 30px; position: relative; }
.list-style-one li .icon { position:absolute; left:0; top:8px; color: var(--ercom-accent); }

/* Footer brand text */
.subscribe-widget .text { font-size: 14px; line-height: 1.7; }

/* Responsive nav fix */
@media (max-width: 991px) {
  .main-header .upper-right { display: none; }
  .main-header .header-upper .logo-outer { padding: 14px 0; }
}

/* Lead popup + form: BIGGER fonts for readability */
#leadOverlay input::placeholder,
#leadOverlay textarea::placeholder { color: #6b7280 !important; opacity: 1 !important; font-size: 1.1rem !important; font-weight: 500 !important; }
#leadOverlay input,
#leadOverlay select,
#leadOverlay textarea {
  color: #1a2747 !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  padding: 18px 18px !important;
  margin-bottom: 14px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
}
#leadOverlay .lead-popup {
  padding: 42px 38px !important;
  max-width: 540px !important;
  border-radius: 10px !important;
}
#leadOverlay .lead-popup h3 {
  font-size: 2.9rem !important;
  color: #1a2747 !important;
  font-weight: 800 !important;
  margin-bottom: 14px !important;
}
#leadOverlay .lead-popup p {
  font-size: 1.3rem !important;
  color: #374151 !important;
  margin-bottom: 28px !important;
  font-weight: 500 !important;
}
#leadOverlay .lead-popup button[type=submit] {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  padding: 17px !important;
  letter-spacing: .8px !important;
  border-radius: 6px !important;
}
#leadOverlay .lead-popup a[href*="wa.me"] {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  padding: 16px !important;
  border-radius: 6px !important;
}
#leadOverlay .lead-popup .lead-close { font-size: 2.2rem !important; top: 10px !important; right: 18px !important; }

/* =============================================
   MOBILE RESPONSIVE (< 768px) — collapse all grids, fix overflows
   ============================================= */
@media (max-width: 767px) {
  body { font-size: 14px; }

  .auto-container { padding: 0 16px !important; max-width: 100% !important; }

  /* Header top-bar — stack lines, shrink */
  .header-top .top-left,
  .header-top .top-right { float: none !important; width: 100% !important; text-align: center !important; }
  .header-top .text { font-size: 11px !important; padding: 6px 0; }
  .header-top .top-nav { text-align: center !important; }
  .header-top .top-nav li { display: inline-block; margin: 0 6px !important; }

  /* Header-upper info boxes — stack */
  .main-header .upper-right { display: none !important; }
  .main-header .logo-outer { float: none !important; text-align: center; padding: 14px 0 !important; }
  .main-header .logo img { height: 56px !important; margin: 0 auto; }

  /* Outer CTA button stacked */
  .header-lower .outer-btn { float: none !important; display: block; text-align: center; margin-top: 10px; }

  /* Disclaimer banner — readable */
  .no-group-disclaimer { font-size: 12px !important; padding: 8px 12px !important; line-height: 1.4; }

  /* Hero slider — REPLACE with static hero on mobile (revolution slider doesn't carousel + duplicates DOM) */
  .main-slider {
    min-height: 320px !important;
    height: 320px !important;
    max-height: 320px !important;
    position: relative !important;
    overflow: hidden !important;
    background-image: url('../images/main-slider/1.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }
  /* Hide ALL revolution slider internal DOM */
  .main-slider .tp-banner-container,
  .main-slider .tp-banner,
  .main-slider .rev_slider_wrapper,
  .main-slider .rev_slider,
  .main-slider .forcefullwidth_wrapper_tp_banner,
  .main-slider .tp-bannertimer,
  .main-slider .tp-bullets,
  .main-slider .tparrows { display: none !important; }
  /* Inject static caption via ::before / ::after */
  .main-slider::before {
    content: 'Engineering Excellence for the Cement & Mineral-based Industries';
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    top: 80px !important;
    color: #fff !important;
    font-family: 'Raleway', sans-serif;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    z-index: 3 !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.7);
  }
  .main-slider::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, rgba(15,26,51,.55), rgba(15,26,51,.65)) !important;
    z-index: 1 !important;
  }
  .main-slider .tp-banner > ul > li > img {
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important; object-fit: cover !important;
  }
  /* Force captions visible on mobile (revolution-slider hides them) */
  .main-slider .tp-caption {
    display: block !important;
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    box-sizing: border-box !important;
    transform: none !important;
    -webkit-transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow: visible !important;
  }
  .main-slider .tp-caption * { white-space: normal !important; max-width: 100% !important; }
  .main-slider .tp-caption br { display: none; }
  .main-slider .tp-caption:nth-of-type(1) { top: 80px !important; bottom: auto !important; }
  .main-slider .tp-caption:nth-of-type(2) { top: 170px !important; bottom: auto !important; }
  .main-slider .tp-caption:nth-of-type(3) { top: 270px !important; bottom: auto !important; }
  .main-slider .big-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.65);
    margin: 0 !important;
  }
  .main-slider .small-title {
    font-size: 13px !important;
    color: #fff !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.75);
    line-height: 1.4 !important;
  }
  /* Dark overlay so text is readable */
  .main-slider::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, rgba(15,26,51,.55), rgba(15,26,51,.35)) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }
  .main-slider .tp-caption { z-index: 5 !important; }
  .main-slider .theme-btn { padding: 10px 22px !important; font-size: 13px !important; }

  /* Generic page-title */
  .page-title { padding: 50px 0 30px !important; }
  .page-title h1 { font-size: 28px !important; }

  /* Section padding shrink */
  section, .section { padding: 40px 0 !important; }

  /* ====== Grid collapse to single column ====== */
  .services-section .row.clearfix,
  .program-section .row.clearfix,
  .featured-section .row.clearfix,
  .clients-grid .row.clearfix,
  .main-footer .widgets-section .auto-container > .row.clearfix,
  .main-footer .widgets-section .big-column > .row.clearfix,
  .forty-years-section > .auto-container > div,
  .counter-section .fact-counter .row.clearfix,
  .why-section > div,
  .objective-banner .auto-container > div,
  .footer-grid {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  /* Why section — stack columns vertically (force single column for inline-style grids) */
  .why-section > div,
  .why-section > div[style*="grid"] {
    grid-template-columns: 1fr !important;
    display: block !important;
  }
  .why-section > div > div { padding: 36px 22px !important; }
  .why-section > div > div[style*="grid-template-columns"],
  .why-section > div > div:last-child {
    display: block !important;
    grid-template-columns: 1fr !important;
  }
  .why-section > div > div:last-child > div { margin-bottom: 14px !important; width: 100% !important; }

  /* Forty Years section — chairman card narrower */
  .forty-years-section img { max-width: 200px !important; }
  .forty-years-section [style*="border:6px solid"] { max-width: 240px; margin: 0 auto; }

  /* Forty years section — stack */
  .forty-years-section > .auto-container > div {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Services cards on home */
  .services-section .services-block { margin-bottom: 20px !important; }
  .services-section .services-block > a:first-child,
  .services-section .services-block > a:first-child img { height: 200px !important; }
  .services-section .services-block > a:nth-child(2) { height: auto !important; padding: 16px 16px !important; }
  .services-section .services-block > a:nth-child(2) h3 { font-size: 16px !important; }

  /* Program (services 19) cards */
  .program-section .program-block { margin-bottom: 16px !important; }

  /* Clients grid */
  .clients-grid .row.clearfix { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .clients-grid .client-card { min-height: 120px !important; padding: 14px 8px !important; }
  .clients-grid .client-card img { max-height: 50px !important; }
  .clients-grid .client-card h3 { font-size: 10px !important; }

  /* Featured-section (About: History/Mission/Overview) */
  .featured-section .featured-block { margin-bottom: 16px !important; }

  /* Counter / stats */
  .counter-section .fact-counter .row.clearfix {
    flex-direction: column !important;
    gap: 24px !important;
    display: flex !important;
  }
  .counter-section h2 { font-size: 26px !important; }
  .counter-section .count-text { font-size: 42px !important; }

  /* Footer */
  .main-footer .widgets-section .auto-container > div { display: block !important; grid-template-columns: 1fr !important; }
  .main-footer .widgets-section .auto-container > div > div { margin-bottom: 30px !important; }
  .main-footer .upper-box .clearfix { text-align: center; }
  .main-footer .upper-box .pull-left,
  .main-footer .upper-box .pull-right { float: none !important; text-align: center; }
  .main-footer .upper-box h2 { font-size: 20px !important; line-height: 1.3; margin-bottom: 14px; }
  .main-footer .footer-bottom .container,
  .main-footer .footer-bottom > div { flex-direction: column !important; text-align: center; gap: 10px; }
  .main-footer .footer-bottom .copyright { white-space: normal !important; font-size: 12px !important; line-height: 1.5; }
  .main-footer .footer-bottom .text-right { text-align: center !important; }

  /* CTA section */
  .cta h2 { font-size: 26px !important; line-height: 1.2 !important; }
  .cta p { font-size: 14px !important; }

  /* Tables — readable on mobile (smaller padding, allow text wrap) */
  .instruments-table { font-size: 12px !important; }
  .instruments-table th,
  .instruments-table td { padding: 8px 6px !important; line-height: 1.4 !important; white-space: normal !important; vertical-align: middle; }
  .instruments-table img { max-width: 70px !important; max-height: 55px !important; }
  /* Allow horizontal scroll on the auto-container holding the table */
  .auto-container:has(.instruments-table) { overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Lead popup */
  #leadOverlay .lead-popup { padding: 24px 18px !important; max-width: 92% !important; }
  #leadOverlay .lead-popup h3 { font-size: 1.8rem !important; }
  #leadOverlay .lead-popup p { font-size: 1rem !important; margin-bottom: 16px !important; }
  #leadOverlay input,
  #leadOverlay select,
  #leadOverlay textarea { font-size: 1rem !important; padding: 14px !important; }

  /* WhatsApp + scroll-top buttons — smaller */
  .whatsapp-float { width: 50px !important; height: 50px !important; font-size: 26px !important; bottom: 20px !important; right: 20px !important; }
  .scroll-to-top { bottom: 80px !important; right: 20px !important; width: 40px !important; height: 40px !important; line-height: 40px !important; }

  /* Headings shrink */
  h2 { font-size: 24px !important; line-height: 1.25 !important; }
  h3 { font-size: 20px !important; line-height: 1.3 !important; }
  h4 { font-size: 16px !important; }
  .default-two-column h3 { font-size: 22px !important; }
  .program-section .title-box h3 { font-size: 22px !important; }

  /* Forty Years chairman card centered */
  .forty-years-section img { max-width: 220px !important; }
}

@media (max-width: 480px) {
  .clients-grid .row.clearfix { grid-template-columns: 1fr !important; }
  .main-slider .big-title { font-size: 22px !important; }
  .page-title h1 { font-size: 24px !important; }
}
