






/*why choose*/
.why-solar {
    padding: 80px 20px;
    background: #f8f9fb;
}

.container-why{
    max-width: 1200px;
    margin: auto;
    display: flex;
    gap: 40px;
    align-items: center;
}

/* Content */
.solar-content {
    flex: 1;
}

.solar-content h2 {
    font-size: 48px;
    margin-bottom: 20px;
}

.solar-content p {
    color: #666;
    margin-bottom: 25px;
    line-height: 1.6;
}

/* Points */
.solar-points .point {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.solar-points span {
    width: 45px;
    height: 45px;
    background: #1e8042;
    color: #fff;
    font-weight: bold;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.solar-points h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
}

.solar-points p {
    margin: 5px 0 0;
    font-size: 16px;
    color: #777;
    font-family: "Manrope", Helvetica, Arial, sans-serif;
}

/* Image */
.solar-image {
    flex: 1;
}

.solar-image img {
    width: 100%;
    border-radius: 12px;
}



/* Section */
.solar-flow {
  padding: 90px 20px;
  background: white;
  text-align: center;
  font-family: 'Poppins', sans-serif;
}

.solar-flow h2 {
  font-size: 48px;
  font-weight: 500;
  margin-bottom: 10px;
}

.solar-flow .sub {
  color: #666;
  margin-bottom: 60px;
  font-size: 16px;
  font-family: "Manrope", Helvetica, Arial, sans-serif;
}


/* ================= */
/* Tablet (≤1024px) */
/* ================= */
@media (max-width: 1024px) {
    .container-why {
        gap: 30px;
    }

    .solar-content h2 {
        font-size: 36px;
        text-align: left;
    }

    .solar-content p {
        font-size: 16px;
    }

    .solar-points {
        grid-template-columns: 1fr 1fr;
        gap: 15px 20px;
    }

    .solar-points h4 {
        font-size: 22px;
    }

    .solar-points p {
        font-size: 16px;
    }
}

/* ================= */
/* Mobile (≤768px) */
/* ================= */
@media (max-width: 768px) {
    .container-why {
        flex-direction: column;
        text-align: center;
    }

    .solar-content {
        order: 2;
    }

    .solar-image {
        order: 1;
        margin-bottom: 30px;
    }

    .solar-content h2 {
        font-size: 36px;
    }

    .solar-content p {
        font-size: 16px;
        margin-bottom: 20px;
        text-align: justify;
    }

    .solar-points {
        grid-template-columns: 1fr 1fr;
        gap: 15px 20px;
    }

    .solar-points .point {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .solar-points .point span {
        margin-bottom: 10px;
        padding-top: 8px;
    }

    .solar-points .point h4 {
        font-size: 20px;
    }

    .solar-points .point p {
        font-size: 16px;
    }
}

/* ================= */
/* Small Mobile (≤480px) */
/* ================= */
@media (max-width: 480px) {
    .solar-content h2 {
        font-size: 26px;
        text-align: center;
    }

    .solar-content p {
        font-size: 16px;
    }

    .solar-points .point h4 {
        font-size: 20px;
    }

    .solar-points .point p {
        font-size: 16px;
        text-align: center;
    }
}


/*how it works*/

/* Flow */
.flow {
  position: relative;
  max-width: 1000px;
  margin: auto;
}

/* Center line */
.flow::before {
  content: "";
  position: absolute;
  width: 3px;
  background: linear-gradient(to bottom, #1e8042, #1e8042);
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* Step */
.step {
  position: relative;
  width: 50%;
  padding: 30px 50px;
  box-sizing: border-box;
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp 0.8s ease forwards;
}

/* Animation delay */
.step:nth-child(1){ animation-delay: 0.2s; }
.step:nth-child(2){ animation-delay: 0.4s; }
.step:nth-child(3){ animation-delay: 0.6s; }
.step:nth-child(4){ animation-delay: 0.8s; }

/* Left & Right */
.step.left { left: 0; text-align: right; }
.step.right { left: 50%; text-align: left; }

/* Card */
.card {
  background: #fff;
  padding: 25px 20px;
  border-radius: 14px;
  border: 2px solid #e3e8e1;
  box-shadow: 0 10px 25px rgba(0,0,0,0.06);
  transition: all 0.4s ease;
    border-color: #1e8042;
}

/* Hover */
.card:hover {
  transform: translateY(-10px) scale(1.02);
  border-color: #588f27;
  box-shadow: 0 15px 35px rgba(88, 143, 39, 0.041);
}

/* Icons Circle */
.step::after {
  content: "⚡";
  position: absolute;
  width: 45px;
  height: 45px;
  background: #1e8042;
  color: #fff;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  top: 30px;
  z-index: 2;
  box-shadow: 0 0 0 6px #eef5ec;
}

/* Different icons */
.step:nth-child(1)::after { content: "☀️"; }
.step:nth-child(2)::after { content: "🔌"; }
.step:nth-child(3)::after { content: "🏠"; }
.step:nth-child(4)::after { content: "🔋"; }

/* Icon position */
.step.left::after { right: -23px; }
.step.right::after { left: -23px; }

/* Text */
.card h3 {
  font-size: 20px;
  margin-bottom: 10px;
  color: #222;
  font-weight: 500;
}

.card p {
  font-size: 16px;
  color: #555;
  line-height: 1.6;
  font-family: "Manrope", Helvetica, Arial, sans-serif;
  margin-bottom: 0px;
  padding: 0px;
  width: 100%;
}

/* Animation keyframes */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .flow::before { left: 20px; }

  .step {
    width: 100%;
    padding-left: 60px;
    padding-right: 20px;
    margin-bottom: 40px;
    text-align: left;
  }

  .step.left, .step.right {
    left: 0;
  }

  .step::after {
    left: 0;
  }
}

.card h3 {
  font-size: 20px;
  margin-bottom: 10px;
  color: #222;
}

.card p {
  font-size: 16px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 0px;
}

/* Icon Circle */
.icon {
  position: absolute;
  top: 30px;
  width: 50px;
  height: 50px;
  background: #1e8042;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  z-index: 2;
  box-shadow: 0 0 0 6px #eef5ec;
  transition: 0.3s ease;
}

/* Icon hover animation */
.icon:hover {
  transform: scale(1.15) rotate(8deg);
  box-shadow: 0 0 15px rgba(88,143,39,0.6);
}

/* Position */
.step.left .icon {
  right: -25px;
}

.step.right .icon {
  left: -25px;
}

/* Remove old emoji circle */
.step::after {
  display: none;
}




/* ============================= */
/* 📱 PERFECT ALIGNMENT FIX FOR 425px */
/* ============================= */
@media (max-width: 425px) {

  /* Timeline line */
  .flow::before {
    left: 40px; /* vertical line position */
  }

  /* Steps full width */
  .step {
    width: 100%;
    left: 0 !important;
    padding: 0 15px 0 90px; /* leave space for icon */
    margin-bottom: 40px;
    text-align: left;
  }

  /* Force all cards left */
  .step.left,
  .step.right {
    left: 0;
    text-align: left;
  }

  /* Icon circle aligned with line */
  .icon {
    position: absolute;
    left: 40px;        /* same as timeline line */
    top: 25px;         /* vertically aligned with card */
    transform: translateX(-50%);
    width: 44px;
    height: 44px;
    font-size: 18px;
  }

  /* Step cards start after icon */
  .card {
    margin-left: 60px; /* space between icon and card */
  }
}

/* ============================= */
/* 💻 Tablet (768px) */
/* SAME AS DESKTOP (ZIG-ZAG) */
/* ============================= */
@media (max-width: 768px) {

  .flow::before {
    left: 50%;
  }

  .step {
    width: 50%;
    padding: 30px 40px;
  }

  .step.left {
    left: 0;
    text-align: right;
  }

  .step.right {
    left: 50%;
    text-align: left;
  }

  /* Icons back to center */
  .step.left .icon {
    right: -55px;
    left: auto;
  }

 .step.right .icon {
  left:-0px;
  
}
.solar-flow h2 {
  font-size:36px;
  font-weight: 500;
  margin-bottom: 10px;
}

}

/* BEFORE (wrong) */
.flow::before {
  top: 0;
  bottom: 0;
}

/* AFTER (correct) */
.flow::before {
  top: 55px;    /* = icon top position (30px padding) + half icon height (25px) */
  bottom: 55px; /* same offset from bottom for last icon */
}


/*installation process*/

.process-clean {
  padding: 80px 20px;
  background: #f8f9fb;
  text-align: center;
}

.process-clean h2 {
  font-size: 36px;
  margin-bottom: 10px;
}

.process-clean .sub {
  color: #666;
  margin-bottom: 50px;
}

/* Grid */
.process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1100px;
  margin: auto;
}

/* Card */
.process-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
  transition: 0.3s;
  text-align: left;
}

.process-card:hover {
  transform: translateY(-6px);
}

/* Image */
.process-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

/* Content */
.process-card .content {
  padding: 20px;
}

.process-card span {
  display: inline-block;
  background: #1e8042;
  color: #fff;
  width: 38px;
  height: 38px;
  line-height: 38px;
  border-radius: 50%;
  text-align: center;
  font-weight: bold;
  margin-bottom: 10px;
}

.process-card h3 {
  font-size: 22px;
  margin-bottom: 8px;
  font-weight: 500;
}

.process-card p {
  font-size: 16px;
  color: #555;
  line-height: 26px;
  margin-bottom: 0px;
}

/* Responsive */
@media (max-width: 768px) {
  .process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 425px) {
  .process-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== Base (Desktop already fine) ===== */

/* Smooth scaling */
.process-clean {
  padding: 80px 20px;
}

.process-clean h2 {
  font-size: 48px;
}

.process-clean .sub {
  font-size: 16px;
}

/* ========================= */
/* ✅ Tablet (1024px ↓) */
/* ========================= */
@media (max-width: 1024px) {

  .process-clean {
    padding: 100px 20px;
  }

  .process-clean h2 {
    font-size: 36px;
  }

  .process-clean .sub {
    font-size: 16px;
  }

  .process-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }

  .process-card img {
    height: 160px;
  }

  .process-card h3 {
    font-size: 20px;
  }

  .process-card p {
    font-size: 16px;
  }
}


/* ========================= */
/* ✅ Mobile Large (768px ↓) */
/* ========================= */
@media (max-width: 768px) {

  .process-clean {
    padding: 100px 15px;
  }

  .process-clean h2 {
    font-size: 36px;
    line-height: 1.3;
    padding-top: 0px;
  }

  .process-clean .sub {
    font-size: 16px;
    margin-bottom: 35px;
  }

  .process-grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .process-card {
    border-radius: 10px;
  }

  .process-card img {
    height: 200px;
  }

  .process-card .content {
    padding: 18px;
  }

  .process-card span {
    width: 34px;
    height: 34px;
    line-height: 34px;
    font-size: 13px;
  }

  .process-card h3 {
    font-size: 20px;
  }

  .process-card p {
    font-size: 16px;
  }
}


/* ========================= */
/* ✅ Small Mobile (480px ↓) */
/* ========================= */
@media (max-width: 480px) {

  .process-clean {
    padding: 40px 12px;
  }

  .process-clean h2 {
    font-size: 26px;
  }

  .process-clean .sub {
    font-size: 16px;
    text-align: center;
  }

  .process-card img {
    height: 200px;
  }

  .process-card .content {
    padding: 15px;
  }
   .process-grid {
    grid-template-columns: 1fr ;
    gap: 20px;
  }

  .process-card span {
    width: 40px;
    height: 40px;
    line-height: 30px;
    font-size: 16px;
    padding-top: 5px;
  }

  .process-card h3 {
    font-size: 22px;
  }

  .process-card p {
    font-size: 16px;
  }
}


/* ========================= */
/* ✅ Extra Small (360px ↓) */
/* ========================= */
@media (max-width: 360px) {

  .process-clean h2 {
    font-size: 26px;
  }

  .process-clean .sub {
    font-size: 12.5px;
  }

  .process-card img {
    height: 130px;
  }


}




/* ===================== */
/* TABLET (768px–1024px) */
/* ===================== */
@media (min-width: 768px) and (max-width: 1024px) {

  /* spacing */
  .contact-color {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* center content properly */
  .grid-divider .d-flex {
    justify-content: flex-start !important;
  }

  /* icon size adjust */
  .fs-60 {
    font-size: 45px;
  }

  /* text spacing */
  .grid-divider h4 {
    font-size: 18px;
  }

  .grid-divider p {
    font-size: 14px;
    text-align: left;
  }
}


/* ===================== */
/* MOBILE (<768px) */
/* ===================== */
@media (max-width: 767px) {

  /* show stacked layout */
  .grid-divider {
    display: block !important;
  }

  .contact-color {
    padding-left: 15px;
    padding-right: 15px;
  }

  /* center each item */
  .grid-divider .d-flex {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .grid-divider .ms-3 {
    margin-left: 0 !important;
    margin-top: 10px;
  }

  /* icon */
  .fs-60 {
    font-size: 40px;
  }

  /* spacing between items */
  .mb-sm-30 {
    margin-bottom: 20px;
  }

  .grid-divider h4 {
    font-size: 16px;
  }

  .grid-divider p {
    font-size: 14px;
  }
}


/* ===================== */
/* SMALL MOBILE (<480px) */
/* ===================== */
@media (max-width: 480px) {

  .fs-60 {
    font-size: 35px;
  }

  .grid-divider h4 {
    font-size: 15px;
  }

  .grid-divider p {
    font-size: 13px;
    text-align: center;
  }
}

/* MOBILE + TABLET */
@media (max-width: 1024px) {

  /* remove left border */
  .grid-divider > div {
    border-left: none !important;
  }

  /* add bottom border */
  .grid-divider > div {
    border-bottom: 1px solid rgba(255,255,255,0.2); /* adjust color if needed */
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  /* remove border from last item */
  .grid-divider > div:last-child {
    border-bottom: none;
  }
}
/* MOBILE + TABLET */
@media (max-width: 1024px) {

  /* remove any left border */
  .grid-divider > div,
  .grid-divider > div * {
    border-left: none !important;
  }

  /* 🔥 kill vertical divider (pseudo elements) */
  .grid-divider::before,
  .grid-divider::after,
  .grid-divider > div::before,
  .grid-divider > div::after {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
  }

  /* add bottom divider */
  .grid-divider > div {
    border-bottom: 1px solid rgba(255,255,255,0.3) !important;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  /* remove last one */
  .grid-divider > div:last-child {
    border-bottom: none !important;
  }
}
/* ===================== */
/* TABLET (768px–1024px) */
/* ===================== */
@media (min-width: 768px) and (max-width: 1024px) {

  /* 🔥 force show */
  .sm-hide {
    display: block !important;
    visibility: visible !important;
  }

}
/* ===================== */
/* TABLET (768px–1024px) */
/* ===================== */
@media (min-width: 768px) and (max-width: 1024px) {

  /* show section */
  .grid-divider.sm-hide {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: left;
  }

  /* default: 2 columns */
  .grid-divider > div {
    width: 50%;
    border-left: none !important;
  }

  /* center content inside */
  .grid-divider .d-flex {
    justify-content: center;
    text-align: left;
  }

  /* 🔥 last item full width + centered */
  .grid-divider > div:last-child {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  /* optional: control inner width so it doesn't stretch too much */
  .grid-divider > div:last-child .d-flex {
    max-width: 300px;
    width: 100%;
  }

  /* bottom borders */
  .grid-divider > div {
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  /* remove last border */
  .grid-divider > div:last-child {
    border-bottom: none;
  }
}




@media (max-width: 768px) {
  .col-lg-6 .subtitle{
      text-align:center !important;
    font-size: 16px;

  }
  /* ===================== */
/* SUBTITLE CENTER */
/* ===================== */
.subtitle {
  text-align: center;
}

/* ===================== */
/* TITLE TOP SPACING */
/* ===================== */
h2 {
  padding-top: 10px; /* adjust value if needed */
}

  .col-lg-6 p {
    text-align:justify !important;
    font-size: 16px;
  }
    .col-lg-6{
      margin-top: 50px;
    }

  .col-lg-6 .relative {
    text-align: center !important;
  }

    section {
    padding-bottom: 50px !important;
  
  }
}
@media (max-width: 767px) {
  .subtitle {
    text-align: center;
  }

  h2 {
    padding-top: 10px;
  }
  /* Force center alignment */
.subtitle {
  display: block;
  width: 100%;
  text-align: center !important;
}

/* If still not working, target inside this section */
section .subtitle {
  text-align: center !important;
padding-top: 0px;

}
}


/* ===================== */
/* TABLET (768px–1024px) */
/* ===================== */
@media (min-width: 768px) and (max-width: 1024px) {

  /* keep side-by-side */
  .row.align-items-center {
    flex-wrap: nowrap;
  }

  /* text only */
  h2 {
    font-size: 36px;
  }

  p {
    font-size: 16px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .row.align-items-center {
        display: flex;
        flex-wrap: nowrap;
    }

    .row.align-items-center > .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}


/* ===================== */
/* MOBILE (<768px) */
/* ===================== */
@media (max-width: 767px) {

  /* stack layout */
  .row.align-items-center {
    flex-direction: column;
  }

  /* text alignment only */
  .subtitle,
  h2 {
    text-align: center;
  }

  h2 {
    font-size: 26px;
  }

  p {
    font-size: 14px;
    text-align: justify;
  }

  /* spacing */
  .spacer-double {
    height: 40px;
  }
}


/* ===================== */
/* SMALL MOBILE (<480px) */
/* ===================== */
@media (max-width: 480px) {

  h2 {
    font-size: 26px;
  }

  p {
    font-size: 13px;
  }
}
/* ===================== */
/* TABLET (768px–1024px) */
/* ===================== */
@media (min-width: 768px) and (max-width: 1024px) {

  /* 🔥 FIX: allow wrapping so content is visible */
  .row.align-items-center {
    flex-wrap: wrap !important;
  }
    .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* ensure both columns take full width if needed */
  .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* subtitle center */
  .subtitle {
    text-align: left;
    padding-top: 0px;
    width: 100%;
  }

  /* title spacing */
  h2 {
    padding-top: 15px;
    text-align:left;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .process-clean {
        padding: 100px 20px;
    }

    .process-clean .process-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .process-clean h2 {
        font-size: 48px;
        text-align: center;
    }

    .process-clean .subtitle {
        font-size: 15px;
        margin-bottom: 25px;
        text-align: center;
    }
}


@media (max-width: 767px) {
    .process-clean {
        padding: 40px 15px;
    }

    .process-clean h2 {
        font-size: 26px;
    }

    .process-clean .sub {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .process-clean .process-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .process-clean .content span {
        font-size: 18px;
    }

    .process-clean .content h3 {
        font-size: 20px;
    }

    .process-clean .content p {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .solar-flow {
        padding: 40px 15px;
    }

    .solar-flow h2 {
        font-size: 36px;
    }

    .solar-flow .sub {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .solar-flow .step {
        flex-direction: column !important;
        text-align: center;
        gap: 15px;
    }

    .solar-flow .card {
        width: 100%;
        text-align: center;
        padding: 15px;
    }

    .solar-flow .icon {
        width: 50px;
        height: 50px;
        margin: 0 auto;
    }

    .solar-flow .card h3 {
        font-size: 20px;
        text-align: left;
    }

    .solar-flow .card p {
        font-size: 14px;
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .solar-flow {
        padding: 100px 20px;
    }

    .solar-flow .step {
        gap: 20px;
    }

    .solar-flow .card {
        width: 100%;
        padding: 18px;
    }

    .solar-flow h2 {
        font-size: 36px;
        text-align: center;
    }

    .solar-flow .subtitle{
        font-size: 16px;
        margin-bottom: 25px;
        text-align: center;
    }
}



/* 📱 Mobile Responsive */
@media (max-width: 768px) {

  .flow::before {
    left: 25px;
  }

  .step {
    flex-direction: column;
    align-items: flex-start;
    padding-left: 60px;
  }

  .step.left,
  .step.right {
    justify-content: flex-start;
  }

  .card {
    width: 100%;
  }

  .icon {
    left: 25px;
    transform: translateX(-50%);
  }

  .solar-flow h2 {
    font-size: 36px;
  }

  .solar-flow .sub {
    font-size: 16px;
  }
}




@media (max-width: 425px) {

  .flow::before {
    left: 20px; /* timeline line on left */
  }

  .step {
    flex-direction: column;
    align-items: flex-end; /* push everything to right */
    padding-left: 50px;
    margin-bottom: 40px;
  }


  .step.left,
  .step.right {
    justify-content: flex-end;
  }

  .card {
    width: 100%;
    text-align: right; /* content right aligned */
  }

  .icon {
    left: 20px; /* keep icon on line */
    transform: translateX(-50%);
  }
}



/* ========================= */
/* 📱 TABLET (≤768px) */
/* ========================= */
@media (max-width: 768px) {

  #subheader {
    padding: 90px 0;
    text-align: left;
  }

  #subheader h1 {
    font-size: 32px;
  }

  #subheader h5 {
    font-size: 16px;
  }

  #subheader .crumb {
    justify-content: left;
    flex-wrap: wrap;
  }

  .border-bottom {
    margin: 15px auto;
    width: 60%;
  }
}

/* ========================= */
/* 📱 MOBILE (≤425px) */
/* ========================= */
@media (max-width: 425px) {

  #subheader {
    padding: 70px 15px;
  }

  #subheader h1 {
    font-size: 24px;
    line-height: 1.3;
  }

  #subheader h5 {
    font-size: 14px;
  }

  #subheader .crumb {
    font-size: 13px;
    gap: 6px;
  }

  #subheader .crumb li::after {
    margin-left: 6px;
  }

  .border-bottom {
    width: 50%;
  }
}



@media (max-width: 768px) {
    .row.g-4.align-items-center {
        flex-direction: column;
    }
       @media (max-width: 768px) {
    .ps-lg-3 h2 {
        text-align: center;
    }
}

    .row.g-4.align-items-center > div {
        width: 100%;
        max-width: 100%;
    }

    .ps-lg-3 {
        padding-left: 0 !important;
        margin-top: 20px;
    }
}
@media (max-width: 768px) {
    .relative img {
        width: 80% !important;   /* reduce width */
        height: 250px;           /* reduce height */
        object-fit: cover;
        margin: 0 auto;          /* center the image */
        display: block;
    }
}
@media (max-width: 768px) {
    .relative img.w-40 {
        width: 50% !important;  /* reduce width */
        height: 200px;          /* reduce height */
        object-fit: cover;
    }
}


@media (max-width: 768px) {


    .why-solar .solar-image img {
        width: 100% !important;   /* keep full width */
        height: 450px;            /* reduce only height */
        object-fit: cover;        /* crop instead of shrink */
        display: block;
    }
     /* Make container full width */
    .why-solar .solar-image {
        width: 100%;
    }

    /* 2x2 grid */
    .why-solar .solar-points {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    /* Center each point content */
    .why-solar .point {
        display: flex;
        flex-direction: column;   /* stack number + text */
        align-items: center;      /* center horizontally */
        text-align: center;       /* center text */
        gap: 8px;
    }

    /* Center the number (01,02,03,04) */
    .why-solar .point span {
        display: block;
        text-align: center;
    }
}


@media (max-width: 768px) {

    .why-solar .subtitle,
    .why-solar .solar-content h2 {
        text-align: center !important;
    }

}

@media (max-width: 768px) {

    .why-solar .point p {
        text-align: center;
    }

}


@media (max-width: 768px) {

    /* Center heading content */
    .solar-flow .subtitle,
    .solar-flow h2,
    .solar-flow .sub {
        text-align: center;
    }

    /* Stack all steps */
    .solar-flow .flow {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* Each step in one row */
    .solar-flow .step {
        display: flex;
        flex-direction: row;   /* icon + content in same line */
        align-items: center;
        gap: 15px;
    }

    /* Remove left/right differences */
    .solar-flow .step.left,
    .solar-flow .step.right {
        justify-content: flex-start;
    }

    /* Icon styling */
    .solar-flow .icon {
        flex-shrink: 0;
        font-size: 20px;
    }

    /* Card takes remaining space */
    .solar-flow .card {
        width: 100%;
    }

}

@media (max-width: 768px) {

    .solar-flow .flow {
        position: relative;
    }

    .solar-flow .flow::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;                 /* move to center */
        transform: translateX(-50%);
        width: 2px;
        background: green;         /* or your line color */
    }

}
@media (max-width: 768px) {

    .solar-flow .flow::before {
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

}


@media (max-width: 768px) {

    /* Remove top spacing from first step */
    .solar-flow .step:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Make sure icon sits exactly on top */
    .solar-flow .step:first-child .icon {
        top: 0;
    }

}

/* Stack the points vertically only for 320px screens */
@media (max-width: 320px) {

  .why-solar .solar-points {
    display: flex;
    flex-direction: column; /* stack vertically */
    gap: 15px; /* spacing between cards */
  }

  .why-solar .solar-points .point {
    flex-direction: column; /* number above text */
    align-items: flex-start;
    padding: 10px;
    background-color: #f9f9f9; /* optional card background */
    border-radius: 8px;       /* optional rounded corners */
    box-shadow: 0 2px 6px rgba(0,0,0,0.1); /* subtle shadow */
  }

  .why-solar .solar-points .point span {
    font-size: 1.1rem;
    margin-bottom: 8px; /* space between number and text */
  }

  .why-solar .solar-points .point div h4 {
    font-size: 1rem;
    margin-bottom: 5px;
  }

  .why-solar .solar-points .point div p {
    font-size: 0.875rem;
    margin: 0;
  }
}
/* Stack solar points vertically on small screens (320px, 375px, 425px) */
@media (max-width: 425px) {

  .why-solar .solar-points {
    display: flex;
    flex-direction: column; /* stack cards vertically */
    gap: 15px; /* spacing between cards */
  }

  .why-solar .solar-points .point {
    flex-direction: column; /* number above text */
    align-items: flex-start;
    padding: 12px;
    background-color: #f9f9f9; /* optional card background */
    border-radius: 8px;       /* optional rounded corners */
    box-shadow: 0 2px 6px rgba(0,0,0,0.1); /* subtle shadow */
  }

  .why-solar .solar-points .point span {
    font-size: 1.1rem;
    margin-bottom: 8px; /* space between number and text */
    font-weight: bold;
    
  }

  .why-solar .solar-points .point div h4 {
    font-size: 1rem;
    margin-bottom: 5px;
  }

  .why-solar .solar-points .point div p {
    font-size: 16px;
    margin: 0;
  }
}


/* Stack solar points and center number on small screens */
@media (max-width: 425px) {

  .why-solar .solar-points {
    display: flex;
    flex-direction: column; /* stack cards vertically */
    gap: 15px; /* spacing between cards */
  }

  .why-solar .solar-points .point {
    display: flex;
    flex-direction: column; /* stack number above text */
    align-items: center;    /* center everything horizontally */
    text-align: center;     /* center the text */
    padding: 12px;
    background-color: #f9f9f9; /* optional card background */
    border-radius: 8px;       /* rounded corners */
    box-shadow: 0 2px 6px rgba(0,0,0,0.1); /* subtle shadow */
  }

  .why-solar .solar-points .point span {
    font-size: 1.2rem;
    font-weight: bold;
    
    margin-bottom: 10px; /* space between number and text */
    display: inline-block; /* ensures it centers properly */
  }

  .why-solar .solar-points .point div h4 {
    font-size: 20px;
    margin-bottom: 5px;
  }

  .why-solar .solar-points .point div p {
    font-size: 16rpx;
    margin: 0;
  }
}

