/* WAC Listing Form (CF7) */
.wac-listing-form {
    max-width: 700px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #ECE8DF;
    border-radius: 10px;
    padding: 35px 30px;
    font-family: 'Poppins', sans-serif;
}

.wac-listing-form p {
    margin: 0;
}

.wac-form-field {
    display: block;
    margin: 0 0 22px !important;
}

.wac-form-field label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 22px;
    color: #1D1D1B;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

/* Two-column rows */
.wac-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 26px;
}

/* Inputs */
.wac-listing-form input[type="text"],
.wac-listing-form input[type="tel"],
.wac-listing-form input[type="email"],
.wac-listing-form input[type="url"],
.wac-listing-form textarea {
    width: 100%;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    color: #1D1D1B;
    background: #ffffff;
    border: 1px solid #E3E1DB;
    border-radius: 8px;
    padding: 13px 16px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wac-listing-form input::placeholder,
.wac-listing-form textarea::placeholder {
    color: #A9A7A1;
    opacity: 1;
}

.wac-listing-form input:focus,
.wac-listing-form textarea:focus {
    border-color: #D23636;
    box-shadow: 0 0 0 3px rgba(210, 54, 54, 0.08);
}

.wac-listing-form textarea {
    min-height: 130px;
    resize: vertical;
}

/* Submit button with arrow — the wrapper IS the red button, the input sits inside it */
.wac-form-submit {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    background: #D23636;
    border-radius: 6px;
    cursor: pointer;
    padding: 0 22px 0 0;
    margin: 6px 0 14px !important;
    transition: background 0.3s ease;
}

.wac-form-submit:hover {
    background: #A82B2B;
}

.wac-listing-form .wpcf7-submit {
    display: inline-block;
    width: auto !important;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 24px;
    color: #ffffff;
    background: transparent !important;
    border: none;
    border-radius: 6px;
    padding: 12px 10px 12px 24px;
    margin: 0;
    cursor: pointer;
    box-shadow: none;
}

.wac-form-submit::after {
    content: "\2192";
    color: #ffffff;
    font-weight: 600;
    font-size: 15px;
    line-height: 1;
    transition: transform 0.3s ease;
}

.wac-form-submit:hover::after {
    transform: translateX(4px);
}

/* Footnote */
.wac-form-note {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 20px;
    color: #85837D;
    margin: 0 !important;
}

/* CF7 validation + response styling */
.wac-listing-form .wpcf7-not-valid-tip {
    font-size: 12px;
    color: #D23636;
    margin-top: 6px;
}

.wac-listing-form .wpcf7-response-output {
    border-radius: 8px;
    border-color: #D23636;
    font-size: 14px;
    padding: 12px 16px;
    margin: 20px 0 0;
}

.wpcf7-form input[type=submit] {
    margin-bottom: 0px !important;
}

.wac-listing-form .wpcf7-spinner {
    margin: 0 0 0 12px;
}

@media (max-width: 600px) {
    .wac-listing-form {
        padding: 25px 18px;
    }

    .wac-form-row {
        grid-template-columns: 1fr;
    }
}

.banner-eyebrow .elementor-heading-title,
.about-eyebrow h2,
.contact-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    /* Space between the line and text */
}

.banner-eyebrow .elementor-heading-title::before,
.about-eyebrow h2::before,
.contact-eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    background: #D23636;
    flex: 0 0 auto;
    display: block;
}

.c27-main-header.header-style-alternate+.c27-top-content-margin,
#c27-site-wrapper .header.header-style-alternate:not(.header-scroll),
.header.header-style-alternate:not(.header-scroll),
.header.header-style-alternate.header-dark-skin.header-scroll {
    @media only screen and (min-width: 1200px) {
        height: 77px !important;
    }

    @media only screen and (min-width: 1200px) and (max-width: 1550px) {
        height: 77px !important;
    }
}

.header.header-style-alternate:not(.header-scroll) .header-container .header-top .logo a img,
.header.header-style-alternate.header-scroll .header-container .header-top .logo a img {
    max-height: 50px !important;
}

@media (min-width: 1551px) {
    .c27-main-header.header-style-alternate+.c27-top-content-margin {
        height: 0px !important;
    }
}

@media only screen and (min-width: 1201px) {
    .c27-top-content-margin {
        height: 0px;
    }
}

.main-title-banner .elementor-heading-title i {
    position: relative;
    display: inline-block;
    font-style: italic;
}

.main-title-banner .elementor-heading-title i::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 5px;
    background: #D23636;
    border-radius: 3px;
}

p.wac-form-note {
    margin-top: 12px !important;
}

.wac-form-field label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 12;
    line-height: 22px;
    color: #1D1D1B;
    margin-bottom: 4px !important;
    letter-spacing: 0.5px;
}


.elementor-element.e-con-full.home-banner {
    padding-block: 77px;

    .main-title-banner {
        max-width: 635px !important;
    }

    .banner-desc.elementor-widget-text-editor {
        max-width: 540px !important;
    }
}

.elementor-8247 .elementor-element.elementor-element-e3bd1a7 .elementor-widget-container {
    display: flex;
    align-items: center;
}

.elementor-8247 .elementor-counter .elementor-counter-number-wrapper {
    line-height: 1.3;
}

.learn-more-btn {
    margin-top: 32px;

    .elementor-button-link {
        border-radius: 8px;

        .elementor-button-content-wrapper {
            align-items: center;
        }
    }
}

.header-menu-left .i-nav>ul,
.header-menu-right .i-nav>ul {
    font-family: Poppins;
    font-weight: 500;
    font-style: Medium;
    font-size: 13.5px;
    line-height: 21.6px;
    letter-spacing: 0%;

}

.featured-search .fs-tabs .tab-content {
    padding: 8px 8px 8px !important;
}

.customsearch select {
    font-family: Poppins;
    font-weight: 500;
    font-style: Medium;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 0%;
}

@media only screen and (max-width: 1200px) {
    .header-dark-skin .mobile-menu-lines i {
        color: #000 !important;
    }
}

@media only screen and (max-width: 1200px) {
    .mobile-menu {
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        margin-right: 0;
    }
}

@media only screen and (max-width: 768px) {
    .mobile-menu {
        right: 10px;
    }
}

@media (max-width: 782px) {
    .search-form {
        flex-direction: column;
        align-items: stretch;
    }

    .search-form__field {
        width: 100%;
        flex: 0 0 auto;
    }

    .search-form__field select {
        width: 100%;
    }

    .search-form__submit {
        width: 100%;
    }
}

.header.header-menu-right .header-center {
    justify-content: flex-end;
    margin-right: 0px !important;
}

.mobile-menu {
    position: relative;
    z-index: 99999;
}

.mob-sign-in,
.user-area {
    z-index: 1;
}

@media (max-width: 768px) {
    .mobile-menu {
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 9999;
    }

    .header-top {
        position: relative;
    }
	.footer-bottom .e-con-inner

 {
    padding-left: 12px !important;
}
}

.header.header-scroll.header-scroll-dark-skin .header-skin {
    border: none !important;
}

.wac-form-submit {
    overflow: hidden;
    position: relative;

    .wpcf7-spinner {
        margin: 0;
    }
}

.wac-listing-form .wac-form-field {
    input {
        margin-bottom: 20px;

        &:focus {
            box-shadow: unset !important;
        }
    }

    .error {
        position: absolute;
        left: 0;
        bottom: -22px;
        font-size: 12px;
    }
}

.contact-eyebrow {
    align-items: center !important;
    --align-items: center;
}

.wp-footer {
    >.e-con-inner {
        @media (min-width: 1200px) {
            column-gap: 48px;
            --column-gap: 48px;
            --content-width: 1180px;
        }
    }
}

.ekit-wid-con {
    .elementor-icon-list-items {
        .elementor-icon-list-item {
            .ekit_page_list_content .elementor-icon-list-text {
                padding: 0;
            }
        }
    }
}

/* Base menu link styling (adjust if you already have this) */
#menu-main-menu.main-nav>li>a {
    position: relative;
    color: #000;
    font-family: Poppins, sans-serif;
    font-weight: 500;
    font-size: 14px;
    transition: color 0.25s ease;
    padding-bottom: 6px;
    /* room for underline */
}

/* Hover state */
#menu-main-menu.main-nav>li>a:hover {
    color: #D23636;
}

/* Underline animation on hover */
#menu-main-menu.main-nav>li>a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: #D23636;
    transition: width 0.25s ease;
}

#menu-main-menu.main-nav>li>a:hover::after {
    width: 100%;
}

/* Active / current page state */
#menu-main-menu.main-nav>li.current-menu-item>a,
#menu-main-menu.main-nav>li.current_page_item>a {
    color: #D23636;
    font-weight: 600;

    @media (max-width: 1199.98px) {
        border-right: unset !important;
        border-left: 2px solid var(--accent) !important;
    }

    &::after {
        @media (max-width: 1200px) {
            display: none;
        }
    }
}

#menu-main-menu.main-nav>li.current-menu-item>a::after,
#menu-main-menu.main-nav>li.current_page_item>a::after {
    width: 100%;
}

/* Footer social menu - base */
#menu-footer-social-links.social-nav>li>a {
    color: rgb(85, 85, 88);
    transition: color 0.25s ease, transform 0.25s ease;
    display: inline-block;
}

/* Hover state */
#menu-footer-social-links.social-nav>li>a:hover {
    color: #D23636;
    transform: translateY(-2px);
}

/* Active (being clicked) state */
#menu-footer-social-links.social-nav>li>a:active {
    color: #a82424;
    transform: translateY(0);
}

/* In case you later add a page-links footer menu with WordPress's
   current-menu-item class, this keeps it consistent with the header */
.footer .main-nav>li.current-menu-item>a,
.footer .main-nav>li.current_page_item>a {
    color: #D23636;
    font-weight: 600;
}


.wp-footer .elementor-widget-elementskit-page-list a {
    color: rgb(36, 36, 41);
    transition: color 0.25s ease;
}

.wp-footer .elementor-widget-elementskit-page-list a:hover {
    color: #D23636;
}

.wp-footer .elementor-widget-elementskit-page-list a.footer-menu-active .ekit_page_list_title_title {
    color: #B6B4AE;
    font-weight: 600;
    border-bottom: 1px solid #B6B4AE;
}

.transparent .featured-search .fs-tabs .tab-content {
    border-radius: 16px !important;
}

.elementor-element.footer-bottom {
    padding: 0 !important;
    margin: 0 !important;

    >.e-con-inner {
        max-width: 1180px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
}
/* Fix GTranslate header dropdown to open downward */
.main-nav li.gtranslate-menu-item {
    align-items: flex-start !important;
}
.gtranslate-menu-item .gt_switcher {
    display: flex !important;
    flex-direction: column !important;
}
.gtranslate-menu-item .gt_selected {
    order: 1 !important;
}
.gtranslate-menu-item .gt_option {
    order: 2 !important;
}
/* Fix GTranslate header dropdown on mobile/tablet (slide-out menu) */
@media only screen and (max-width: 1200px) {
    .i-nav .gtranslate-menu-item {
        height: auto !important;
        padding: 10px 20px !important;
        box-sizing: border-box !important;
    }
    .i-nav .gtranslate-menu-item .gtranslate_wrapper,
    .i-nav .gtranslate-menu-item .gt_switcher,
    .i-nav .gtranslate-menu-item .gt_option {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .i-nav .gtranslate-menu-item .gt_switcher a {
        height: auto !important;
        padding: 3px 5px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}