.elementor .tnet-service-form-embed {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(60px, 7vw, 86px) 0;
    background: #f4f7f2;
}

.tnet-service-form-embed > .elementor-widget-shortcode,
.tnet-service-form-embed .tnet-service-form-widget,
.tnet-service-form-embed .elementor-widget-container {
    width: 100%;
}

.tnet-service-form-embed .serviceform-shell {
    width: min(1280px, calc(100% - 64px));
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.serviceform-shell {
    --tnet-lime: #8cff18;
    --tnet-green: #1c9d35;
    --tnet-deep-green: #0b2f21;
    --tnet-ink: #07100d;
    --tnet-muted: #536058;
    --tnet-border: rgba(7, 16, 13, 0.18);
    --tnet-surface: #f4f7f2;
    --tnet-white: #ffffff;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(60px, 7vw, 86px) 32px;
    scroll-margin-top: 110px;
    border: 0;
    border-radius: 0;
    background: var(--tnet-surface);
    color: var(--tnet-ink);
    font-family: Urbanist, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

.serviceform-shell,
.serviceform-shell * {
    box-sizing: border-box;
}

.form-selector {
    width: min(1280px, 100%);
    margin-inline: auto;
    margin-bottom: 34px;
}

.form-kicker {
    margin: 0 0 10px;
    color: var(--tnet-deep-green);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.form-selector-title {
    margin: 0;
    color: var(--tnet-ink);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 650;
    line-height: 1.05;
    letter-spacing: -0.045em;
}

.form-selector-text {
    max-width: 58ch;
    margin: 18px 0 26px;
    color: var(--tnet-muted);
    font-size: 1.06rem;
}

.form-branches {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.serviceform-shell .form-branch {
    min-height: 52px;
    padding: 12px 16px;
    border: 0 !important;
    border-radius: 10px;
    background: var(--tnet-white) !important;
    color: var(--tnet-ink) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.serviceform-shell .form-branch:hover {
    background: #edf8e9 !important;
    color: var(--tnet-deep-green) !important;
    transform: translateY(-1px);
}

.serviceform-shell .form-branch:active,
.serviceform-shell .metform-submit-btn:active {
    transform: translateY(1px);
}

.serviceform-shell .form-branch-active,
.serviceform-shell .form-branch[aria-selected="true"],
.serviceform-shell .form-branch-active:hover,
.serviceform-shell .form-branch[aria-selected="true"]:hover {
    background: var(--tnet-lime) !important;
    color: var(--tnet-ink) !important;
}

.serviceform-shell .form-branch:focus-visible,
.serviceform-shell :is(input, select, textarea, button, [role="combobox"]):focus-visible {
    outline: 3px solid #126b2c;
    outline-offset: 3px;
}

.form-branch-info {
    display: grid;
    grid-template-columns: minmax(180px, 1.15fr) minmax(240px, 2fr) minmax(180px, auto);
    gap: 12px 24px;
    align-items: center;
    margin-top: 14px;
    padding: 18px 20px;
    border-radius: 10px;
    background: var(--tnet-deep-green);
    color: var(--tnet-white);
}

.form-branch-name {
    font-size: 1.04rem;
}

.form-branch-address,
.form-branch-phone {
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.94rem;
}

.form-panels {
    width: min(1280px, 100%);
    margin-inline: auto;
    padding: clamp(26px, 5vw, 68px);
    border: 1px solid rgba(7, 16, 13, 0.14);
    border-radius: 28px;
    background: var(--tnet-white);
    box-shadow: 0 24px 70px rgba(7, 16, 13, 0.12);
}

.standalone-form-shell .form-panels {
    width: min(1100px, 100%);
}

.form-panel[hidden],
.form-branch-info[hidden] {
    display: none !important;
}

.serviceform-shell .metform-form-main-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
    color: var(--tnet-ink);
    font-family: Urbanist, Arial, sans-serif;
}

.serviceform-shell .form-title {
    margin: 0;
    text-align: left !important;
}

.serviceform-shell .form-title .elementor-heading-title {
    margin: 0;
    color: var(--tnet-ink) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: clamp(2.375rem, 5vw, 4.375rem) !important;
    font-weight: 650 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.05em !important;
    text-align: left !important;
}

.serviceform-shell .form-intro {
    margin: 18px 0 42px;
    text-align: left !important;
}

.serviceform-shell .form-intro p {
    max-width: 68ch;
    margin: 0;
    color: var(--tnet-muted) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: 1.125rem !important;
    text-align: left !important;
}

.serviceform-shell .elementor .e-con.form-fields,
.serviceform-shell .metform-form-main-wrapper [data-elementor-type="wp-page"] > .e-con.e-parent > .e-con.e-child,
.serviceform-shell .form-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    align-items: start;
    gap: 24px;
}

.serviceform-shell .form-field-wide {
    grid-column: 1 / -1;
}

.serviceform-shell .form-field,
.serviceform-shell .mf-input-wrapper {
    min-width: 0;
}

.serviceform-shell .form-fields > .form-field,
.serviceform-shell .metform-form-main-wrapper [data-elementor-type="wp-page"] > .e-con.e-parent > .e-con.e-child > .elementor-element {
    width: 100% !important;
    max-width: none !important;
}

.serviceform-shell :is(
    input,
    textarea,
    select,
    button,
    label,
    .mf-input-label,
    .mf-radio-option,
    .mf-radio-option label,
    .mf-checkbox-option,
    .mf-checkbox-option label,
    .react-select__single-value,
    .react-select__placeholder,
    .react-select__input-container,
    .mf-file-name
) {
    font-family: Urbanist, Arial, sans-serif !important;
}

.serviceform-shell .mf-input-label {
    display: block;
    margin-bottom: 9px;
    color: var(--tnet-ink) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.serviceform-shell .mf-input-required-indicator {
    color: #a11220;
}

.serviceform-shell :is(
    input.mf-input:not([type="checkbox"]):not([type="radio"]),
    textarea.mf-input,
    .mf-input-select,
    .mf-input-wrapper .react-select__control
) {
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid var(--tnet-border) !important;
    border-radius: 10px !important;
    background: var(--tnet-white) !important;
    color: var(--tnet-ink) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.4;
    box-shadow: none;
}

.serviceform-shell textarea.mf-input {
    min-height: 160px;
    resize: vertical;
}

.serviceform-shell input::placeholder,
.serviceform-shell textarea::placeholder {
    color: #68736b;
    opacity: 1;
}

.serviceform-shell .mf-input-select .react-select__control,
.serviceform-shell .mf-input-select .css-yk16xz-control,
.serviceform-shell .mf-input-select .css-1pahdxg-control {
    min-height: 52px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.serviceform-shell .mf-radio-option,
.serviceform-shell .mf-checkbox-option {
    margin: 0 22px 12px 0;
    color: var(--tnet-ink) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: 1rem !important;
}

.serviceform-shell.courier .form-field-wide .mf-radio-option {
    display: block;
    margin-right: 0;
}

.serviceform-shell .mf-input-help {
    margin-top: 8px;
    color: var(--tnet-muted) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: 0.9rem !important;
    line-height: 1.5;
}

.serviceform-shell :is(input[type="radio"], input[type="checkbox"]) {
    accent-color: var(--tnet-deep-green);
}

.serviceform-shell .form-upload .mf-input-wrapper {
    padding: 18px;
    border: 1px dashed #8a998e;
    border-radius: 10px;
    background: #fbfcfb;
}

.serviceform-shell input[type="file"]::file-selector-button,
.serviceform-shell input[type="file"]::-webkit-file-upload-button {
    margin-right: 14px;
    padding: 10px 14px;
    border: 1px solid var(--tnet-deep-green);
    border-radius: 8px;
    background: var(--tnet-deep-green);
    color: var(--tnet-white);
    font-family: Urbanist, Arial, sans-serif;
    font-size: 0.94rem;
    font-weight: 750;
    cursor: pointer;
}

.serviceform-shell input[type="file"]::file-selector-button:hover,
.serviceform-shell input[type="file"]::-webkit-file-upload-button:hover {
    border-color: var(--tnet-ink);
    background: var(--tnet-ink);
}

.serviceform-shell .form-upload .mf-input-file-upload-label.metform-btn {
    margin: 0 14px 0 0 !important;
    padding: 10px 14px !important;
    border: 1px solid var(--tnet-deep-green) !important;
    border-radius: 8px !important;
    background: var(--tnet-deep-green) !important;
    color: var(--tnet-white) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: 0.94rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    cursor: pointer;
}

.serviceform-shell .form-upload .mf-input-file-upload-label.metform-btn:hover {
    border-color: var(--tnet-ink) !important;
    background: var(--tnet-ink) !important;
}

.serviceform-shell .mf-error-message,
.serviceform-shell .form-error,
.form-error {
    color: #a11220;
    font-size: 0.9rem;
    font-weight: 650;
}

.serviceform-shell [aria-invalid="true"],
.serviceform-shell .mf-invalid {
    border-color: #b51e2e !important;
}

.serviceform-shell .form-submit-row {
    margin-top: 30px;
}

.serviceform-shell .metform-submit-btn.form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 220px;
    min-height: 56px;
    padding: 15px 24px;
    border: 1px solid var(--tnet-lime) !important;
    border-radius: 10px !important;
    background: var(--tnet-lime) !important;
    color: var(--tnet-ink) !important;
    font-family: Urbanist, Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.4;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.serviceform-shell .metform-submit-btn.form-submit:hover {
    border-color: #a3ff48;
    background: #a3ff48;
    color: var(--tnet-ink);
}

.serviceform-shell .mf-response-msg,
.serviceform-shell .form-success {
    margin-bottom: 24px;
    padding: 15px 17px;
    border: 1px solid #87c892;
    border-radius: 10px;
    background: #eaf9ec;
    color: #145d23;
}

.form-message {
    margin: 0;
    color: var(--tnet-muted);
}

@media (max-width: 820px) {
    .tnet-service-form-embed .serviceform-shell {
        width: calc(100% - 40px);
    }

    .form-branches {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-branch-info {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}

@media (max-width: 620px) {
    .elementor .tnet-service-form-embed {
        padding: 60px 0;
    }

    .tnet-service-form-embed .serviceform-shell {
        width: calc(100% - 32px);
        padding: 0;
        border-radius: 0;
    }

    .serviceform-shell {
        padding: 60px 16px;
        border-radius: 0;
    }

    .form-branches,
    .serviceform-shell .elementor .e-con.form-fields,
    .serviceform-shell .metform-form-main-wrapper [data-elementor-type="wp-page"] > .e-con.e-parent > .e-con.e-child,
    .serviceform-shell .form-fields {
        grid-template-columns: 1fr !important;
    }

    .serviceform-shell .form-field-wide {
        grid-column: auto;
    }

    .form-panels {
        padding: 28px 20px;
        border-radius: 18px;
    }

    .serviceform-shell .form-title .elementor-heading-title {
        font-size: clamp(2rem, 11vw, 3rem);
    }

    .serviceform-shell .metform-submit-btn.form-submit {
        width: 100%;
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .serviceform-shell .form-branch,
    .serviceform-shell .metform-submit-btn.form-submit {
        transition: none;
    }
}
