/* ==============================
   HERO SECTION (SAME SCREENSHOT)
============================== */
/* HERO IMAGE */
/* ==============================
   HERO SECTION (SAME SCREENSHOT) - FIXED
============================== */

/* HERO WRAPPER (IMPORTANT FIX) */
.page-id-21 .industry-hero{
  position: relative;                 /* ✅ overlay/content absolute fix */
  overflow: hidden;
  width: 100%;

  /* ✅ desktop + mobile stable height */
  min-height: 520px;
  height: clamp(360px, 55vh, 620px);

  background-image: url("/wp-content/themes/chemtromech/assets/roplantbanner.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* DARK OVERLAY */
.page-id-21 .industry-hero__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.38);
  z-index: 1;
}

/* CENTER TEXT */
.page-id-21 .industry-hero__content{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 16px;
  z-index: 2;
}

.page-id-21 .industry-hero__content h1{
  margin: 0;
  color: #fff;
  font-weight: 900;
  letter-spacing: .2px;
  line-height: 1.1;
  font-size: clamp(28px, 4vw, 62px);
  text-shadow: 0 10px 30px rgba(0,0,0,0.55);
}

/* RESPONSIVE HEIGHT (scoped to page-id-21 only) */
@media (max-width: 768px){
  .page-id-21 .industry-hero{
    min-height: 420px;
    height: 420px;
  }
}

@media (max-width: 480px){
  .page-id-21 .industry-hero{
    min-height: 360px;
    height: 360px;
  }
}



/* DARK OVERLAY */
.industry-hero__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.38); /* same feel */
  z-index: 1;
}

/* CENTER TEXT */
.industry-hero__content{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 16px;
  z-index: 2;
}

.industry-hero__content h1{
  margin: 0;
  color: #fff;
  font-weight: 900;
  letter-spacing: .2px;
  line-height: 1.1;

  /* responsive big heading like screenshot */
  font-size: clamp(28px, 4vw, 62px);

  /* slight shadow for readability */
  text-shadow: 0 10px 30px rgba(0,0,0,0.55);
}

/* RESPONSIVE HEIGHT */
@media (max-width: 768px){
  .industry-hero{
    height: 420px;
  }
}
@media (max-width: 480px){
  .industry-hero{
    height: 360px;
  }
}



/* ==============================
   RO TEXT BLOCK (SAME SCREENSHOT)
============================== */

.ro-text-block{
  width: 100%;
  padding: 26px 0 10px; /* screenshot jaisa tight spacing */
}

.ro-text-wrap{
  width: min(980px, 92%);
  margin: 0 auto;
}

.ro-text-wrap p{
  margin: 0 0 14px;     /* paragraph gap */
  font-size: 15px;
  line-height: 1.75;
  color: #1f2f3b;       /* professional dark gray */
}

/* last paragraph bottom extra gap remove */
.ro-text-wrap p:last-child{
  margin-bottom: 0;
}

/* RESPONSIVE */
@media (max-width: 600px){
  .ro-text-block{
    padding: 18px 0 6px;
  }

  .ro-text-wrap p{
    font-size: 14px;
    line-height: 1.7;
  }
}


/* ======================================
   RO INSTALLATION SECTION (IMAGE + TEXT)
====================================== */

.ro-install-section{
  width: 100%;
  padding: 50px 0;
}

.ro-install-wrap{
  width: min(1200px, 92%);
  margin: 0 auto;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: center;
}

/* IMAGE SIDE */
.ro-install-image img{
  width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;

  box-shadow: 0 12px 34px rgba(0,0,0,.08);
}

/* TEXT SIDE */
.ro-install-content h2{
  margin: 0 0 12px;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 800;
  color: #0b1b2b;
  line-height: 1.25;
}

.ro-install-content p{
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #2f4556;
}

.ro-install-content p:last-child{
  margin-bottom: 0;
}

/* RESPONSIVE */
@media (max-width: 900px){
  .ro-install-wrap{
    grid-template-columns: 1fr;
  }
}




/* =========================================
   RO TROUBLESHOOTING (TEXT LEFT, IMAGE RIGHT)
========================================= */

.ro-trouble-section{
  width: 100%;
  padding: 52px 0;
}

.ro-trouble-wrap{
  width: min(1200px, 92%);
  margin: 0 auto;

  display: grid;
  grid-template-columns: 1.1fr 0.9fr; /* text thora wider */
  gap: 36px;
  align-items: center;
}

/* TEXT */
.ro-trouble-content h2{
  margin: 0 0 12px;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 900;
  color: #0b1b2b;
  line-height: 1.25;
}

.ro-trouble-content p{
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #2f4556;
}

.ro-trouble-content p:last-child{
  margin-bottom: 0;
}

/* IMAGE */
.ro-trouble-image img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(0,0,0,.08);
}

/* RESPONSIVE */
@media (max-width: 900px){
  .ro-trouble-wrap{
    grid-template-columns: 1fr;
  }

  .ro-trouble-section{
    padding: 42px 0;
  }
}



/* =========================================
   RO MEMBRANE CLEANING (IMAGE + TEXT)
========================================= */

.ro-cleaning-section{
  width: 100%;
  padding: 52px 0;
}

.ro-cleaning-wrap{
  width: min(1200px, 92%);
  margin: 0 auto;

  display: grid;
  grid-template-columns: 0.95fr 1.05fr; /* image thora smaller, text thora wider */
  gap: 36px;
  align-items: center;
}

/* IMAGE */
.ro-cleaning-image img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(0,0,0,.08);
}

/* TEXT */
.ro-cleaning-content h2{
  margin: 0 0 12px;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 900;
  color: #0b1b2b;
  line-height: 1.25;
}

.ro-cleaning-content p{
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #2f4556;
}

.ro-cleaning-content p:last-child{
  margin-bottom: 0;
}

/* RESPONSIVE */
@media (max-width: 900px){
  .ro-cleaning-wrap{
    grid-template-columns: 1fr;
  }
  .ro-cleaning-section{
    padding: 42px 0;
  }
}



/* ======================================
   TWO CARDS ROW (LIGHT BLUE + HOVER)
====================================== */

.ro-two-cards{
  width: 100%;
  padding: 52px 0;
}

.ro-two-wrap{
  width: min(1200px, 92%);
  margin: 0 auto;
}

.ro-two-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

/* CARD */
.ro-card{
  background: #eef7ff;              /* very light blue */
  border: 1px solid #d7ecff;
  border-radius: 18px;
  padding: 18px 18px 16px;
  box-shadow: 0 10px 26px rgba(11, 27, 43, 0.07);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
  min-height: 260px;
}

/* top highlight line */
.ro-card::before{
  content:"";
  position:absolute;
  left:0; top:0;
  width:100%;
  height:4px;
  background: linear-gradient(90deg, rgba(0,102,204,.22), rgba(0,102,204,0));
}

/* HEADER */
.ro-card-top{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}

.ro-card-icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  background: #dff1ff;
  border: 1px solid #cbe7ff;
  font-size: 16px;
  transition: transform .25s ease;
}

.ro-card h3{
  margin: 0;
  color: #0b1b2b;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.25;
}

.ro-card-text{
  margin: 8px 0 10px;
  color: #2f4556;
  font-size: 15px;
  line-height: 1.7;
}

.ro-card-text.strong{
  font-weight: 800;
  margin-top: 10px;
}

.ro-card-list{
  margin: 0;
  padding-left: 18px;
  color: #1d3242;
}

.ro-card-list li{
  margin: 6px 0;
  font-size: 14px;
  line-height: 1.55;
}

/* HOVER TRIGGER */
.ro-card:hover{
  transform: translateY(-8px);
  border-color: #9dd6ff;
  box-shadow: 0 18px 40px rgba(11, 27, 43, 0.13);
}

.ro-card:hover .ro-card-icon{
  transform: scale(1.08) rotate(-2deg);
}

/* animation trigger class (JS will add) */
.ro-card.is-hovered{
  animation: roPulse .35s ease;
}

@keyframes roPulse{
  0%{ transform: translateY(0); }
  50%{ transform: translateY(-10px); }
  100%{ transform: translateY(-8px); }
}

/* RESPONSIVE */
@media (max-width: 900px){
  .ro-two-grid{
    grid-template-columns: 1fr;
  }
  .ro-card{
    min-height: auto;
  }
}

/* ==============================
   TALK TO OUR RO SPECIALISTS CTA
============================== */

.ro-talk-cta{
  width: 100%;
  padding: 50px 0;
}

.ro-talk-wrap{
  width: min(1000px, 92%);
  margin: 0 auto;
}

.ro-talk-title{
  margin: 0 0 12px;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 900;
  color: #0b1b2b;
  line-height: 1.2;
}

.ro-talk-text{
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #2f4556;
  max-width: 900px;
}

.ro-talk-strong{
  font-weight: 800;
  margin-top: 8px;
}

/* CONTACT LINK */
.ro-talk-link{
  display: inline-block;
  margin-left: 6px;
  color: #0066cc;
  text-decoration: none;
  font-weight: 900;
  transition: transform .2s ease, text-decoration .2s ease;
}

.ro-talk-link:hover{
  text-decoration: underline;
  transform: translateX(4px);
}

/* RESPONSIVE */
@media (max-width: 600px){
  .ro-talk-cta{
    padding: 36px 0;
  }

  .ro-talk-text{
    font-size: 14px;
    line-height: 1.7;
  }
}
