/* ==========================================================
   FIGORA ONE v2.1
   Newsletter Section
   ========================================================== */

.newsletter{
    padding:var(--section-space) 0;
    background:var(--gradient-light);
}

.newsletter-wrapper{

    position:relative;

    overflow:hidden;

    display:grid;
    grid-template-columns:1.2fr .8fr;
    align-items:center;
    gap:var(--space-2xl);

    padding:64px;

    background:var(--gradient-brand);

    border-radius:var(--radius-xl);

    box-shadow:var(--shadow-lg);

    isolation:isolate;
}

/* Decorative Shapes */

.newsletter-wrapper::before{

    content:"";

    position:absolute;

    width:320px;
    height:320px;

    right:-120px;
    top:-120px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    z-index:0;
}

.newsletter-wrapper::after{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    left:-70px;
    bottom:-70px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    z-index:0;
}

.newsletter-content,
.newsletter-form{

    position:relative;

    z-index:1;
}

/* ----------------------------------------------------------
   Content
---------------------------------------------------------- */

.newsletter .section-subtitle{

    display:inline-block;

    margin-bottom:var(--space-sm);

    padding:8px 18px;

    background:rgba(255,255,255,.18);

    color:var(--color-white);

    border-radius:var(--radius-round);

    font-size:var(--fs-sm);

    font-weight:var(--fw-semibold);

    letter-spacing:.04em;

    text-transform:uppercase;
}

.newsletter .section-title{

    margin-bottom:var(--space-md);

    color:var(--color-white);
}

.newsletter .section-description{

    margin:0;

    color:rgba(255,255,255,.90);

    max-width:600px;
}

/* ----------------------------------------------------------
   Form
---------------------------------------------------------- */

.newsletter-form form{

    display:flex;

    gap:var(--space-sm);
}

.newsletter-form input{

    flex:1;

    padding:18px 22px;

    border:none;

    border-radius:var(--radius-md);

    background:var(--color-white);

    color:var(--color-heading);

    font-size:var(--fs-base);

    box-shadow:var(--shadow-sm);

    transition:
        box-shadow var(--transition),
        transform var(--transition);
}

.newsletter-form input::placeholder{

    color:var(--color-text-light);
}

.newsletter-form input:focus{

    outline:none;

    transform:translateY(-2px);

    box-shadow:
        0 0 0 4px rgba(255,255,255,.25),
        var(--shadow-md);
}

.newsletter-form .btn{

    flex-shrink:0;

    min-width:170px;
    background:linear-gradient(135deg, #2DD4BF 0%, #2563EB 100%);
}

/* ----------------------------------------------------------
   Note
---------------------------------------------------------- */

.newsletter-note{

    margin-top:var(--space-sm);

    font-size:var(--fs-sm);

    color:rgba(255,255,255,.82);
}

/* ----------------------------------------------------------
   Responsive
---------------------------------------------------------- */

@media (max-width:991px){

    .newsletter-wrapper{

        grid-template-columns:1fr;

        text-align:center;

        padding:56px 40px;
    }

    .newsletter .section-description{

        margin-inline:auto;
    }

    .newsletter-form form{

        flex-direction:column;
    }

    .newsletter-form .btn{

        width:100%;
    }

}

@media (max-width:767px){

    .newsletter{

        padding:var(--section-space-mobile) 0;
    }

    .newsletter-wrapper{

        padding:40px 24px;

        gap:var(--space-xl);
    }

    .newsletter .section-title{

        font-size:var(--fs-h3);
    }

    .newsletter-form input{

        padding:16px 18px;
    }

}