/*
==========================================================================
BLUEPRINT — CONTACT FORM CARD
==========================================================================
*/

/* CARD */

.rw-cf-card {
    position: relative;
    background: var( --cf-card-bg, #ffffff );
    border-radius: var( --cf-border-radius, 17px );
    overflow: hidden;
}


/* HAZE */

.rw-cf-haze {
    position: absolute;
    inset: 0;
    background: var( --cf-haze-bg, none );
    background-color: var( --cf-haze-color, transparent );
    background-size: var( --cf-haze-bg-size, auto );
    z-index: 1;
    pointer-events: none;
}

.rw-cf-haze--image {
    opacity: var( --cf-haze-img-opacity, 0.2 );
    background-size: cover;
    background-position: center;
}


/* INNER */

.rw-cf-inner {
    position: relative;
    z-index: 2;
    padding: var( --cf-padding, 60px );
}


/* HEADER */

.rw-cf-header {
    margin-bottom: 32px;
}

.rw-cf-eyebrow {
    display: block;
    color: var( --cf-eye-color );
    margin-bottom: 8px;
}

.rw-cf-heading {
    color: var( --cf-title-color );
    margin: 0 0 16px;
}

.rw-cf-content {
    color: var( --cf-title-color );
}

.rw-cf-content p:last-child {
    margin-bottom: 0;
}


/* GRAVITY FORM */

.rw-cf-form .gform_wrapper {
    margin: 0;
}

.rw-cf-form .gfield_label,
.rw-cf-form .ginput_complex label {
    color:          var( --cf-form-label-color ) !important;
    font-size:      var( --cf-form-label-size, inherit ) !important;
    font-weight:    var( --cf-form-label-weight, inherit ) !important;
    text-transform: var( --cf-form-label-transform, inherit ) !important;
    letter-spacing: var( --cf-form-label-spacing, normal ) !important;
}

.rw-cf-form .gfield_required {
    color: var( --cf-form-required-color ) !important;
}

.rw-cf-form input:not([type="submit"]),
.rw-cf-form select,
.rw-cf-form textarea {
    background-color: var( --cf-form-input-bg, #ffffff ) !important;
    color: var( --cf-form-input-color, #333333 ) !important;
    border-color: var( --cf-form-border-color, #dddddd ) !important;
    border-radius: var( --cf-form-input-radius, 4px ) !important;
    box-shadow: var( --cf-form-shadow, none ) !important;
}

.rw-cf-form input:not([type="submit"]),
.rw-cf-form select {
    min-height: var( --cf-form-input-height, auto );
}

.rw-cf-form input::placeholder,
.rw-cf-form textarea::placeholder {
    color: var( --cf-form-placeholder-color, rgba(0,0,0,0.4) ) !important;
}

/* Submit button — ::after ring handled by blueprint-suite gf-submit.css */
.rw-cf-form input[type="submit"],
.rw-cf-form button[type="submit"] {
    background:     var( --cf-btn-bg ) !important;
    color:          var( --cf-btn-text ) !important;
    border:         none !important;
    border-radius:  var( --cf-btn-radius, var( --rw-btn-radius, 4px ) ) !important;
    padding:        var( --cf-btn-padding, var( --rw-btn-pad-t, 12px ) var( --rw-btn-pad-r, 24px ) var( --rw-btn-pad-b, 12px ) var( --rw-btn-pad-l, 24px ) ) !important;
    font-size:      var( --rw-btn-font-size, 16px ) !important;
    font-weight:    var( --rw-btn-font-weight, 500 ) !important;
    text-transform: var( --rw-btn-case, capitalize ) !important;
    transition:     background 0.25s ease, color 0.25s ease !important;
    cursor: pointer;
    line-height: 1.5;
}

.rw-cf-form input[type="submit"]:hover,
.rw-cf-form button[type="submit"]:hover {
    background: var( --cf-btn-bg-hover ) !important;
    color:      var( --cf-btn-text-hover ) !important;
}

/* input[type=submit] fallback — no ::after support on input elements */
.rw-cf-form input[type="submit"] {
    border: var( --rw-gf-ring-w, 0px ) solid var( --rw-gf-ring, transparent ) !important;
}


/* RESPONSIVE */

@media screen and ( max-width: 768px ) {

    .rw-cf-inner {
        padding: 40px 30px;
    }

}

@media screen and ( max-width: 576px ) {

    .rw-cf-inner {
        padding: 30px 20px;
    }

}