/* =========================================================
   IONEX ENGINEERS — FOOTER
   Fonts   : Rubik (headings/labels) + Poppins (body/desc)
   Colors  : #0091DD (blue) · #029340 (green) · #0b1620 (dark) · #ffffff
   Matches header.css tokens 1:1 so both sections feel like one system.
========================================================= */

:root{
  --blue:   #0091DD;
  --green:  #029340;
  --dark:   #0b1620;
  --dark-2: #071019;
  --white:  #ffffff;
  --black:  #0a0a0a;
  --gray:   #9aa7b0;
  --light-gray: #f3f6f8;

  --font-head: 'Rubik', sans-serif;
  --font-body: 'Poppins', sans-serif;
}

.site-footer{
  position: relative;
  font-family: var(--font-body);
  color: var(--white);
 
  overflow: hidden;
  isolation: isolate;
}

/* ---------------------------------------------------------
   BACKGROUND IMAGE + OVERLAY
   Swap the url() below for your own image
   (e.g. a plant / pipeline / facility photo).
--------------------------------------------------------- */
.footer-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background-image: url('../img/bgg.png');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.footer-overlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg, rgba(7, 16, 25, 0.151) 0%, rgba(11,22,32,.94) 45%, var(--dark-2) 100%);
}

/* =========================================================
   TOP CONTACT STRIP
========================================================= */
.footer-strip{
  background: linear-gradient(100deg, var(--green) 0%, #04371f 40%, var(--dark-2) 65%, #063a2a 100%);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.footer-strip-inner{
  

  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap: wrap;
  gap: 18px 10px;
  padding: 22px 40px;
}

.strip-item{
  display:flex;
  align-items:center;
  gap: 14px;
  min-width: 200px;
}

.strip-icon{
  width:46px; height:46px;
  flex-shrink:0;
  border-radius:50%;
  border: 2px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  font-size:17px;
  color: var(--white);
}

.strip-text{ display:flex; flex-direction:column; gap:2px; }
.strip-text small{ font-size:12px; font-weight:400; opacity:.8; letter-spacing:.3px; }
.strip-text strong{ font-family: var(--font-head); font-size:15px; font-weight:600; }
.strip-text strong a{ color: var(--white); transition:.2s; }
.strip-text strong a:hover{ color: var(--blue); }

.strip-divider{
  width:1px; height:34px;
  background: rgba(255,255,255,.18);
}

/* =========================================================
   MAIN FOOTER — COLUMNS
========================================================= */
.footer-main-inner{
  margin: 0 auto;
  padding: 64px 40px 48px;
  display:grid;
  grid-template-columns: 1.3fr 0.8fr 0.9fr 1.2fr;
  gap: 40px;
}

.footer-col h4{
  font-family: var(--font-head);
  font-size: 18px;
  font-weight: 700;
  letter-spacing:.3px;
  color: var(--white);
  margin-bottom: 22px;
  position: relative;
  padding-bottom: 14px;
}

.footer-col h4::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width: 42px; height:3px;
  background: var(--green);
  border-radius: 2px;
}

/* ---- About ---- */
.footer-logo{ display:inline-block; margin-bottom: 18px; }
.footer-logo img{ height: 100px; filter: brightness(0) invert(1); }

.footer-about p{
  font-size: 14px;
  line-height: 1.8;
  color: rgba(255,255,255,.72);
  margin-bottom: 22px;
  max-width: 340px;
}

.footer-social{ display:flex; align-items:center; gap:10px; }
.footer-social a{
  width:38px; height:38px;
  border-radius:50%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.25);
  display:flex; align-items:center; justify-content:center;
  font-size:14px;
  color: var(--white);
  transition:.25s;
}
.footer-social a:hover{
  background: var(--green);
  border-color: var(--green);
  transform: translateY(-3px);
}

/* ---- Links / Products ---- */
.footer-links ul,
.footer-products ul{ display:flex; flex-direction:column; gap:13px; }

.footer-links a,
.footer-products a{
  font-size: 14.5px;
  font-weight: 400;
  color: rgba(255,255,255,.72);
  display:flex;
  align-items:center;
  gap:9px;
  transition:.2s;
}

.footer-links a i,
.footer-products a i{ font-size:10px; color: var(--blue); transition:.2s; }

.footer-links a:hover,
.footer-products a:hover{
  color: var(--white);
  padding-left: 5px;
}
.footer-links a:hover i,
.footer-products a:hover i{ color: var(--green); }

/* ---- Map column ---- */
.footer-map{
  width:50%;
  aspect-ratio: 3 / 3;
  border-radius: 10px;
  overflow:hidden;
  border-top: 3px solid var(--green);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
  margin-bottom: 18px;
  filter: grayscale(.25) contrast(1.05);
}

.footer-map iframe{
  width:100%; height:100%;
  border:0; display:block;
}

.footer-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background: var(--green);
  color: var(--white);
  font-family: var(--font-head);
  font-weight:600;
  font-size: 14px;
  letter-spacing:.3px;
  padding: 13px 24px;
  border-radius: 6px;
  border: 2px solid var(--green);
  transition:.25s;
}
.footer-cta i{ font-size:12px; transition:.25s; }

.footer-cta:hover{
  background: transparent;
  color: var(--blue);
  border-color: var(--blue);
}
.footer-cta:hover i{ transform: translateX(4px); }

/* =========================================================
   BOTTOM BAR
========================================================= */
.footer-bottom{
  background: var(--dark-2);
  border-top: 1px solid rgba(255,255,255,.08);
}

.footer-bottom-inner{
  margin:0 auto;
  padding: 20px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-bottom-inner p{
  font-size: 13.5px;
  color: rgba(255,255,255,.6);
}

.footer-bottom-links{ display:flex; align-items:center; gap:22px; flex-wrap: wrap; }
.footer-bottom-links a{
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.973);
  transition:.2s;
}
.footer-bottom-links a:hover{ color: var(--green); }



/* =========================================================
   RESPONSIVE — LAPTOP (≤ 1200px)
========================================================= */
@media (max-width: 1200px){
  .footer-main-inner{
    grid-template-columns: 1fr 1fr;
    row-gap: 46px;
  }
  .footer-bg{ background-attachment: scroll; }
}

/* =========================================================
   RESPONSIVE — TABLET (≤ 991px)
========================================================= */
@media (max-width: 991px){
  .footer-strip-inner{ padding: 20px 24px; justify-content:flex-start; }
  .strip-item{ min-width: 45%; }
  .strip-divider{ display:none; }

  .footer-main-inner{ padding: 50px 24px 40px; gap: 38px; }

  .footer-bottom-inner{ padding: 18px 24px; justify-content:center; text-align:center; }
}

/* =========================================================
   RESPONSIVE — MOBILE LANDSCAPE (≤ 767px)
========================================================= */
@media (max-width: 767px){
  .footer-main-inner{ grid-template-columns: 1fr; }
  .footer-about p{ max-width: 100%; }
  .footer-map{ aspect-ratio: 16 / 10; }
}

/* =========================================================
   RESPONSIVE — MOBILE (≤ 575px)
========================================================= */
@media (max-width: 575px){
  .footer-strip-inner{ padding: 18px 16px; gap: 16px; }
  .strip-item{ min-width: 100%; }

  .footer-main-inner{ padding: 44px 18px 32px; }

  .footer-col h4{ font-size: 16.5px; }

  .footer-bottom-links{ gap: 14px; justify-content:center; }
  .footer-bottom-inner{ padding: 16px 18px; }

  .back-to-top{
    right: 16px; bottom: 16px;
    width: 42px; height:42px;
    font-size: 15px;
  }
}