/* ==========================================================================
   Call to Action Section
   ========================================================================== */

.rw-cta-section {
    padding-top: var( --pad-top, 30px );
    padding-bottom: var( --pad-bottom, 60px );
    padding-left: 20px;
    padding-right: 20px;
}

.rw-cta-section__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 22.5px 27.5px 22.5px 35px;
    background: #ffffff;
    border: 2px solid #000000;
    border-radius: 999px;
}

/* ==========================================================================
   Heading
   ========================================================================== */

.rw-cta-section__heading {
    flex: 1;
    margin: 0;
}

.rw-cta-section__heading p {
    margin: 0;
}

/* ==========================================================================
   Buttons — override wrapper margin/padding since it sits inline
   ========================================================================== */

.rw-cta-section .rw-btn-wrapper {
    flex-shrink: 0;
    flex-wrap: wrap;
    margin: 0;
}

/* Dual button variant — second button gets outline style */
.rw-cta-section__inner--dual .rw-btn-wrapper .rw-prim-btn:last-child {
    background: transparent;
    color: var( --rw-primary );
    border: 2px solid var( --rw-primary );
}

.rw-cta-section__inner--dual .rw-btn-wrapper .rw-prim-btn:last-child:hover {
    background: var( --rw-primary );
    color: #ffffff;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media ( max-width: 992px ) {
    .rw-cta-section {
        padding-top: calc( var( --pad-top, 20px ) / 2 );
        padding-bottom: calc( var( --pad-bottom, 40px ) / 2 );
    }

    .rw-cta-section__inner {
        border-radius: 30px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 25px 30px;
    }

    .rw-cta-section .rw-btn-wrapper {
        width: 100%;
        justify-content: center;
    }
}

@media ( max-width: 768px ) {
    .rw-cta-section .rw-btn-wrapper {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

    .rw-cta-section__heading {
        font-size: 25px;
    }
}

@media ( max-width: 640px ) {
    .rw-cta-section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .rw-cta-section__inner {
        padding: 40px 20px;
        align-items: center;
        text-align: center;
    }

    .rw-cta-section .rw-btn-wrapper {
        justify-content: center;
    }
}