/* ===== FOOTER WIDGETS ===== */

.fl-page-footer-widgets {
    position: relative;
    padding: 80px 0 40px;
    background: var(--charcoal-blue-dark);
    border-top: none;
}

.fl-page-footer-widgets-container {
    max-width: var(--container-footer-max) !important;
}

.fl-page-footer-widgets .fl-page-footer-widget-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.col-lg-3.fl-page-footer-widget-col-1,
.col-lg-3.fl-page-footer-widget-col-2,
.col-md-3.fl-page-footer-widget-col-3,
.col-md-3.fl-page-footer-widget-col-4 {
    flex: 0 0 100%;
    max-width: 100%;
}

/* All footer text white */
.fl-page-footer-widgets h1,
.fl-page-footer-widgets h2,
.fl-page-footer-widgets h3,
.fl-page-footer-widgets h4,
.fl-page-footer-widgets h5,
.fl-page-footer-widgets h6 {
    color: var(--tan);
}

.fl-page-footer-widgets a {
    color: var(--rosy-granite);
    font-size: 15px;
}

.fl-page-footer-widgets a:hover {
    color: var(--white);
    text-decoration: none;
}

/* Shape Divider */
.fl-page-footer-widgets .fl-builder-layer {
    bottom: -1px;
}

.fl-page-footer-widgets .fl-builder-bottom-edge-layer>* {
    width: 100%;
    left: auto;
    right: auto;
    height: 30px;
    top: auto;
    bottom: 0;
    transform: scaleX(-1) scaleY(-1);
}

.fl-page-footer-widgets .fl-builder-bottom-edge-layer .fl-shape-content .fl-shape {
    fill: #0C0E12;
}

/* Footer Logo */
.fl-page-footer-widgets .rw-footer-logo {
    text-align: left;
    margin: 0 auto 20px;
    max-width: 300px;
}

/* Widget Titles */
.fl-page-footer-widgets h4.fl-widget-title {
    background: transparent;
    text-transform: uppercase;
    font: var(--font-sans);
    font-size: 17px;
    letter-spacing: 0.2em;
    line-height: 1.2;
    font-weight: 700;
    color: var(--tan);
    padding: 30px 0 30px;
}

.fl-page-footer-widgets aside#nav_menu-2 {
    background-color: transparent;
    min-height: 0;
}

/* Footer Form Description */
.fl-page-footer-widgets p.gform_description {
    margin-bottom: 15px;
    font-size: 16px;
    text-align: center;
}

/* Footer Address */
.fl-page-footer-widgets p,
.rw-footer-address p {
    font-size: 15px;
    text-align: left;
    color: var(--rosy-granite);
}

.fl-page-footer-widgets .textwidget {
    text-align: left;
}

/* Footer Locations Grid */
.rw-footer-locations {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    overflow: visible;
}

.rw-footer-locations h3 {
    font-size: 28px;
}

/* Footer Nav Menu */
.fl-widget.rw-footer-privacy-menu ul,
.menu-footer-menu-container {
    text-align: left;
}

/* Social Icons */
.rw-footer-social .fl-social-icons {
    padding: 0;
    margin-left: 0;
    text-align: center;
}

.rw-footer-social .fl-social-icons a {
    display: inline-block;
    margin-right: 30px;
    margin-bottom: 10px;
    background-color: transparent;
    border-radius: 50px;
    border: 1px solid rgba(161, 154, 150, 0.3);
    transition: border var(--transition);
}

.rw-footer-social .fl-social-icons a:last-of-type {
    margin-left: 0;
}

.rw-footer-social .fl-social-icons a:hover {
    border: 1px solid rgba(162, 125, 112, 1);
}

.rw-footer-social .fl-social-icons a i.fas,
.rw-footer-social .fl-social-icons a i.fab {
    font-size: 24px;
    vertical-align: middle;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    color: var(--rosy-granite);
}

.rw-footer-social .fl-social-icons a:hover i.fas,
.rw-footer-social .fl-social-icons a:hover i.fab {
    color: var(--white);
}


/* ===== FOOTER FORM (gform_5 — inline email signup) ===== */

.fl-page-footer-widgets form#gform_5 {
    display: flex;
    flex-direction: column;
}

.gform_wrapper.gravity-theme form#gform_5 .gform-body {
    width: 100%;
}

.gform_wrapper.gravity-theme form#gform_5 .gform-body .gfield {
    padding-right: 0;
}

.gform_wrapper.gravity-theme form#gform_5 .ginput_complex .name_last {
    margin-bottom: 0 !important;
}

.fl-page-footer-widgets form#gform_5 .gform_footer,
.fl-page-footer-widgets form#gform_5 .gform_page_footer {
    padding: 10px 0 0 !important;
}

.gform_wrapper.gravity-theme form#gform_5 .gform_footer button,
.gform_wrapper.gravity-theme form#gform_5 .gform_footer input,
.gform_wrapper.gravity-theme form#gform_5 .gform_page_footer button,
.gform_wrapper.gravity-theme form#gform_5 .gform_page_footer input {
    padding: 8px 20px;
    font-size: 18px;
    text-transform: uppercase;
    border-radius: 3px;
    font-weight: 400;
    margin-bottom: 0 !important;
}


/* ===== FOOTER RESPONSIVE ===== */

@media (min-width: 480px) {

    .rw-footer-social .fl-social-icons a i.fas,
    .rw-footer-social .fl-social-icons a i.fab {
        width: 60px;
        height: 60px;
        line-height: 60px;
    }
}

@media (min-width: 641px) {

    .gform_wrapper.gravity-theme form#gform_6 .gform_footer button,
    .gform_wrapper.gravity-theme form#gform_6 .gform_footer input,
    .gform_wrapper.gravity-theme form#gform_6 .gform_page_footer button,
    .gform_wrapper.gravity-theme form#gform_6 .gform_page_footer input {
        padding: 11px 20px;
    }

    .rw-footer-locations {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Inline form layout */
    .fl-page-footer-widgets form#gform_5 {
        flex-direction: row;
    }

    .gform_wrapper.gravity-theme form#gform_5 .gform-body {
        width: calc(100% - 112px);
    }

    .gform_wrapper.gravity-theme form#gform_5 .gform-body .gfield {
        padding-right: 10px;
    }

    .fl-page-footer-widgets form#gform_5 .gform_footer,
    .fl-page-footer-widgets form#gform_5 .gform_page_footer {
        padding: 0 !important;
    }

    .gform_wrapper.gravity-theme form#gform_5 .gform_footer button,
    .gform_wrapper.gravity-theme form#gform_5 .gform_footer input,
    .gform_wrapper.gravity-theme form#gform_5 .gform_page_footer button,
    .gform_wrapper.gravity-theme form#gform_5 .gform_page_footer input {
        padding: 34px 31px !important;
    }
}

@media (min-width: 768px) {

    .fl-page-footer-widgets h4.fl-widget-title,
    .fl-page-footer-widgets p.gform_description,
    .rw-footer-social .fl-social-icons,
    .rw-footer-address p {
        text-align: left;
    }

    .fl-page-footer-widgets .rw-footer-logo {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }

    .fl-page-footer-widgets aside p {
        font-size: 14px;
    }

    .menu-footer-menu-container li a {
        padding: 10px 20px !important;
    }
}

@media (min-width: 992px) {
    .fl-page-footer-widgets {
        min-height: 500px;
    }

    .fl-page-footer-widget-col-2 {
        padding-left: 5%;
    }

    .fl-page-footer-widgets aside p {
        font-size: 15px;
    }

    .menu-footer-menu-container li a {
        padding: 10px 40px !important;
    }

    p.rw-footer-phone {
        font-size: 24px !important;
    }

    .gform_wrapper.gravity-theme form#gform_5 .gform_footer button,
    .gform_wrapper.gravity-theme form#gform_5 .gform_footer input,
    .gform_wrapper.gravity-theme form#gform_5 .gform_page_footer button,
    .gform_wrapper.gravity-theme form#gform_5 .gform_page_footer input {
        padding: 29px 31px !important;
    }

}

@media (min-width: 1100px) {
    .fl-page-footer-widgets .container {
        max-width: 100%;
        width: 100%;
        padding: 0 clamp(20px, 4vw, 60px);
    }

    .col-lg-3.fl-page-footer-widget-col-1,
    .col-lg-3.fl-page-footer-widget-col-2,
    .col-md-3.fl-page-footer-widget-col-3,
    .col-md-3.fl-page-footer-widget-col-4 {
        flex: 0 0 25%;
        max-width: 25%;
    }


}