/* =========================================
   CALL + WHATSAPP ANIMATED BUTTONS
========================================= */

.nav-cta .btn-call,
.hero-actions .btn-call,
.contact-actions .btn-call {
    background: linear-gradient(135deg, #0878d1, #0057a8);
    color: #ffffff ;
    border: 2px solid #0878d1;
    box-shadow: 0 6px 18px rgba(0, 102, 204, 0.30);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

/* Blue CALL hover */
.nav-cta .btn-call:hover,
.hero-actions .btn-call:hover,
.contact-actions .btn-call:hover {
    transform: translateY(-3px) scale(1.04);
    background: linear-gradient(135deg, #0b8bea, #0062b8);
    box-shadow: 0 10px 25px rgba(0, 102, 204, 0.45);
}

/* Call icon animation */
.btn-call i {
    animation: callRing 1.5s infinite;
    display: inline-block;
}

@keyframes callRing {

    0%,
    100% {
        transform: rotate(0deg);
    }

    10% {
        transform: rotate(-15deg);
    }

    20% {
        transform: rotate(15deg);
    }

    30% {
        transform: rotate(-12deg);
    }

    40% {
        transform: rotate(12deg);
    }

    50% {
        transform: rotate(0deg);
    }
}


/* =========================================
   WHATSAPP BUTTON
========================================= */

.nav-cta .btn-primary,
.hero-actions .btn-primary,
.contact-actions .btn-primary,
.btn-whatsapp {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #25D366, #128C7E);
    color: #fff ;
    border: 2px solid #25D366;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    transition: all 0.3s ease;
}

/* WhatsApp hover */
.nav-cta .btn-primary:hover,
.hero-actions .btn-primary:hover,
.contact-actions .btn-primary:hover,
.btn-whatsapp:hover {
    transform: translateY(-3px) scale(1.04);
    background: linear-gradient(135deg, #2eea73, #0b806f);
    box-shadow: 0 10px 28px rgba(37, 211, 102, 0.50);
}

/* WhatsApp icon animation */
.btn-primary .fa-whatsapp,
.btn-whatsapp .fa-whatsapp {
    animation: whatsappPulse 1.5s infinite;
    display: inline-block;
}

@keyframes whatsappPulse {

    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.18);
    }

    100% {
        transform: scale(1);
    }
}


/* =========================================
   SHINE EFFECT
========================================= */

.nav-cta .btn-call::before,
.nav-cta .btn-primary::before,
.hero-actions .btn-call::before,
.hero-actions .btn-primary::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.35),
        transparent
    );

    transform: skewX(-20deg);
    animation: buttonShine 3s infinite;
}

@keyframes buttonShine {

    0% {
        left: -120%;
    }

    45% {
        left: 130%;
    }

    100% {
        left: 130%;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .nav-cta {
        gap: 8px;
    }

    .nav-cta .btn {
        padding: 9px 14px;
        font-size: 12px;
    }

    .nav-cta .btn-call,
    .nav-cta .btn-primary {
        min-width: 90px;
        justify-content: center;
    }
}
/* =========================================================
   GLOBAL
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f5f9fc;
    color: #172b3a;
}

a {
    text-decoration: none;
}


/* =========================================================
   MAIN SECTION
========================================================= */

.solar-choice {
    padding: 80px 20px;
    background:
        radial-gradient(circle at 5% 5%, #fff1b8 0, transparent 25%),
        radial-gradient(circle at 95% 15%, #d9f5ff 0, transparent 25%),
        linear-gradient(180deg, #f9fcff, #eef6fa);
}


/* =========================================================
   HEADER
========================================================= */

.choice-heading {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 55px;
}

.choice-heading .top-label {
    display: inline-block;
    padding: 9px 20px;
    border-radius: 50px;
    background: #fff3cd;
    color: #a16207;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.choice-heading h1 {
    margin: 18px 0 12px;
    font-size: clamp(32px, 5vw, 50px);
    line-height: 1.15;
    color: #123047;
    font-weight: 800;
}

.choice-heading p {
    color: #64748b;
    font-size: 17px;
    line-height: 1.6;
}


/* =========================================================
   CARDS GRID
========================================================= */

.solar-choice-grid {
    max-width: 1250px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}


/* =========================================================
   CARD
========================================================= */

.choice-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
    box-shadow: 0 15px 45px rgba(15, 23, 42, .09);
    transition: all .35s ease;
}

.choice-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 28px 65px rgba(15, 23, 42, .17);
}


/* Top line */

.choice-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
}


/* =========================================================
   CARD COLORS
========================================================= */

/* ON GRID */

.ongrid {
    border-color: #fde68a;
}

.ongrid::before {
    background: linear-gradient(90deg, #f59e0b, #f97316);
}

.ongrid .big-icon {
    background: #fff4c7;
}

.ongrid .card-banner small {
    color: #b77900;
}

.ongrid .choice-btn {
    background: linear-gradient(135deg, #f59e0b, #f97316);
}


/* OFF GRID */

.offgrid {
    border-color: #86efac;
}

.offgrid::before {
    background: linear-gradient(90deg, #16a34a, #059669);
}

.offgrid .big-icon {
    background: #dcfce7;
}

.offgrid .card-banner small {
    color: #15803d;
}

.offgrid .choice-btn {
    background: linear-gradient(135deg, #16a34a, #059669);
}


/* HYBRID */

.hybrid {
    border-color: #93c5fd;
}

.hybrid::before {
    background: linear-gradient(90deg, #2563eb, #7c3aed);
}

.hybrid .big-icon {
    background: #dbeafe;
}

.hybrid .card-banner small {
    color: #2563eb;
}

.hybrid .choice-btn {
    background: linear-gradient(135deg, #2563eb, #7c3aed);
}


/* =========================================================
   CARD HEADER
========================================================= */

.card-banner {
    display: flex;
    align-items: center;
    gap: 16px;
}

.big-icon {
    width: 68px;
    height: 68px;
    min-width: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    font-size: 35px;
}

.card-banner small {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
}

.card-banner h2 {
    margin-top: 5px;
    font-size: 27px;
    color: #172b3a;
}


/* =========================================================
   SYSTEM FLOW
========================================================= */

.visual-system {
    margin: 30px 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
}

.energy-box {
    width: 72px;
    height: 78px;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.03);
}

.energy-box small {
    margin-top: 5px;
    font-size: 10px;
    font-weight: 700;
    color: #475569;
}

.solar-box {
    background: #fff7cc;
}

.home-box {
    background: #e0f2fe;
}

.grid-box {
    background: #ede9fe;
}

.battery-box {
    background: #dcfce7;
}

.flow-arrow {
    color: #94a3b8;
    font-size: 22px;
    font-weight: bold;
}


/* =========================================================
   BATTERY MESSAGE
========================================================= */

.battery-status {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
}

.battery-status .battery-icon {
    font-size: 27px;
}

.battery-status b {
    display: block;
    font-size: 14px;
}

.battery-status small {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.4;
}

.no-battery {
    background: #fff7ed;
}

.no-battery b {
    color: #c2410c;
}

.battery-yes {
    background: #ecfdf5;
}

.battery-yes b {
    color: #15803d;
}


/* =========================================================
   EASY EXPLANATION
========================================================= */

.easy-text {
    margin: 18px 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.65;
    min-height: 70px;
}


/* =========================================================
   BENEFITS
========================================================= */

.benefit-title {
    padding-top: 18px;
    margin-bottom: 11px;
    border-top: 1px solid #e5e7eb;
    font-size: 15px;
    font-weight: 800;
    color: #172b3a;
}

.benefits-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 11px;
    border-radius: 13px;
    background: #f8fafc;
    transition: .25s ease;
}

.benefit-item:hover {
    transform: translateX(5px);
    background: #f1f5f9;
}

.benefit-icon {
    width: 30px;
    min-width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: 16px;
}

.benefit-text {
    flex: 1;
}

.benefit-text b {
    display: block;
    color: #334155;
    font-size: 13px;
}

.benefit-text small {
    display: block;
    color: #64748b;
    font-size: 10px;
    margin-top: 2px;
}


/* Benefit colors */

.ongrid .benefit-item {
    border-left: 3px solid #f59e0b;
}

.ongrid .benefit-icon {
    background: #fff3cd;
}

.offgrid .benefit-item {
    border-left: 3px solid #16a34a;
}

.offgrid .benefit-icon {
    background: #dcfce7;
}

.hybrid .benefit-item {
    border-left: 3px solid #2563eb;
}

.hybrid .benefit-icon {
    background: #dbeafe;
}


/* =========================================================
   HYBRID COMBINATION
========================================================= */

.hybrid-combination {
    margin: 18px 0;
    padding: 14px;
    border-radius: 16px;
    background: #eff6ff;
    text-align: center;
    color: #1d4ed8;
    font-size: 13px;
    font-weight: 800;
}

.hybrid-combination span {
    margin: 0 5px;
    color: #94a3b8;
}


/* =========================================================
   BEST FOR
========================================================= */

.best-for {
    margin-top: 18px;
    padding: 14px;
    border-radius: 15px;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    line-height: 1.5;
}

.best-for strong {
    display: block;
    margin-bottom: 3px;
    color: #172b3a;
}


/* =========================================================
   BUTTON
========================================================= */

.choice-btn {
    display: block;
    width: 100%;
    margin-top: 20px;
    padding: 15px;
    border-radius: 14px;
    text-align: center;
    color: white;
    font-size: 14px;
    font-weight: 800;
    transition: .3s;
}

.choice-btn:hover {
    transform: scale(1.025);
    filter: brightness(.96);
}


/* =========================================================
   EASY GUIDE
========================================================= */

.easy-guide {
    max-width: 1100px;
    margin: 55px auto 0;
    padding: 32px;
    background: white;
    border-radius: 26px;
    box-shadow: 0 12px 40px rgba(15,23,42,.07);
}

.easy-guide-heading {
    text-align: center;
    margin-bottom: 28px;
}

.easy-guide-heading h3 {
    font-size: 24px;
    color: #172b3a;
}

.easy-guide-heading p {
    margin-top: 6px;
    color: #64748b;
    font-size: 14px;
}

.guide-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.guide-item {
    padding: 22px 15px;
    border-radius: 18px;
    text-align: center;
}

.guide-item:nth-child(1) {
    background: #fff8e1;
}

.guide-item:nth-child(2) {
    background: #ecfdf5;
}

.guide-item:nth-child(3) {
    background: #eff6ff;
}

.guide-icon {
    display: block;
    font-size: 34px;
    margin-bottom: 10px;
}

.guide-item b {
    display: block;
    color: #334155;
    font-size: 14px;
}

.guide-item small {
    display: block;
    margin-top: 7px;
    font-weight: 800;
    font-size: 12px;
}

.guide-item:nth-child(1) small {
    color: #d97706;
}

.guide-item:nth-child(2) small {
    color: #15803d;
}

.guide-item:nth-child(3) small {
    color: #2563eb;
}


/* =========================================================
   COMPARISON TABLE
========================================================= */

.comparison-section {
    max-width: 1100px;
    margin: 55px auto 0;
}

.comparison-section h3 {
    text-align: center;
    font-size: 25px;
    margin-bottom: 22px;
}

.table-wrapper {
    overflow-x: auto;
    background: white;
    border-radius: 22px;
    box-shadow: 0 12px 40px rgba(15,23,42,.07);
}

.comparison-table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
}

.comparison-table th,
.comparison-table td {
    padding: 15px;
    text-align: center;
    border-bottom: 1px solid #e5e7eb;
    font-size: 13px;
}

.comparison-table th {
    color: white;
    font-size: 14px;
}

.comparison-table th:first-child {
    background: #334155;
    text-align: left;
}

.ongrid-head {
    background: #f59e0b;
}

.offgrid-head {
    background: #16a34a;
}

.hybrid-head {
    background: #2563eb;
}

.comparison-table td:first-child {
    text-align: left;
    font-weight: 700;
    color: #334155;
    background: #f8fafc;
}

.yes {
    color: #16a34a;
    font-weight: 800;
}

.no {
    color: #ef4444;
    font-weight: 800;
}

.medium {
    color: #d97706;
    font-weight: 800;
}


/* =========================================================
   DISCLAIMER
========================================================= */

.solar-note {
    max-width: 850px;
    margin: 25px auto 0;
    text-align: center;
    color: #64748b;
    font-size: 11px;
    line-height: 1.6;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width: 1000px) {

    .solar-choice-grid {
        grid-template-columns: 1fr 1fr;
    }

    .hybrid {
        grid-column: span 2;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width: 650px) {

    .solar-choice {
        padding: 55px 14px;
    }

    .solar-choice-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .hybrid {
        grid-column: auto;
    }

    .choice-card {
        padding: 22px;
        border-radius: 23px;
    }

    .card-banner h2 {
        font-size: 24px;
    }

    .big-icon {
        width: 60px;
        min-width: 60px;
        height: 60px;
    }

    .visual-system {
        gap: 3px;
    }

    .energy-box {
        width: 62px;
        height: 68px;
        font-size: 25px;
    }

    .flow-arrow {
        font-size: 17px;
    }

    .guide-items {
        grid-template-columns: 1fr;
    }

    .easy-guide {
        padding: 23px;
    }

    .choice-heading {
        margin-bottom: 35px;
    }

    .choice-heading h1 {
        font-size: 31px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width: 380px) {

    .energy-box {
        width: 55px;
        height: 64px;
        font-size: 22px;
    }

    .energy-box small {
        font-size: 9px;
    }

    .flow-arrow {
        font-size: 14px;
    }

}



/* ================================
   SOLAR PRODUCT GALLERY
   ================================ */
/* =========================================================
   AMAZON STYLE PRODUCT SECTION
========================================================= */

#products {
    padding: 50px 0;
    background: #f5f5f5;
    overflow: hidden;
}

#products .section-head {
    text-align: center;
    margin-bottom: 30px;
}

#products .section-kicker {
    display: inline-block;
    padding: 7px 15px;
    border-radius: 20px;
    background: #e7f7ee;
    color: #087a43;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#products .section-head h2 {
    margin: 10px 0 0;
    color: #172b22;
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 800;
}


/* =========================================================
   PRODUCT SCROLL AREA
========================================================= */

#products .product-grid {
    display: flex;
    gap: 18px;

    overflow-x: auto;
    overflow-y: hidden;

    padding: 8px 5px 25px;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
}

#products .product-grid::-webkit-scrollbar {
    display: none;
}


/* =========================================================
   AMAZON PRODUCT CARD
========================================================= */

#products .product-card {
    position: relative;

    flex: 0 0 280px;
    width: 280px;
    min-width: 280px;

    background: #ffffff;

    border: 1px solid #ddd;

    border-radius: 6px;

    overflow: hidden;

    scroll-snap-align: start;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;

    display: flex;
    flex-direction: column;
}


/* Desktop hover */

#products .product-card:hover {
    transform: translateY(-4px);

    border-color: #c7c7c7;

    box-shadow:
        0 8px 22px rgba(0,0,0,.12);
}


/* =========================================================
   PRODUCT IMAGE AREA
========================================================= */

#products .product-media {

    width: 100%;

    height: 255px;

    background: #ffffff;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    position: relative;

    padding: 12px;
}


/* IMPORTANT:
   Uploaded image will remain completely visible
*/

#products .product-media img {

    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;

    object-position: center;

    transition: transform .35s ease;
}


/* Slight zoom */

#products .product-card:hover
.product-media img {
    transform: scale(1.04);
}


/* =========================================================
   PRODUCT BODY
========================================================= */

#products .product-body {

    padding: 15px 16px 17px;

    display: flex;

    flex-direction: column;

    flex: 1;
}


/* Product title */

#products .product-body h3 {

    margin: 0 0 7px;

    color: #111;

    font-size: 18px;

    font-weight: 700;

    line-height: 1.3;
}


/* Description */

#products .product-body p {

    margin: 0 0 12px;

    color: #565959;

    font-size: 13px;

    line-height: 1.5;

    display: -webkit-box;

    -webkit-line-clamp: 3;

    -webkit-box-orient: vertical;

    overflow: hidden;
}


/* =========================================================
   PRODUCT TAG
========================================================= */

#products .product-tag {

    display: inline-flex;

    align-items: center;

    width: fit-content;

    padding: 5px 9px;

    margin-top: auto;

    background: #e7f7ee;

    color: #087a43;

    border: 1px solid #c9e8d5;

    border-radius: 4px;

    font-size: 11px;

    font-weight: 700;
}


/* =========================================================
   PRODUCT BUTTON
========================================================= */

#products .product-btn {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 100%;

    min-height: 38px;

    margin-top: 12px;

    padding: 8px 12px;

    border-radius: 20px;

    background: #ffd814;

    border: 1px solid #fcd200;

    color: #111;

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;

    transition: .2s ease;
}

#products .product-btn:hover {

    background: #f7ca00;

    transform: translateY(-1px);
}


/* =========================================================
   OPTIONAL SECONDARY BUTTON
========================================================= */

#products .product-btn.secondary {

    background: #ffa41c;

    border-color: #ff9900;
}

#products .product-btn.secondary:hover {

    background: #ff9900;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    #products {
        padding: 45px 0;
    }

    #products .product-grid {
        gap: 16px;
    }

    #products .product-card {

        flex: 0 0 260px;

        width: 260px;

        min-width: 260px;
    }

    #products .product-media {
        height: 235px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    #products {
        padding: 35px 0;
    }

    #products .section-head {
        margin-bottom: 22px;
    }

    #products .section-head h2 {
        font-size: 27px;
    }

    #products .product-grid {

        gap: 12px;

        padding-left: 12px;

        padding-right: 12px;

        scroll-padding-left: 12px;
    }

    #products .product-card {

        flex: 0 0 215px;

        width: 215px;

        min-width: 215px;

        border-radius: 5px;
    }

    #products .product-media {

        height: 200px;

        padding: 10px;
    }

    #products .product-body {

        padding: 12px;
    }

    #products .product-body h3 {

        font-size: 16px;
    }

    #products .product-body p {

        font-size: 12px;

        line-height: 1.45;

        -webkit-line-clamp: 2;
    }

    #products .product-tag {

        font-size: 10px;

        padding: 4px 7px;
    }

    #products .product-btn {

        min-height: 34px;

        font-size: 12px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    #products .product-card {

        flex: 0 0 190px;

        width: 190px;

        min-width: 190px;
    }

    #products .product-media {

        height: 175px;
    }

    #products .product-body {

        padding: 11px;
    }

    #products .product-body h3 {

        font-size: 15px;
    }

    #products .product-body p {

        font-size: 11px;
    }
}


/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none) {

    #products .product-card:hover {

        transform: none;

        box-shadow: none;
    }

    #products .product-card:hover
    .product-media img {

        transform: none;
    }
}

/* =====================================
   SOLAR SERVICES
===================================== */

.solar-services{
    background:
        linear-gradient(
            180deg,
            #f7fbf8 0%,
            #ffffff 100%
        );
}


/* =====================================
   GRID
===================================== */

.service-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
    margin-top:35px;
}


/* =====================================
   CARD
===================================== */

.service-card{
    position:relative;
    overflow:hidden;

    background:#ffffff;

    border:1px solid #dcebe2;

    border-radius:22px;

    box-shadow:
        0 8px 25px rgba(15,53,34,.07);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.service-card:hover{
    transform:translateY(-8px);

    border-color:#9bd0b1;

    box-shadow:
        0 18px 42px rgba(15,53,34,.15);
}


/* =====================================
   IMAGE BOX
===================================== */

.service-image{
    position:relative;

    width:100%;
    height:185px;

    overflow:hidden;

    background:#eaf5ee;
}

.service-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transition:
        transform .5s ease,
        filter .4s ease;
}

.service-card:hover .service-image img{
    transform:scale(1.08);
    filter:brightness(.85);
}


/* =====================================
   IMAGE LABEL
===================================== */

.service-label{
    position:absolute;

    top:14px;
    left:14px;

    padding:6px 12px;

    border-radius:30px;

    background:#087a43;

    color:#ffffff;

    font-size:10px;

    font-weight:900;

    letter-spacing:1px;

    box-shadow:
        0 5px 15px rgba(0,0,0,.18);
}


/* Different colours */

.service-card:nth-child(2) .service-label{
    background:#087da8;
}

.service-card:nth-child(3) .service-label{
    background:#7552c7;
}

.service-card:nth-child(4) .service-label{
    background:#e58a00;
}


/* =====================================
   CONTENT
===================================== */

.service-content{
    position:relative;

    padding:0 20px 22px;
}


/* =====================================
   ICON
===================================== */

.service-icon{
    position:relative;

    width:56px;
    height:56px;

    display:grid;
    place-items:center;

    margin-top:-28px;
    margin-bottom:14px;

    border-radius:17px;

    background:#ffffff;

    border:4px solid #ffffff;

    color:#087a43;

    font-size:23px;

    box-shadow:
        0 7px 20px rgba(15,53,34,.15);

    z-index:3;

    transition:.3s ease;
}

.service-card:hover .service-icon{
    color:#ffffff;

    background:
        linear-gradient(
            135deg,
            #087a43,
            #18a05b
        );

    transform:
        scale(1.08)
        rotate(-4deg);
}


/* =====================================
   TITLE
===================================== */

.service-content h3{
    font-family:Poppins,sans-serif;

    font-size:19px;

    color:#153426;

    line-height:1.3;

    margin:0 0 8px;
}


/* =====================================
   DESCRIPTION
===================================== */

.service-content p{
    color:#68776e;

    font-size:13px;

    line-height:1.65;

    min-height:64px;

    margin:0;
}


/* =====================================
   LINK
===================================== */

.service-link{
    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:16px;

    color:#087a43;

    text-decoration:none;

    font-size:13px;

    font-weight:900;

    transition:.25s ease;
}

.service-link i{
    transition:.25s ease;
}

.service-link:hover{
    color:#e58a00;
}

.service-link:hover i{
    transform:translateX(5px);
}


/* =====================================
   BOTTOM GREEN LINE
===================================== */

.service-card::after{
    content:"";

    position:absolute;

    bottom:0;
    left:0;

    width:100%;
    height:4px;

    background:
        linear-gradient(
            90deg,
            #087a43,
            #18a05b,
            #ffb400
        );

    transform:scaleX(0);

    transform-origin:left;

    transition:.3s ease;
}

.service-card:hover::after{
    transform:scaleX(1);
}


/* =====================================
   TABLET
===================================== */

@media(max-width:1050px){

    .service-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


/* =====================================
   MOBILE
===================================== */

@media(max-width:650px){

    .service-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .service-image{
        height:210px;
    }

    .service-content{
        padding:0 18px 21px;
    }

    .service-content h3{
        font-size:18px;
    }

    .service-content p{
        font-size:13px;
        min-height:auto;
    }

}
/* =========================================
   QUICK ACTIONS - PREMIUM COLOR UI
========================================= */

.quick-actions{
    position:relative;
    padding:28px 0;
    background:linear-gradient(
        135deg,
        #f4fbf7 0%,
        #ffffff 50%,
        #f8fbff 100%
    );
    overflow:hidden;
}

.action-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}


/* =========================================
   ACTION CARD
========================================= */

.action-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:15px;

    min-height:105px;

    padding:18px 20px;

    border-radius:20px;

    text-decoration:none;

    color:#ffffff;

    overflow:hidden;

    box-shadow:
        0 10px 30px rgba(15,53,34,.12);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


/* Shine effect */

.action-card::before{
    content:"";

    position:absolute;

    width:140px;
    height:140px;

    right:-55px;
    top:-55px;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    transition:.4s ease;
}

.action-card:hover::before{
    transform:scale(1.5);
}


/* Bottom glow */

.action-card::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:4px;

    background:rgba(255,255,255,.45);

    transform:scaleX(0);

    transform-origin:left;

    transition:.3s ease;
}

.action-card:hover::after{
    transform:scaleX(1);
}


/* Hover */

.action-card:hover{
    transform:translateY(-7px);

    box-shadow:
        0 18px 40px rgba(15,53,34,.20);
}


/* =========================================
   DIFFERENT CARD COLORS
========================================= */

.action-card:nth-child(1){
    background:
        linear-gradient(
            135deg,
            #087a43,
            #18a05b
        );
}

.action-card:nth-child(2){
    background:
        linear-gradient(
            135deg,
            #0b6fa4,
            #159bd3
        );
}

.action-card:nth-child(3){
    background:
        linear-gradient(
            135deg,
            #e58a00,
            #f5b400
        );
}

.action-card:nth-child(4){
    background:
        linear-gradient(
            135deg,
            #6941c6,
            #8b5cf6
        );
}


/* =========================================
   ICON
========================================= */

.action-icon{
    position:relative;

    z-index:2;

    width:58px;
    height:58px;

    min-width:58px;

    display:grid;
    place-items:center;

    border-radius:17px;

    background:rgba(255,255,255,.18);

    border:1px solid rgba(255,255,255,.30);

    font-size:24px;

    color:#ffffff;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.25),
        0 6px 15px rgba(0,0,0,.10);

    transition:.3s ease;
}

.action-card:hover .action-icon{
    background:#ffffff;
    transform:rotate(-5deg) scale(1.08);
}

.action-card:nth-child(1):hover .action-icon{
    color:#087a43;
}

.action-card:nth-child(2):hover .action-icon{
    color:#0b6fa4;
}

.action-card:nth-child(3):hover .action-icon{
    color:#e58a00;
}

.action-card:nth-child(4):hover .action-icon{
    color:#6941c6;
}


/* =========================================
   TEXT
========================================= */

.action-card > span:last-child{
    position:relative;
    z-index:2;

    display:flex;
    flex-direction:column;

    gap:4px;
}

.action-card strong{
    font-family:Poppins,sans-serif;

    font-size:17px;

    line-height:1.25;

    color:#ffffff;
}

.action-card > span:last-child > span{
    color:rgba(255,255,255,.85);

    font-size:12px;

    line-height:1.4;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:1000px){

    .action-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:600px){

    .quick-actions{
        padding:20px 0;
    }

    .action-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .action-card{
        min-height:82px;

        padding:14px 16px;

        border-radius:17px;
    }

    .action-icon{
        width:52px;
        height:52px;

        min-width:52px;

        border-radius:15px;

        font-size:21px;
    }

    .action-card strong{
        font-size:16px;
    }

    .action-card > span:last-child > span{
        font-size:11.5px;
    }

}

/* =========================================
   SOLAR PROCESS FLOW
========================================= */

.solar-process{
    padding:10px 0;
    background:#f5faf7;
    overflow:hidden;
}

.process-container{
    width:min(1200px,92%);
    margin:auto;
}

.process-heading{
    text-align:center;
    max-width:720px;
    margin:0 auto 65px;
}

.process-label{
    display:inline-block;
    color:#087a43;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
    margin-bottom:10px;
}

.process-heading h2{
    font-family:Poppins,sans-serif;
    font-size:36px;
    color:#153426;
    margin:0 0 10px;
}

.process-heading p{
    color:#68776e;
    font-size:14px;
    line-height:1.7;
}


/* =========================
   TIMELINE
========================= */

.process-timeline{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    position:relative;
}

/* Connecting line */

.process-timeline::before{
    content:"";
    position:absolute;
    top:38px;
    left:7%;
    right:7%;
    height:3px;
    background:linear-gradient(
        90deg,
        #087a43,
        #18a05b,
        #ffb400
    );
    border-radius:10px;
}


/* Item */

.process-item{
    position:relative;
    z-index:2;
    padding:0 8px;
    text-align:center;
}


/* Top */

.process-top{
    position:relative;
    height:82px;
    display:flex;
    justify-content:center;
    align-items:center;
}


/* Icon */

.step-icon{
    width:76px;
    height:76px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#ffffff;

    border:6px solid #e5f3ea;

    color:#087a43;

    font-size:25px;

    box-shadow:
        0 8px 25px rgba(15,53,34,.12),
        0 0 0 5px #f5faf7;

    transition:.3s ease;
}

.process-item:hover .step-icon{
    background:linear-gradient(
        135deg,
        #087a43,
        #18a05b
    );

    color:#ffffff;

    transform:translateY(-7px);

    box-shadow:
        0 15px 35px rgba(8,122,67,.25),
        0 0 0 6px rgba(24,160,91,.10);
}


/* Number */

.step-number{
    position:absolute;

    top:0;
    right:calc(50% - 42px);

    width:25px;
    height:25px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#ffb400;
    color:#172319;

    font-size:9px;
    font-weight:900;

    border:3px solid #ffffff;

    z-index:3;
}


/* Info */

.process-info{
    margin-top:18px;
}

.process-info h3{
    font-family:Poppins,sans-serif;
    font-size:17px;
    color:#153426;
    margin-bottom:8px;
}

.process-info p{
    color:#68776e;
    font-size:12px;
    line-height:1.6;
    margin:0;
}


/* =========================
   BOTTOM CTA
========================= */

.process-bottom{
    margin:60px auto 0;

    max-width:950px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:25px;

    padding:22px 28px;

    background:#ffffff;

    border:1px solid #dcebe2;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(15,53,34,.07);
}

.process-bottom strong{
    display:block;

    font-family:Poppins,sans-serif;

    font-size:20px;

    color:#153426;
}

.process-bottom span{
    display:block;

    margin-top:3px;

    color:#68776e;

    font-size:13px;
}

.process-actions{
    display:flex;
    gap:10px;
    flex-shrink:0;
}

.process-call,
.process-whatsapp{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:11px 18px;

    border-radius:10px;

    text-decoration:none;

    font-size:13px;
    font-weight:800;

    transition:.25s ease;
}

.process-call{
    background:#eef8f2;
    color:#087a43;
}

.process-whatsapp{
    background:#087a43;
    color:#ffffff;
}

.process-call:hover,
.process-whatsapp:hover{
    transform:translateY(-3px);
}


/* =========================
   TABLET
========================= */

@media(max-width:1000px){

    .process-timeline{
        grid-template-columns:repeat(3,1fr);
        gap:50px 15px;
    }

    .process-timeline::before{
        display:none;
    }

}


/* =========================
   MOBILE
========================= */

@media(max-width:650px){

    .solar-process{
        padding:55px 0;
    }

    .process-heading{
        margin-bottom:40px;
    }

    .process-heading h2{
        font-size:27px;
    }

    .process-heading p{
        font-size:13px;
    }

    .process-timeline{
        display:flex;
        flex-direction:column;
        gap:0;

        position:relative;
    }

    /* Vertical line */

    .process-timeline::before{
        display:block;

        top:35px;
        bottom:35px;

        left:37px;
        right:auto;

        width:3px;
        height:auto;

        background:linear-gradient(
            180deg,
            #087a43,
            #18a05b,
            #ffb400
        );
    }

    .process-item{
        display:flex;

        text-align:left;

        padding:0;

        margin-bottom:25px;

        gap:18px;
    }

    .process-top{
        width:74px;
        min-width:74px;
        height:74px;
    }

    .step-icon{
        width:68px;
        height:68px;

        font-size:21px;
    }

    .step-number{
        right:-2px;
        top:-2px;
    }

    .process-info{
        margin-top:5px;

        background:#ffffff;

        border:1px solid #dcebe2;

        border-radius:15px;

        padding:15px;

        flex:1;

        box-shadow:0 6px 20px rgba(15,53,34,.06);
    }

    .process-info h3{
        font-size:16px;
        margin-bottom:5px;
    }

    .process-info p{
        font-size:12px;
    }

    .process-bottom{
        margin-top:20px;

        display:block;

        text-align:center;

        padding:22px 17px;
    }

    .process-bottom strong{
        font-size:19px;
    }

    .process-bottom span{
        font-size:12px;
    }

    .process-actions{
        display:grid;
        grid-template-columns:1fr 1fr;

        margin-top:17px;
    }

    .process-call,
    .process-whatsapp{
        justify-content:center;
        padding:11px 8px;
    }

}

@media(max-width:420px){

    .process-actions{
        grid-template-columns:1fr;
    }

}


:root{
  --green:#0b7a43;
  --green-dark:#075c34;
  --green-light:#eaf8f0;
  --yellow:#ffb400;
  --orange:#f28c18;
  --ink:#13221a;
  --muted:#63716a;
  --white:#fff;
  --line:#e7eee9;
  --shadow:0 14px 40px rgba(15,53,34,.10);
  --radius:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;color:var(--ink);background:#f7faf8;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:auto}
.section{padding:20px 0}
.section-head{text-align:center;max-width:760px;margin:0 auto 42px}
.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:.84rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;background:var(--green-light);padding:8px 14px;border-radius:99px;margin-bottom:12px}
.section-head h2{font-family:Poppins,sans-serif;font-size:clamp(28px,4vw,44px);line-height:1.15;margin-bottom:12px}
.section-head p{color:var(--muted);font-size:1rem}
.topbar{background:#073c26;color:#fff;font-size:13px}
.topbar-inner{min-height:40px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.topbar a{color:#fff}
.topbar-right{display:flex;gap:16px;align-items:center}
.navbar{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{height:58px;width:auto}
.nav-links{display:flex;align-items:center;gap:25px;list-style:none}
.nav-links a{font-size:14px;font-weight:700;color:#2e3a33;transition:.2s}
.nav-links a:hover{color:var(--green)}
.nav-cta{display:flex;gap:9px;align-items:center}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(11,122,67,.22)}
.btn-secondary{background:#fff;color:var(--green);border:1px solid #b9ddc9}
.btn-call{background:linear-gradient(135deg,#0878d1,#0057a8) !important;color:#fff !important}
.menu-btn{display:none;border:0;background:#eef7f1;width:44px;height:44px;border-radius:12px;color:var(--green);font-size:20px;cursor:pointer}

.hero{position:relative;overflow:hidden;background:#062e1e;color:#fff}
.hero-slider{position:relative}
.hero-slides{display:flex;transition:transform .65s ease}
.hero-slide{min-width:100%;position:relative;height:min(600px,68vh);min-height:470px}
.hero-slide img{width:100%;height:100%;object-fit:cover;opacity:.62}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,38,24,.9),rgba(0,45,27,.52),rgba(0,0,0,.15))}
.hero-content{position:absolute;inset:0;display:flex;align-items:center}
.hero-copy{max-width:720px}
.hero-badge{display:inline-flex;background:rgba(255,180,0,.16);border:1px solid rgba(255,196,54,.5);padding:8px 14px;border-radius:99px;color:#ffd56a;font-weight:800;font-size:13px;margin-bottom:16px}
.hero h1{font-family:Poppins,sans-serif;font-size:clamp(36px,6vw,68px);line-height:1.05;margin-bottom:18px}
.hero h1 span{color:#ffd05a}
.hero p{font-size:clamp(16px,2vw,20px);color:#e9f5ee;max-width:650px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-actions .btn{padding:14px 21px}
.hero-dots{position:absolute;left:0;right:0;bottom:24px;text-align:center;z-index:5}
.hero-dot{width:10px;height:10px;border-radius:50%;border:0;background:#c8d7cf;margin:0 4px;cursor:pointer;opacity:.7}
.hero-dot.active{background:#ffb400;opacity:1;transform:scale(1.25)}


.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 7px 25px rgba(15,53,34,.06);position:relative;overflow:hidden;transition:.25s}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.service-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,#e9f9ef,#d4f1df);color:var(--green);font-size:24px;margin-bottom:17px}
.service-card h3{font-family:Poppins,sans-serif;font-size:20px;margin-bottom:7px}
.service-card p{color:var(--muted);font-size:14px}
.service-link{display:inline-flex;color:var(--green);font-weight:800;font-size:13px;margin-top:30px}

/* =========================================
   BRANDS SECTION
========================================= */

.brands-section{
    padding:10px 0 10px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f4faf6 100%
        );

    overflow:hidden;
}


/* =========================================
   HEADING
========================================= */

.brands-heading{
    text-align:center;

    max-width:700px;

    margin:0 auto 35px;
}

.brands-heading .section-kicker{
    display:inline-block;

    color:#087a43;

    font-size:11px;

    font-weight:900;

    letter-spacing:1.5px;

    text-transform:uppercase;

    margin-bottom:8px;
}

.brands-heading h2{
    font-family:Poppins,sans-serif;

    font-size:29px;

    color:#153426;

    margin:0 0 7px;
}

.brands-heading p{
    color:#68776e;

    font-size:13px;

    line-height:1.6;

    margin:0;
}


/* =========================================
   SLIDER
========================================= */

.brands-slider{
    width:100%;

    overflow:hidden;

    position:relative;
}


/* Fade edges */

.brands-slider::before,
.brands-slider::after{
    content:"";

    position:absolute;

    top:0;
    bottom:0;

    width:100px;

    z-index:5;

    pointer-events:none;
}

.brands-slider::before{
    left:0;

    background:
        linear-gradient(
            90deg,
            #f7fbf8,
            transparent
        );
}

.brands-slider::after{
    right:0;

    background:
        linear-gradient(
            270deg,
            #f7fbf8,
            transparent
        );
}


/* =========================================
   TRACK
========================================= */

.brand-track{
    display:flex;

    align-items:center;

    gap:18px;

    width:max-content;

    animation:
        brandScroll 28s linear infinite;
}


/* Pause on hover */

.brands-slider:hover .brand-track{
    animation-play-state:paused;
}


/* =========================================
   BRAND CARD
========================================= */

.brand-card{
    width:180px;

    height:80px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:7px;

    background:#ffffff;

    border:1px solid #dcebe2;

    border-radius:18px;

    box-shadow:
        0 7px 25px rgba(15,53,34,.07);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.brand-card:hover{
    transform:translateY(-7px);

    border-color:#8bcaa4;

    box-shadow:
        0 15px 35px rgba(15,53,34,.14);
}


/* =========================================
   LOGO IMAGE
========================================= */

.brand-card img{
    width:100%;

    height:100px;

    object-fit:contain;

    display:block;

    transition:
        transform .3s ease,
        filter .3s ease;
}

.brand-card:hover img{
    transform:scale(1.08);
}


/* =========================================
   INFINITE ANIMATION
========================================= */

@keyframes brandScroll{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(
            calc(-50% - 9px)
        );
    }

}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .brand-card{
        width:160px;
        height:95px;
    }

    .brand-card img{
        height:62px;
    }

    .brand-track{
        gap:15px;

        animation-duration:25s;
    }

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:600px){

    .brands-section{
        padding:40px 0 35px;
    }

    .brands-heading{
        padding:0 15px;

        margin-bottom:25px;
    }

    .brands-heading h2{
        font-size:23px;
    }

    .brands-heading p{
        font-size:12px;
    }

    .brand-card{
        width:135px;

        height:82px;

        padding:12px;

        border-radius:14px;
    }

    .brand-card img{
        height:52px;
    }

    .brand-track{
        gap:12px;

        animation-duration:20s;
    }

    .brands-slider::before,
    .brands-slider::after{
        width:45px;
    }

}

.process{background:#eef8f2}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step-card{background:#fff;padding:25px;border-radius:20px;border:1px solid #dcebe2;position:relative}
.step-no{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900;margin-bottom:18px}
.step-card h3{font-family:Poppins,sans-serif;margin-bottom:7px}
.step-card p{font-size:13px;color:var(--muted)}

.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.project-card{height:245px;border-radius:18px;overflow:hidden;position:relative;background:#dfeae3}
.project-card img,.project-card video{width:100%;height:100%;object-fit:cover}
.project-label{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(0,0,0,.65);color:#fff;border-radius:11px;padding:8px 11px;font-size:12px;font-weight:700}
.project-gallery-media{position:relative;width:100%;height:100%;overflow:hidden}
.project-gallery-media img,.project-gallery-media video{width:100%;height:100%;object-fit:cover}
.project-photo-count{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.68);color:#fff;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800;z-index:3}
.project-next{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:4;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#087a43;cursor:pointer;box-shadow:0 5px 15px rgba(0,0,0,.18)}
.project-next:hover{background:#ffb400}
.dynamic-project-card{cursor:pointer}


/* =========================================
   PREMIUM SUBSIDY SECTION
========================================= */

.subsidy-section{
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(24,160,91,.08),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #f5faf7,
            #ffffff
        );
}


/* =========================================
   MAIN BOX
========================================= */

.subsidy-box{
    position:relative;
    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #063c27 0%,
            #087a43 55%,
            #0b8f50 100%
        );

    color:#ffffff;

    border-radius:30px;

    padding:42px;

    box-shadow:
        0 25px 60px rgba(6,60,39,.25);
}


/* Decorative circles */

.subsidy-box::before{
    content:"";

    position:absolute;

    width:300px;
    height:300px;

    right:-120px;
    top:-130px;

    border-radius:50%;

    background:rgba(255,255,255,.06);
}

.subsidy-box::after{
    content:"";

    position:absolute;

    width:220px;
    height:220px;

    left:-100px;
    bottom:-130px;

    border-radius:50%;

    background:rgba(255,180,0,.06);
}


/* =========================================
   HEADING
========================================= */

.subsidy-heading{
    position:relative;
    z-index:2;

    text-align:center;

    max-width:700px;

    margin:auto;
}

.subsidy-kicker{
    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:7px 13px;

    border-radius:30px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.15);

    color:#ffe08a;

    font-size:10px;

    font-weight:900;

    letter-spacing:1.2px;
}

.subsidy-heading h2{
    font-family:Poppins,sans-serif;

    font-size:32px;

    margin:13px 0 7px;
}

.subsidy-heading p{
    color:#d9eee2;

    font-size:13px;

    line-height:1.6;

    margin:0;
}


/* =========================================
   BIG HIGHLIGHT
========================================= */

.subsidy-highlight{
    position:relative;
    z-index:2;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:18px;

    max-width:500px;

    margin:32px auto;

    padding:20px 25px;

    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.16),
            rgba(255,255,255,.07)
        );

    border:1px solid rgba(255,255,255,.18);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12);
}

.subsidy-highlight-icon{
    width:58px;
    height:58px;

    display:grid;
    place-items:center;

    flex-shrink:0;

    border-radius:17px;

    background:#ffb400;

    color:#172319;

    font-size:24px;

    box-shadow:
        0 8px 20px rgba(0,0,0,.15);
}

.subsidy-highlight span{
    display:block;

    color:#d9eee2;

    font-size:11px;

    font-weight:700;
}

.subsidy-highlight strong{
    display:block;

    color:#ffffff;

    font-family:Poppins,sans-serif;

    font-size:30px;

    line-height:1.15;

    margin:2px 0;
}

.subsidy-highlight small{
    color:#bfe0cd;

    font-size:10px;
}


/* =========================================
   MINI CARDS
========================================= */

.subsidy-cards{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:13px;

    margin-bottom:28px;
}

.subsidy-mini{
    padding:17px 14px;

    text-align:center;

    border-radius:16px;

    background:rgba(255,255,255,.09);

    border:1px solid rgba(255,255,255,.13);

    transition:.3s ease;
}

.subsidy-mini:hover{
    transform:translateY(-4px);

    background:rgba(255,255,255,.14);
}

.subsidy-mini.active{
    background:#ffb400;

    color:#172319;

    border-color:#ffb400;

    box-shadow:
        0 10px 25px rgba(0,0,0,.15);
}

.subsidy-mini .capacity{
    display:block;

    font-size:11px;

    font-weight:900;

    letter-spacing:.8px;

    color:#cde8d8;
}

.subsidy-mini.active .capacity{
    color:#172319;
}

.subsidy-mini strong{
    display:block;

    font-family:Poppins,sans-serif;

    font-size:20px;

    margin:4px 0;
}

.subsidy-mini small{
    display:block;

    font-size:9px;

    color:#bfe0cd;
}

.subsidy-mini.active small{
    color:#344326;
}


/* =========================================
   TABLE CARD
========================================= */

.subsidy-table-card{
    position:relative;
    z-index:2;

    background:#ffffff;

    border-radius:21px;

    padding:22px;

    color:#153426;

    box-shadow:
        0 12px 35px rgba(0,0,0,.13);
}


/* Table heading */

.subsidy-table-title{
    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:16px;
}

.subsidy-table-title span{
    color:#087a43;

    font-size:10px;

    font-weight:900;

    letter-spacing:1.2px;
}

.subsidy-table-title h3{
    font-family:Poppins,sans-serif;

    font-size:20px;

    margin:3px 0 0;
}

.subsidy-table-title > i{
    width:45px;
    height:45px;

    display:grid;
    place-items:center;

    border-radius:13px;

    background:#eaf8f0;

    color:#087a43;

    font-size:19px;
}


/* =========================================
   TABLE
========================================= */

.table-wrap{
    overflow-x:auto;

    border-radius:14px;
}

.subsidy-table{
    width:100%;

    min-width:620px;

    border-collapse:collapse;

    background:#ffffff;
}

.subsidy-table th{
    padding:14px 16px;

    background:#f0f7f3;

    color:#426052;

    font-size:11px;

    text-transform:uppercase;

    letter-spacing:.5px;

    text-align:center;
}

.subsidy-table th:first-child{
    text-align:left;
}

.subsidy-table td{
    padding:15px 16px;

    border-bottom:1px solid #e8efeb;

    text-align:center;

    font-size:13px;

    color:#52645a;
}

.subsidy-table td:first-child{
    text-align:left;

    color:#153426;
}

.subsidy-table tr:last-child td{
    border-bottom:0;
}

.subsidy-table .total{
    color:#087a43;

    font-size:15px;

    font-weight:900;
}


/* Featured row */

.subsidy-table .featured-row{
    background:#f0faf4;
}

.subsidy-table .featured-row td{
    border-bottom-color:#d6eadf;
}


/* Popular badge */

.popular-badge{
    display:inline-block;

    margin-left:7px;

    padding:3px 6px;

    border-radius:20px;

    background:#ffb400;

    color:#172319;

    font-size:8px;

    font-weight:900;
}


/* =========================================
   NOTE
========================================= */

.subsidy-note{
    position:relative;
    z-index:2;

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:17px;

    padding:12px 15px;

    border-radius:12px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.10);
}

.subsidy-note i{
    color:#ffcf54;

    font-size:15px;
}

.subsidy-note p{
    margin:0;

    color:#cce5d6;

    font-size:11px;

    line-height:1.5;
}


/* =========================================
   BUTTONS
========================================= */

.subsidy-actions{
    position:relative;
    z-index:2;

    display:flex;

    justify-content:center;

    gap:12px;

    margin-top:22px;
}

.subsidy-btn{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:12px 19px;

    border-radius:11px;

    text-decoration:none;

    font-size:12px;

    font-weight:900;

    transition:.25s ease;
}

.subsidy-btn:hover{
    transform:translateY(-3px);
}

.subsidy-btn.primary{
    background:#ffb400;

    color:#172319;
}

.subsidy-btn.secondary{
    background:rgba(255,255,255,.10);

    color:#ffffff;

    border:1px solid rgba(255,255,255,.20);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .subsidy-box{
        padding:30px;
    }

    .subsidy-cards{
        grid-template-columns:repeat(2,1fr);
    }

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:600px){

    .subsidy-box{
        padding:25px 15px;

        border-radius:22px;
    }

    .subsidy-heading h2{
        font-size:25px;
    }

    .subsidy-heading p{
        font-size:12px;
    }

    .subsidy-highlight{
        margin:25px auto;

        padding:17px;

        gap:13px;
    }

    .subsidy-highlight-icon{
        width:50px;
        height:50px;

        font-size:20px;
    }

    .subsidy-highlight strong{
        font-size:25px;
    }

    .subsidy-cards{
        grid-template-columns:repeat(2,1fr);

        gap:10px;
    }

    .subsidy-mini{
        padding:14px 8px;
    }

    .subsidy-mini strong{
        font-size:17px;
    }

    .subsidy-table-card{
        padding:15px;

        border-radius:17px;
    }

    .subsidy-table-title h3{
        font-size:17px;
    }

    .subsidy-actions{
        display:grid;

        grid-template-columns:1fr;

        gap:9px;
    }

    .subsidy-btn{
        width:100%;
    }

}
.contact-section{background:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.contact-info-card,.contact-form-card{border:1px solid var(--line);border-radius:24px;padding:30px;background:#f8fbf9}
.contact-info-card{background:linear-gradient(145deg,#073c26,#0b7a43);color:#fff}
.contact-info-card h2,.contact-form-card h2{font-family:Poppins,sans-serif;font-size:28px;margin-bottom:10px}
.contact-info-card p{color:#d9eee2}
.contact-list{display:grid;gap:13px;margin:24px 0}
.contact-item{display:flex;gap:12px;align-items:flex-start}
.contact-item i{width:36px;height:36px;display:grid;place-items:center;background:rgba(255,255,255,.12);border-radius:10px}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:800;color:#45534b}
.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid #d8e3dc;background:#fff;border-radius:12px;outline:none;transition:.2s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(11,122,67,.1)}
.field textarea{min-height:125px;resize:vertical}
.form-note{font-size:11px;color:var(--muted);margin-top:8px}

.floating-actions{position:fixed;right:18px;bottom:18px;z-index:1200;display:flex;flex-direction:column;gap:10px}
.float-btn{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.2);font-size:23px;transition:.25s}
.float-btn:hover{transform:scale(1.08)}
.float-whatsapp{background:#25d366}
.float-call{background:linear-gradient(135deg,#0878d1,#0057a8) !important}

footer{background:#071f14;color:#cfe0d6;padding:55px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer-logo{height:55px;width:auto;margin-bottom:15px;background:#fff;padding:5px;border-radius:8px}
footer h3{color:#fff;font-family:Poppins,sans-serif;margin-bottom:13px}
footer p,footer li{font-size:13px;color:#afc4b8}
footer ul{list-style:none;display:grid;gap:8px}
footer a:hover{color:#ffca4d}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:18px;text-align:center;font-size:12px;color:#8fa99b}

.reveal{opacity:0;transform:translateY(25px);transition:.7s}
.reveal.show{opacity:1;transform:none}

@media(max-width:1000px){
  .nav-links{gap:14px}
  .nav-cta .btn-secondary{display:none}
  .service-grid,.product-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .project-grid{grid-template-columns:repeat(2,1fr)}
  .action-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .topbar{display:none}
  .nav-inner{min-height:68px}
  .logo img{height:50px}
  .menu-btn{display:block}
  .nav-links{display:none;position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:2px}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:12px;border-radius:10px}
  .nav-cta{margin-left:auto}
  .nav-cta .btn{padding:10px 12px;font-size:12px}
  .hero-slide{height:520px;min-height:500px}
  .hero h1{font-size:38px}
  .hero p{font-size:15px}
  .quick-actions{margin-top:12px}
  .action-grid{grid-template-columns:1fr 1fr}
  .action-card{padding:15px}
  .action-card span{font-size:10px}
  .section{padding:55px 0}
  .service-grid,.product-grid,.process-grid{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr 1fr}
  .contact-grid,.footer-grid{grid-template-columns:1fr}
  .contact-form{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .contact-form-card,.contact-info-card{padding:22px}
  .subsidy-box{padding:22px 15px}
}
@media(max-width:480px){
  .container{width:min(100% - 22px,1180px)}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .action-grid{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr}
  .project-card{height:220px}
  .floating-actions{right:12px;bottom:12px}
  .float-btn{width:50px;height:50px}
}

/* =========================================================
   FINAL UI OVERRIDES - SERVICE IMAGE CARDS
========================================================= */

.solar-services .service-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  margin-top:30px;
}

.solar-services .service-card{
  padding:0 !important;
  background:#fff;
  border:1px solid #dcebe2;
  border-radius:22px;
  overflow:hidden;
  position:relative;
  box-shadow:0 8px 28px rgba(15,53,34,.08);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}

.solar-services .service-card:hover{
  transform:translateY(-8px);
  border-color:#9bd0b1;
  box-shadow:0 20px 45px rgba(15,53,34,.16);
}

.solar-services .service-image{
  position:relative;
  width:100%;
  height:190px;
  overflow:hidden;
  background:#eaf5ee;
}

.solar-services .service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease,filter .4s ease;
}

.solar-services .service-card:hover .service-image img{
  transform:scale(1.07);
  filter:brightness(.88);
}

.solar-services .service-label{
  position:absolute;
  top:14px;
  left:14px;
  padding:6px 12px;
  border-radius:30px;
  background:#087a43;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
  box-shadow:0 5px 15px rgba(0,0,0,.18);
}

.solar-services .service-card:nth-child(2) .service-label{background:#087da8}
.solar-services .service-card:nth-child(3) .service-label{background:#7552c7}
.solar-services .service-card:nth-child(4) .service-label{background:#e58a00}

.solar-services .service-content{
  position:relative;
  padding:0 20px 22px;
}

.solar-services .service-icon{
  position:relative;
  z-index:3;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  margin-top:-28px;
  margin-bottom:14px;
  border-radius:17px;
  background:#fff;
  border:4px solid #fff;
  color:#087a43;
  font-size:23px;
  box-shadow:0 7px 20px rgba(15,53,34,.15);
  transition:.3s ease;
}

.solar-services .service-card:hover .service-icon{
  color:#fff;
  background:linear-gradient(135deg,#087a43,#18a05b);
  transform:scale(1.06) rotate(-4deg);
}

.solar-services .service-content h3{
  font-family:Poppins,sans-serif;
  font-size:19px;
  line-height:1.3;
  color:#153426;
  margin:0 0 8px;
}

.solar-services .service-content p{
  color:#68776e;
  font-size:13px;
  line-height:1.65;
  min-height:65px;
  margin:0;
}

.solar-services .service-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  color:#087a43;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  transition:.25s ease;
}

.solar-services .service-link i{
  transition:.25s ease;
}

.solar-services .service-link:hover{
  color:#e58a00;
}

.solar-services .service-link:hover i{
  transform:translateX(5px);
}

.solar-services .service-card::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#087a43,#18a05b,#ffb400);
  transform:scaleX(0);
  transform-origin:left;
  transition:.3s ease;
}

.solar-services .service-card:hover::after{
  transform:scaleX(1);
}

/* =========================================================
   FINAL UI OVERRIDES - BRAND IMAGE SCROLLER
========================================================= */

.brands-section{
  padding:14px 0 20px;
  background:linear-gradient(180deg,#fff,#f4faf6);
  overflow:hidden;
}

.brands-heading{
  text-align:center;
  max-width:720px;
  margin:0 auto 24px;
}

.brands-heading .section-kicker{
  display:inline-flex;
  align-items:center;
  color:#087a43;
  background:#eaf8f0;
  padding:7px 13px;
  border-radius:99px;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.brands-slider{
  width:100%;
  overflow:hidden;
  position:relative;
  padding:4px 0 12px;
}

.brand-track{
  display:flex;
  align-items:center;
  gap:18px;
  width:max-content;
  animation:brandScroll 28s linear infinite;
}

.brands-slider:hover .brand-track{
  animation-play-state:paused;
}

.brand-card{
  width:180px !important;
  height:90px !important;
  flex:0 0 180px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px !important;
  background:#fff;
  border:1px solid #dcebe2;
  border-radius:18px;
  box-shadow:0 7px 25px rgba(15,53,34,.07);
  transition:.3s ease;
}

.brand-card:hover{
  transform:translateY(-6px);
  border-color:#8bcaa4;
  box-shadow:0 15px 35px rgba(15,53,34,.14);
}

.brand-card img{
  width:100%;
  height:68px !important;
  object-fit:contain;
  display:block;
  transition:transform .3s ease;
}

.brand-card:hover img{
  transform:scale(1.08);
}

@keyframes brandScroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 9px))}
}

/* =========================================================
   FINAL UI OVERRIDES - PROCESS FLOW
========================================================= */

.solar-process{
  padding:45px 0 55px;
  background:linear-gradient(180deg,#f5faf7,#fff);
  overflow:hidden;
}

.process-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 52px;
}

.process-label{
  display:inline-block;
  color:#087a43;
  background:#eaf8f0;
  padding:7px 13px;
  border-radius:99px;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.4px;
}

.process-heading h2{
  font-family:Poppins,sans-serif;
  font-size:clamp(28px,4vw,40px);
  color:#153426;
  margin:12px 0 8px;
}

.process-heading p{
  color:#68776e;
  font-size:13px;
}

.process-timeline{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  position:relative;
  gap:0;
}

.process-timeline::before{
  content:"";
  position:absolute;
  top:38px;
  left:7%;
  right:7%;
  height:3px;
  background:linear-gradient(90deg,#087a43,#18a05b,#ffb400);
  border-radius:10px;
}

.process-item{
  position:relative;
  z-index:2;
  padding:0 8px;
  text-align:center;
}

.process-top{
  position:relative;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.step-icon{
  width:76px;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
  border:6px solid #e5f3ea;
  color:#087a43;
  font-size:25px;
  box-shadow:0 8px 25px rgba(15,53,34,.12),0 0 0 5px #f5faf7;
  transition:.3s ease;
}

.process-item:hover .step-icon{
  background:linear-gradient(135deg,#087a43,#18a05b);
  color:#fff;
  transform:translateY(-7px);
  box-shadow:0 15px 35px rgba(8,122,67,.25),0 0 0 6px rgba(24,160,91,.10);
}

.step-number{
  position:absolute;
  top:0;
  right:calc(50% - 42px);
  width:25px;
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#ffb400;
  color:#172319;
  font-size:9px;
  font-weight:900;
  border:3px solid #fff;
  z-index:3;
}

.process-info{
  margin-top:18px;
  padding:16px 10px;
  min-height:75px;
  background:#fff;
  border:1px solid #dcebe2;
  border-radius:15px;
  box-shadow:0 7px 22px rgba(15,53,34,.06);
}

.process-info h3{
  font-family:Poppins,sans-serif;
  font-size:16px;
  color:#153426;
  margin:0;
}

.process-info p{
  color:#68776e;
  font-size:11px;
  line-height:1.5;
  margin:6px 0 0;
}

@media(max-width:1050px){
  .solar-services .service-grid{grid-template-columns:repeat(2,1fr)}
  .process-timeline{grid-template-columns:repeat(3,1fr);gap:45px 15px}
  .process-timeline::before{display:none}
}

@media(max-width:650px){
  .solar-services .service-grid{grid-template-columns:1fr}
  .solar-services .service-image{height:210px}
  .solar-services .service-content{padding:0 18px 21px}

  .brand-card{
    width:135px !important;
    flex-basis:135px;
    height:82px !important;
    padding:10px !important;
    border-radius:14px;
  }

  .brand-card img{height:55px !important}
  .brand-track{gap:12px;animation-duration:20s}

  .solar-process{padding:50px 0}
  .process-heading{margin-bottom:38px}
  .process-timeline{
    display:flex;
    flex-direction:column;
    gap:0;
  }

  .process-timeline::before{
    display:block;
    top:34px;
    bottom:34px;
    left:34px;
    right:auto;
    width:3px;
    height:auto;
    background:linear-gradient(180deg,#087a43,#18a05b,#ffb400);
  }

  .process-item{
    display:flex;
    text-align:left;
    padding:0;
    margin-bottom:20px;
    gap:16px;
  }

  .process-top{
    width:68px;
    min-width:68px;
    height:68px;
  }

  .step-icon{
    width:62px;
    height:62px;
    font-size:21px;
  }

  .step-number{
    right:-2px;
    top:-2px;
  }

  .process-info{
    flex:1;
    margin-top:2px;
    min-height:auto;
    padding:14px;
  }
}

@media(max-width:420px){
  .solar-services .service-content h3{font-size:18px}
  .solar-services .service-content p{font-size:12px}
}


/* =========================================================
   RESPONSIVE UI MASTER OVERRIDE
   Desktop / Laptop / Tablet / Mobile / Small Mobile
   Added as the final CSS layer so it safely overrides
   earlier duplicate section styles.
========================================================= */

html{
  width:100%;
  overflow-x:hidden;
  scroll-padding-top:78px;
}

body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}

.container{
  width:min(1180px, calc(100% - 40px));
  margin-inline:auto;
}

/* ---------- NAVIGATION ---------- */
.navbar{
  width:100%;
  position:sticky;
  top:0;
  z-index:1000;
}

.nav-inner{
  width:100%;
  min-height:76px;
}

.nav-links{
  flex-wrap:wrap;
}

.nav-cta{
  flex-shrink:0;
}

.logo{
  flex:0 0 auto;
}

.logo img{
  max-width:190px;
  height:auto;
  max-height:58px;
  object-fit:contain;
}

/* ---------- HERO ---------- */
.hero,
.hero-slider,
.hero-slides,
.hero-slide{
  width:100%;
  max-width:100%;
}

.hero-slide{
  height:clamp(460px, 68vh, 680px);
  min-height:460px;
}

.hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-content .container{
  width:min(1180px, calc(100% - 40px));
}

.hero-copy{
  width:100%;
  max-width:760px;
}

.hero h1{
  font-size:clamp(32px, 5.2vw, 68px);
  overflow-wrap:anywhere;
}

.hero p{
  max-width:680px;
}

/* ---------- GENERAL SECTIONS ---------- */
.section,
.solar-choice,
.solar-services,
.quick-actions,
.solar-process,
.subsidy-section,
.contact-section,
.brands-section,
#products{
  width:100%;
  max-width:100%;
  overflow:hidden;
}

.section-head h2,
.choice-heading h1,
.process-heading h2,
.subsidy-heading h2{
  overflow-wrap:anywhere;
}

/* ---------- THREE-COLUMN SOLAR CHOICE ---------- */
.solar-choice-grid{
  width:min(1250px, calc(100% - 40px));
  margin-inline:auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.choice-card{
  min-width:0;
}

.visual-system{
  width:100%;
  min-width:0;
}

.energy-box{
  flex:1 1 0;
  min-width:0;
  width:auto;
}

.energy-box small{
  white-space:nowrap;
}

/* ---------- PRODUCT CAROUSEL ---------- */
#products .product-grid{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
}

#products .product-grid .product-card{
  flex:0 0 clamp(260px, 26vw, 320px);
  width:clamp(260px, 26vw, 320px);
  min-width:0;
}

#products .product-media{
  aspect-ratio:1.15 / 1;
  height:auto;
  min-height:180px;
}

/* ---------- SERVICE CARDS ---------- */
.solar-services .service-grid,
.service-grid{
  width:100%;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.service-card,
.solar-services .service-card{
  min-width:0;
}

.service-image,
.solar-services .service-image{
  aspect-ratio:16 / 10;
  height:auto;
  min-height:170px;
}

.service-content p{
  overflow-wrap:anywhere;
}

/* ---------- QUICK ACTIONS ---------- */
.action-grid{
  width:100%;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.action-card{
  min-width:0;
}

.action-card strong,
.action-card > span:last-child > span{
  overflow-wrap:anywhere;
}

/* ---------- PROCESS ---------- */
.process-container{
  width:min(1200px, calc(100% - 40px));
}

.process-timeline{
  width:100%;
}

.process-item{
  min-width:0;
}

.process-info{
  overflow-wrap:anywhere;
}

/* ---------- PROJECTS ---------- */
.project-grid{
  width:100%;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.project-card{
  min-width:0;
  width:100%;
}

/* ---------- SUBSIDY ---------- */
.subsidy-box{
  width:100%;
  max-width:1180px;
  margin-inline:auto;
}

.subsidy-cards{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.subsidy-mini,
.subsidy-table-card{
  min-width:0;
}

.table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* ---------- CONTACT ---------- */
.contact-grid{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
}

.contact-info-card,
.contact-form-card{
  min-width:0;
}

.field{
  min-width:0;
}

.field input,
.field textarea,
.field select{
  max-width:100%;
  min-width:0;
}

/* ---------- FOOTER ---------- */
.footer-grid{
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);
}

footer{
  width:100%;
  overflow:hidden;
}

/* =========================================================
   LARGE TABLET / SMALL LAPTOP
========================================================= */
@media (max-width:1100px){

  .container{
    width:min(100% - 32px, 980px);
  }

  .nav-links{
    gap:12px;
  }

  .nav-links a{
    font-size:13px;
  }

  .nav-cta .btn{
    padding:10px 13px;
    font-size:12px;
  }

  .solar-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .solar-choice-grid .hybrid{
    grid-column:1 / -1;
    width:min(50% - 10px, 100%);
    justify-self:center;
  }

  .solar-services .service-grid,
  .service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .subsidy-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .process-timeline{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:45px 14px;
  }

  .process-timeline::before{
    display:none;
  }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width:900px){

  .container{
    width:min(100% - 30px, 760px);
  }

  .nav-inner{
    min-height:70px;
  }

  .logo img{
    max-width:165px;
    max-height:52px;
  }

  .nav-links{
    gap:9px;
  }

  .nav-links a{
    font-size:12px;
  }

  .hero-slide{
    height:560px;
    min-height:500px;
  }

  .hero-copy{
    max-width:650px;
  }

  .hero h1{
    font-size:clamp(34px, 6vw, 52px);
  }

  .choice-card{
    padding:24px;
  }

  .guide-items{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .solar-services .service-image{
    min-height:185px;
  }

  .process-container{
    width:min(100% - 30px, 760px);
  }

  .contact-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* =========================================================
   MOBILE
========================================================= */
@media (max-width:760px){

  .container{
    width:calc(100% - 24px);
  }

  .topbar{
    display:none;
  }

  .navbar{
    box-shadow:0 4px 18px rgba(15,53,34,.07);
  }

  .nav-inner{
    min-height:64px;
    gap:8px;
    position:relative;
  }

  .logo img{
    max-width:145px;
    max-height:48px;
  }

  .nav-cta{
    margin-left:auto;
    gap:6px;
  }

  .nav-cta .btn{
    min-height:40px;
    padding:9px 10px;
    border-radius:10px;
    font-size:11px;
  }

  .nav-cta .btn-secondary{
    display:none;
  }

  .nav-cta .btn-primary{
    display:inline-flex;
  }

  .menu-btn{
    display:grid;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
  }

  .nav-links{
    position:absolute;
    left:12px;
    right:12px;
    top:62px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:9px;
    background:rgba(255,255,255,.98);
    border:1px solid #dcebe2;
    border-radius:16px;
    box-shadow:0 18px 45px rgba(15,53,34,.16);
    max-height:calc(100vh - 78px);
    overflow-y:auto;
  }

  .nav-links.open{
    display:flex;
  }

  .nav-links li{
    width:100%;
  }

  .nav-links a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:44px;
    padding:11px 13px;
    border-radius:10px;
    font-size:13px;
  }

  .nav-links a:hover{
    background:#eef8f2;
  }

  /* Hero */
  .hero-slide{
    height:540px;
    min-height:500px;
  }

  .hero-content .container{
    width:calc(100% - 28px);
  }

  .hero-overlay{
    background:linear-gradient(90deg,rgba(0,38,24,.92),rgba(0,45,27,.62),rgba(0,0,0,.20));
  }

  .hero-copy{
    max-width:100%;
  }

  .hero-badge{
    font-size:10px;
    padding:7px 11px;
  }

  .hero h1{
    font-size:clamp(30px,9vw,42px);
    line-height:1.08;
  }

  .hero p{
    font-size:14px;
    line-height:1.6;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }

  .hero-actions .btn{
    width:100%;
  }

  /* Solar choices */
  .solar-choice{
    padding:48px 12px;
  }

  .solar-choice-grid{
    width:100%;
    grid-template-columns:1fr;
    gap:18px;
  }

  .solar-choice-grid .hybrid{
    grid-column:auto;
    width:100%;
  }

  .choice-heading{
    margin-bottom:30px;
  }

  .choice-heading .top-label{
    font-size:10px;
    padding:7px 13px;
  }

  .choice-heading h1{
    font-size:clamp(27px,8vw,35px);
  }

  .choice-heading p{
    font-size:14px;
  }

  .choice-card{
    padding:20px;
    border-radius:20px;
  }

  .card-banner{
    gap:12px;
  }

  .big-icon{
    width:55px;
    min-width:55px;
    height:55px;
    border-radius:16px;
    font-size:28px;
  }

  .card-banner h2{
    font-size:22px;
  }

  .visual-system{
    gap:4px;
    margin:24px 0 17px;
  }

  .energy-box{
    min-height:64px;
    height:64px;
    padding:4px;
    border-radius:14px;
    font-size:22px;
  }

  .energy-box small{
    font-size:8px;
  }

  .flow-arrow{
    font-size:14px;
    flex:0 0 auto;
  }

  .easy-text{
    min-height:0;
    font-size:13px;
  }

  .benefit-item{
    padding:9px;
  }

  .best-for{
    font-size:11px;
  }

  .choice-btn{
    min-height:46px;
  }

  /* Product gallery */
  #products{
    padding:42px 0;
  }

  #products .section-head{
    margin-bottom:22px;
    padding:0 12px;
  }

  #products .section-head h2{
    font-size:clamp(26px,8vw,32px);
  }

  #products .product-grid{
    gap:13px;
    padding:8px 12px 20px;
    scroll-snap-type:x mandatory;
  }

  #products .product-grid .product-card{
    flex:0 0 min(82vw,320px);
    width:min(82vw,320px);
    scroll-snap-align:center;
  }

  #products .product-media{
    aspect-ratio:1.12 / 1;
  }

  /* Services */
  .solar-services .service-grid,
  .service-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .solar-services .service-image{
    min-height:205px;
  }

  .service-content{
    padding-inline:18px !important;
  }

  /* Quick actions */
  .action-grid{
    grid-template-columns:1fr;
    gap:11px;
  }

  .action-card{
    min-height:78px;
    padding:13px 14px;
  }

  .action-icon{
    width:48px;
    min-width:48px;
    height:48px;
    font-size:20px;
  }

  .action-card strong{
    font-size:15px;
  }

  /* Process */
  .solar-process{
    padding:44px 0;
  }

  .process-container{
    width:calc(100% - 24px);
  }

  .process-heading{
    margin-bottom:34px;
  }

  .process-heading h2{
    font-size:27px;
  }

  .process-timeline{
    display:flex;
    flex-direction:column;
    gap:0;
  }

  .process-timeline::before{
    display:block;
    top:34px;
    bottom:34px;
    left:31px;
    right:auto;
    width:3px;
    height:auto;
  }

  .process-item{
    display:flex;
    align-items:flex-start;
    text-align:left;
    gap:14px;
    margin-bottom:18px;
    padding:0;
  }

  .process-top{
    width:62px;
    min-width:62px;
    height:62px;
  }

  .step-icon{
    width:58px;
    height:58px;
    font-size:20px;
    border-width:5px;
  }

  .step-number{
    width:22px;
    height:22px;
    right:-2px;
    top:-2px;
  }

  .process-info{
    flex:1;
    min-height:0;
    margin-top:0;
    padding:13px;
    border-radius:13px;
  }

  .process-info h3{
    font-size:15px;
  }

  .process-info p{
    font-size:11px;
  }

  .process-bottom{
    display:block;
    text-align:center;
    margin-top:15px;
    padding:18px 14px;
  }

  .process-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:14px;
  }

  /* Projects */
  .project-grid{
    grid-template-columns:1fr;
    gap:13px;
  }

  .project-card{
    height:235px;
  }

  /* Subsidy */
  .subsidy-box{
    padding:22px 14px;
    border-radius:21px;
  }

  .subsidy-heading h2{
    font-size:25px;
  }

  .subsidy-highlight{
    width:100%;
    margin:22px auto;
    padding:15px;
  }

  .subsidy-highlight strong{
    font-size:24px;
  }

  .subsidy-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .subsidy-mini{
    padding:12px 7px;
  }

  .subsidy-mini strong{
    font-size:16px;
  }

  .subsidy-table-card{
    padding:13px;
  }

  .subsidy-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .subsidy-btn{
    width:100%;
  }

  /* Contact */
  .contact-grid{
    grid-template-columns:1fr;
    gap:15px;
  }

  .contact-info-card,
  .contact-form-card{
    padding:20px;
    border-radius:19px;
  }

  .contact-form{
    grid-template-columns:1fr;
  }

  .field.full{
    grid-column:auto;
  }

  /* Footer */
  .footer-grid{
    grid-template-columns:1fr;
    gap:25px;
  }

  footer{
    padding:42px 0 18px;
  }

  /* Floating buttons */
  .floating-actions{
    right:10px;
    bottom:10px;
    gap:8px;
  }

  .float-btn{
    width:48px;
    height:48px;
    font-size:20px;
  }
}

/* =========================================================
   SMALL PHONES
========================================================= */
@media (max-width:420px){

  .container{
    width:calc(100% - 18px);
  }

  .logo img{
    max-width:125px;
    max-height:43px;
  }

  .nav-cta .btn-call{
    display:none;
  }

  .menu-btn{
    width:40px;
    flex-basis:40px;
    height:40px;
  }

  .hero-slide{
    height:520px;
    min-height:480px;
  }

  .hero h1{
    font-size:29px;
  }

  .hero p{
    font-size:13px;
  }

  .solar-choice{
    padding-inline:9px;
  }

  .choice-card{
    padding:17px;
  }

  .energy-box{
    height:58px;
    min-height:58px;
    font-size:20px;
  }

  .energy-box small{
    font-size:7.5px;
  }

  .flow-arrow{
    font-size:12px;
  }

  .subsidy-cards{
    grid-template-columns:1fr 1fr;
  }

  .process-actions{
    grid-template-columns:1fr;
  }

  .process-item{
    gap:10px;
  }

  .process-top{
    width:56px;
    min-width:56px;
  }

  .step-icon{
    width:52px;
    height:52px;
    font-size:18px;
  }

  .process-timeline::before{
    left:28px;
  }

  .project-card{
    height:210px;
  }
}

/* =========================================================
   VERY SMALL PHONES
========================================================= */
@media (max-width:350px){

  .nav-cta .btn-primary{
    display:none;
  }

  .logo img{
    max-width:115px;
  }

  .hero h1{
    font-size:26px;
  }

  .choice-card{
    padding:15px;
  }

  .visual-system{
    gap:2px;
  }

  .energy-box{
    height:53px;
    min-height:53px;
    font-size:18px;
  }

  .energy-box small{
    font-size:7px;
  }
}

/* Prevent accidental horizontal overflow from long content */
*,
*::before,
*::after{
  max-width:100%;
}

table{
  max-width:none;
}

pre,
code{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

/* Better touch interaction */
@media (hover:none){
  .choice-card:hover,
  .service-card:hover,
  .solar-services .service-card:hover,
  .project-card:hover,
  .action-card:hover{
    transform:none;
  }

  .brand-track{
    animation-play-state:running;
  }
}




/* HORIZONTAL PRODUCT CAROUSEL CONTROLS */
.product-carousel-wrap{
  position:relative;
}
.product-carousel-btn{
  position:absolute;
  top:50%;
  z-index:20;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ffffff;
  color:#087a43;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
  cursor:pointer;
  transform:translateY(-50%);
  transition:.25s ease;
}
.product-carousel-btn:hover{
  background:#087a43;
  color:#ffffff;
  transform:translateY(-50%) scale(1.08);
}
.product-carousel-prev{left:-18px}
.product-carousel-next{right:-18px}
@media(max-width:700px){
  .product-carousel-btn{width:40px;height:40px}
  .product-carousel-prev{left:4px}
  .product-carousel-next{right:4px}
}

.product-all-link-wrap{
  text-align:center;
  margin-top:30px;
}
.product-all-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 22px;
  border-radius:12px;
  background:linear-gradient(135deg,#087a43,#18a05b);
  color:#fff;
  font-weight:800;
  font-size:14px;
  box-shadow:0 9px 22px rgba(8,122,67,.18);
  transition:.25s ease;
}
.product-all-link:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(8,122,67,.25);
}
.product-all-link i:last-child{transition:.25s ease}
.product-all-link:hover i:last-child{transform:translateX(4px)}

/* ================================
   DYNAMIC PRODUCT GALLERY / MODALS
================================ */
.product-loading{grid-column:1/-1;text-align:center;padding:45px;color:#68776e}
.dynamic-product-card .product-media{position:relative;overflow:hidden}
.dynamic-product-card .product-media img{transition:opacity .25s ease,transform .55s ease}
.product-photo-count{position:absolute;left:12px;top:12px;z-index:5;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;background:rgba(0,0,0,.65);color:#fff;border-radius:20px;font-size:11px;font-weight:800}
.product-next{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:6;transition:.25s ease}
.product-next:hover{background:#0b7a43;transform:translateY(-50%) scale(1.08)}
.product-photo-count{cursor:pointer}
.dynamic-product-card .product-media,
.dynamic-product-card .product-body{cursor:pointer}
.product-gallery-modal-box{
  width:min(1050px,96vw);
  max-height:94vh;
  padding:22px;
  overflow:hidden;
}
.product-gallery-header{
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:0 45px 15px 4px;
}
.product-gallery-title{margin:0!important;font-size:24px!important}
.product-gallery-stage{
  position:relative;
  width:100%;
  height:min(62vh,600px);
  min-height:300px;
  background:#eef5f0;
  border-radius:18px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.product-gallery-stage img{
  width:100%;height:100%;object-fit:contain;
  transition:opacity .2s ease;
}
.product-gallery-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border:0;border-radius:50%;
  background:rgba(0,0,0,.58);color:#fff;z-index:5;
  display:grid;place-items:center;cursor:pointer;font-size:18px;
}
.product-gallery-arrow:hover{background:#087a43}
.product-gallery-prev{left:15px}
.product-gallery-next{right:15px}
.product-gallery-counter{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  background:rgba(0,0,0,.65);color:#fff;padding:6px 12px;
  border-radius:20px;font-size:12px;font-weight:800;z-index:5;
}
.product-gallery-thumbs{
  display:flex;gap:9px;overflow-x:auto;padding:13px 3px 2px;
  scrollbar-width:thin;
}
.product-gallery-thumb{
  width:78px;height:62px;flex:0 0 78px;object-fit:cover;
  border:2px solid transparent;border-radius:9px;cursor:pointer;
  background:#eef5f0;
}
.product-gallery-thumb.active{border-color:#087a43;box-shadow:0 4px 12px rgba(8,122,67,.2)}
.product-gallery-hint{
  text-align:center;color:#68776e;font-size:12px;margin-top:8px;
}
@media(max-width:600px){
  .product-gallery-modal-box{padding:16px;border-radius:18px}
  .product-gallery-stage{height:55vh;min-height:260px}
  .product-gallery-arrow{width:40px;height:40px}
  .product-gallery-thumb{width:64px;height:52px;flex-basis:64px}
  .product-gallery-header{padding-right:40px}
  .product-gallery-title{font-size:19px!important}
}

.product-category{display:inline-flex;padding:5px 10px;background:#eaf8f0;color:#087a43;border-radius:20px;font-size:10px;font-weight:900;margin-bottom:8px}
.product-specifications{margin-top:10px;color:#63716a;font-size:13px;line-height:1.7;min-height:25px}
.no-spec{color:#89958e;font-style:italic}

.site-modal{position:fixed;inset:0;background:rgba(0,0,0,.64);display:none;align-items:center;justify-content:center;padding:20px;z-index:99999;backdrop-filter:blur(5px)}
.site-modal.show{display:flex}
.site-modal-box{position:relative;width:min(680px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:25px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.3);animation:modalIn .3s ease}
@keyframes modalIn{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}
.modal-close{position:absolute;right:15px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:#edf6f0;color:#075c34;font-size:25px;cursor:pointer;z-index:3}
.modal-brand{text-align:center;margin-bottom:12px}.modal-brand img{width:185px;max-width:80%}
.modal-kicker{display:inline-block;font-size:11px;font-weight:900;letter-spacing:1.4px;color:#087a43;background:#e8f7ef;padding:6px 10px;border-radius:20px}
.site-modal-box h2{margin:10px 0 5px;color:#123c29;font-family:Poppins,sans-serif}
.modal-subtitle{margin:0 0 20px;color:#68776e;font-size:13px;line-height:1.55}
.modal-form{margin-top:15px}.modal-form .field{margin-bottom:14px}.modal-submit{width:100%;justify-content:center}
.whatsapp-modal-head{display:flex;align-items:center;gap:14px;padding-right:35px;margin-bottom:15px}.whatsapp-modal-icon{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;border-radius:16px;background:#25d366;color:#fff;font-size:28px}
.wa-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wa-grid .full{grid-column:1/-1}
.btn-whatsapp{background:#25d366;color:#fff;border-color:#25d366}.btn-whatsapp:hover{background:#1fb457;color:#fff}
@media(max-width:600px){.site-modal-box{padding:23px 17px;border-radius:20px}.wa-grid{grid-template-columns:1fr}.wa-grid .full{grid-column:auto}.whatsapp-modal-head{align-items:flex-start}.modal-brand img{width:160px}}


/* =========================================================
   FINAL OVERRIDE
   CALL = BLUE / WHATSAPP = GREEN
   ANIMATED + MOBILE FRIENDLY
   ========================================================= */

.nav-cta .btn-call,
.hero-actions .btn-call,
.contact-actions .btn-call {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: linear-gradient(135deg,#0878d1,#0057a8) !important;
    color: #fff !important;
    border: 2px solid #0878d1 !important;
    box-shadow: 0 6px 18px rgba(0,102,204,.30);
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.nav-cta .btn-call:hover,
.hero-actions .btn-call:hover,
.contact-actions .btn-call:hover {
    transform: translateY(-3px) scale(1.04);
    background: linear-gradient(135deg,#0b8bea,#0062b8) !important;
    box-shadow: 0 10px 28px rgba(0,102,204,.45);
}

.btn-call i {
    display: inline-block;
    animation: solarCallRing 1.5s ease-in-out infinite;
    transform-origin: center;
}

@keyframes solarCallRing {
    0%,100% { transform: rotate(0deg); }
    10% { transform: rotate(-15deg); }
    20% { transform: rotate(15deg); }
    30% { transform: rotate(-12deg); }
    40% { transform: rotate(12deg); }
    50% { transform: rotate(0deg); }
}

.nav-cta .btn-primary,
.hero-actions .btn-primary,
.contact-actions .btn-primary,
.btn-whatsapp {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: linear-gradient(135deg,#25D366,#128C7E) !important;
    color: #fff !important;
    border: 2px solid #25D366 !important;
    box-shadow: 0 6px 20px rgba(37,211,102,.35);
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.nav-cta .btn-primary:hover,
.hero-actions .btn-primary:hover,
.contact-actions .btn-primary:hover,
.btn-whatsapp:hover {
    transform: translateY(-3px) scale(1.04);
    background: linear-gradient(135deg,#2eea73,#0b806f) !important;
    box-shadow: 0 10px 28px rgba(37,211,102,.50);
}

.btn-primary .fa-whatsapp,
.btn-whatsapp .fa-whatsapp {
    display: inline-block;
    animation: solarWhatsappPulse 1.5s ease-in-out infinite;
}

@keyframes solarWhatsappPulse {
    0%,100% { transform: scale(1); }
    50% { transform: scale(1.18); }
}

/* Shine */
.nav-cta .btn-call::before,
.nav-cta .btn-primary::before,
.hero-actions .btn-call::before,
.hero-actions .btn-primary::before,
.contact-actions .btn-call::before,
.contact-actions .btn-primary::before,
.btn-whatsapp::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.40),transparent);
    transform: skewX(-20deg);
    animation: solarButtonShine 3s linear infinite;
    pointer-events: none;
}

@keyframes solarButtonShine {
    0% { left: -120%; }
    45%,100% { left: 130%; }
}

/* Floating buttons */
.float-whatsapp {
    background: linear-gradient(135deg,#25D366,#128C7E) !important;
    color: #fff !important;
    animation: solarFloatWhatsapp 2s ease-in-out infinite;
}

.float-call {
    background: linear-gradient(135deg,#0878d1,#0057a8) !important;
    color: #fff !important;
    animation: solarFloatCall 2s ease-in-out infinite;
}

.float-call i {
    animation: solarCallRing 1.5s ease-in-out infinite;
}

.float-whatsapp i {
    animation: solarWhatsappPulse 1.5s ease-in-out infinite;
}

.float-btn:hover {
    transform: scale(1.12) !important;
}

@keyframes solarFloatWhatsapp {
    0%,100% { box-shadow: 0 8px 20px rgba(37,211,102,.30); }
    50% { box-shadow: 0 8px 30px rgba(37,211,102,.65); }
}

@keyframes solarFloatCall {
    0%,100% { box-shadow: 0 8px 20px rgba(8,120,209,.30); }
    50% { box-shadow: 0 8px 30px rgba(8,120,209,.65); }
}

/* Mobile: keep both Call and WhatsApp visible */
@media (max-width:420px) {
    .nav-cta .btn-call,
    .nav-cta .btn-primary {
        display: inline-flex !important;
        min-width: 72px;
        padding: 8px 9px;
        font-size: 10px;
    }

    .nav-cta {
        gap: 4px;
    }
}

/* Respect reduced-motion accessibility preference */
@media (prefers-reduced-motion: reduce) {
    .btn-call i,
    .btn-primary .fa-whatsapp,
    .btn-whatsapp .fa-whatsapp,
    .float-call,
    .float-whatsapp,
    .nav-cta .btn-call::before,
    .nav-cta .btn-primary::before,
    .hero-actions .btn-call::before,
    .hero-actions .btn-primary::before,
    .contact-actions .btn-call::before,
    .contact-actions .btn-primary::before,
    .btn-whatsapp::before {
        animation: none !important;
    }
}
