/* ==========================================
   PRODUCTS SECTION
========================================== */
.products{

    position:relative;

    overflow:hidden;

    background:
        radial-gradient(circle at top left,
        rgba(20,83,45,.06),
        transparent 35%),
        radial-gradient(circle at bottom right,
        rgba(132,204,22,.07),
        transparent 40%),
        var(--bg-light);

}
.products::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    left:-120px;

    top:-120px;

    border-radius:50%;

    background:rgba(31,125,83,.06);

    filter:blur(90px);

    animation:blobOne 12s ease-in-out infinite;

}

.products::after{

    content:"";

    position:absolute;

    width:360px;

    height:360px;

    right:-120px;

    bottom:-120px;

    border-radius:50%;

    background:rgba(132,204,22,.07);

    filter:blur(80px);

    animation:blobTwo 14s ease-in-out infinite;

}
.products-grid{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:70px;

}
.product-card{

    position:relative;

    overflow:hidden;

    border-radius:24px;

    background:rgba(255,255,255,.72);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.70);

    box-shadow:
        0 20px 45px rgba(0,0,0,.08);

    transition:
        transform .45s ease,
        box-shadow .45s ease,
        border-color .45s ease;

}

.product-image{

    height:240px;

    overflow:hidden;

    border-radius:24px 24px 0 0;

}
.product-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(31,125,83,.08),
        transparent 70%
    );

    opacity:0;

    transition:opacity .4s ease;

}
.product-card:hover{

    transform:translateY(-12px);

    border-color:rgba(31,125,83,.28);

    box-shadow:
        0 35px 70px rgba(0,0,0,.14);

}

.product-card:hover::before{

    opacity:1;

}
.product-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:
        transform .8s ease;

}
.product-card:hover .product-image img{

    transform:
        scale(1.08)
        rotate(1deg);

}
.product-content{

    padding:28px;

    position:relative;

    z-index:2;

}
.product-content h3{

    font-size:24px;

    line-height:1.3;

    margin-bottom:14px;

}
.product-content p{

    font-size:15px;

    line-height:1.8;

    color:var(--text-light);

    margin-bottom:20px;

}
.product-link{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--primary);

    font-weight:600;

    font-size:15px;

    transition:
        color .3s ease,
        gap .3s ease;

}
.product-link:hover{

    color:var(--secondary);

    gap:14px;

}
.products-cta{

    position:relative;

    z-index:2;

    text-align:center;

    margin-top:70px;

}

/* Products page grid spacing */
.products-page{
    padding-top:60px;
}

/* ==========================================
   PRODUCT DETAIL
========================================== */
.product-detail{
    padding-top:80px;
}
.product-detail-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}
.product-detail-image{
    border-radius:var(--radius-xl);
    overflow:hidden;
    box-shadow:var(--shadow-lg);
}
.product-detail-content h1{
    margin:16px 0;
}
.product-detail-desc{
    margin-bottom:24px;
}
.product-detail-features{
    margin-bottom:30px;
}
.product-detail-features li{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 0;
    color:var(--text-dark);
}
.product-detail-features .check{
    color:var(--secondary);
}

/* ==========================================
   CTA BANNER
========================================== */
.cta-banner{
    background:var(--gradient-primary);
    text-align:center;
}
.cta-banner-inner h2{
    color:white;
    margin-bottom:12px;
}
.cta-banner-inner p{
    color:rgba(255,255,255,.85);
    margin-bottom:26px;
}
.cta-banner .btn-primary{
    background:white;
    color:var(--primary);
}

@media (max-width:992px){

    .products-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:576px){

    .products-grid{

        grid-template-columns:1fr;

    }

}