.thf-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.thf-form-message {
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 3px;
}

.thf-form-message.success {
    color: #185b2b;
    background: #eaf7ed;
}

.thf-form-message.error {
    color: #8b1e1e;
    background: #fdecec;
}

.thf-elementor-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 18px;
    column-gap: 18px;
}

.thf-elementor-field,
.thf-elementor-submit-wrap {
    min-width: 0;
}

.thf-col-50 {
    grid-column: span 1;
}

.thf-col-100 {
    grid-column: 1 / -1;
}

.thf-elementor-form label {
    display: block;
    margin-bottom: 7px;
}

.thf-elementor-form .required {
    color: #b42318;
}

.thf-elementor-form .thf-control {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.thf-elementor-form textarea.thf-control {
    resize: vertical;
}

.thf-elementor-form .thf-file-control {
    padding: 9px;
}

.thf-help {
    margin: 6px 0 0;
    font-size: .85em;
    opacity: .75;
}

.thf-elementor-submit,
.thf-newsletter-submit {
    cursor: pointer;
}

.thf-elementor-newsletter-form {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.thf-newsletter-email {
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
}

.thf-newsletter-submit {
    flex: 0 0 auto;
}

@media (max-width: 767px) {
    .thf-elementor-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .thf-col-50,
    .thf-col-100 {
        grid-column: 1 / -1;
    }
}

/* Handyman Firm page navigation */
.thf-page-menu {
    width: 100%;
}

.thf-page-menu__list,
.thf-page-menu .menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.thf-page-menu--vertical .thf-page-menu__list,
.thf-page-menu--vertical .thf-page-menu .menu {
    flex-direction: column;
    align-items: stretch;
}

.thf-page-menu__item,
.thf-page-menu .menu-item {
    margin: 0;
    padding: 0;
    list-style: none;
}

.thf-page-menu__link,
.thf-page-menu .menu-item > a {
    display: block;
    padding: 10px 16px;
    border-radius: 3px;
    color: #111111;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease;
}

.thf-page-menu__link:hover,
.thf-page-menu__link:focus,
.thf-page-menu .menu-item > a:hover,
.thf-page-menu .menu-item > a:focus,
.thf-page-menu__item.is-current .thf-page-menu__link,
.thf-page-menu .current-menu-item > a,
.thf-page-menu .current_page_item > a {
    color: #ffffff;
    background-color: #1757d8;
}

@media (max-width: 767px) {
    .thf-page-menu-mobile-stack-yes .thf-page-menu__list,
    .thf-page-menu-mobile-stack-yes .thf-page-menu .menu {
        flex-direction: column;
        align-items: stretch;
    }

    .thf-page-menu-mobile-stack-yes .thf-page-menu__link,
    .thf-page-menu-mobile-stack-yes .thf-page-menu .menu-item > a {
        text-align: center;
    }
}

/* The editor shows the real global menu without allowing navigation away. */
.thf-page-menu--editor-preview .thf-page-menu__link {
    pointer-events: none;
    cursor: default;
}

/* Lightweight Elementor editor placeholder used by all custom THF widgets. */
.thf-editor-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    padding: 22px;
    border: 1px dashed #9aa7bd;
    border-radius: 6px;
    background: #f7f9fc;
    color: #27364d;
    text-align: center;
    box-sizing: border-box;
}

.thf-editor-placeholder__badge {
    display: inline-block;
    margin-bottom: 7px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #1757d8;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4;
    text-transform: uppercase;
}

.thf-editor-placeholder__title {
    display: block;
    margin-bottom: 5px;
    font-size: 17px;
    line-height: 1.35;
}

.thf-editor-placeholder__description {
    display: block;
    max-width: 620px;
    font-size: 13px;
    line-height: 1.5;
    opacity: .8;
}
