/* TT Forms & Leads product consultation UI v3.19.32 */
.tt-product-consult-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid var(--tt-primary, #df2f32);
    border-radius: 9px;
    background: #fff;
    color: var(--tt-primary, #df2f32);
    box-shadow: none;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.15;
    cursor: pointer;
    text-decoration: none;
}
.tt-product-consult-button:hover,
.tt-product-consult-button:focus-visible {
    background: var(--tt-primary-soft, #fff1f1);
    color: var(--tt-primary, #df2f32);
}
.tt-product-consult-button__icon { font-size: 12px; }
.tt-card__btn.tt-product-consult-button { width: 100%; }
.tt-loop-actions .tt-product-consult-button { min-height: 36px; padding-inline: 10px; }
.tt-product-consult-button--single { min-height: 42px; }

html.tt-product-consult-open,
html.tt-product-consult-open body { overflow: hidden !important; }

.tt-product-consult-modal {
    position: fixed;
    inset: 0;
    z-index: 100500;
    display: grid;
    place-items: center;
    padding: 18px;
}
.tt-product-consult-modal[hidden] { display: none !important; }
.tt-product-consult-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .5);
    backdrop-filter: blur(3px);
}
.tt-product-consult-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(520px, 100%);
    max-height: min(760px, calc(100dvh - 36px));
    overflow: auto;
    border: 1px solid #e5e9f0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 80px rgba(15, 23, 42, .24);
}
.tt-product-consult-modal__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 10px;
    align-items: start;
    padding: 17px 17px 14px;
    border-bottom: 1px solid #edf0f4;
}
.tt-product-consult-modal__eyebrow {
    display: inline-flex;
    margin-bottom: 5px;
    color: var(--tt-primary, #df2f32);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.tt-product-consult-modal__head h3 {
    margin: 0 !important;
    color: #111827;
    font-size: 20px !important;
    line-height: 1.25 !important;
}
.tt-product-consult-modal__product {
    margin: 5px 0 0;
    color: #667085;
    font-size: 12.5px;
    line-height: 1.45;
}
.tt-product-consult-modal__close {
    display: grid !important;
    place-items: center;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #f4f6f8 !important;
    color: #344054 !important;
    box-shadow: none !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer;
}
.tt-product-consult-modal__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    padding: 15px 17px 17px;
}
.tt-product-consult-field { min-width: 0; }
.tt-product-consult-field--full { grid-column: 1 / -1; }
.tt-product-consult-field label {
    display: block;
    margin: 0 0 5px;
    color: #344054;
    font-size: 12px;
    font-weight: 700;
}
.tt-product-consult-field input,
.tt-product-consult-field textarea {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    border: 1px solid #dfe4eb !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #111827 !important;
    font-size: 13px !important;
}
.tt-product-consult-field input { height: 40px !important; padding: 0 10px !important; }
.tt-product-consult-field textarea { min-height: 82px; padding: 9px 10px !important; resize: vertical; }
.tt-product-consult-field input:focus,
.tt-product-consult-field textarea:focus {
    border-color: var(--tt-primary, #df2f32) !important;
    box-shadow: 0 0 0 3px rgba(223, 47, 50, .08) !important;
}
.tt-product-consult-modal__footer {
    grid-column: 1 / -1;
    display: grid;
    gap: 8px;
    margin-top: 1px;
}
.tt-product-consult-modal__submit {
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--tt-primary, #df2f32) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    cursor: pointer;
}
.tt-product-consult-modal__submit[disabled] { opacity: .65; cursor: wait; }
.tt-product-consult-modal__status {
    min-height: 18px;
    margin: 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.45;
}
.tt-product-consult-modal__status.is-error { color: #b42318; }
.tt-product-consult-modal__status.is-success { color: #087443; }

@media (max-width: 549px) {
    .tt-product-consult-modal {
        align-items: end;
        padding: 0;
    }
    .tt-product-consult-modal__dialog {
        width: 100%;
        max-height: min(86dvh, 720px);
        border-width: 1px 0 0;
        border-radius: 18px 18px 0 0;
    }
    .tt-product-consult-modal__head { padding: 14px 14px 12px; }
    .tt-product-consult-modal__head h3 { font-size: 18px !important; }
    .tt-product-consult-modal__form {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
        padding: 13px 14px calc(14px + env(safe-area-inset-bottom));
    }
    .tt-product-consult-field--full { grid-column: auto; }
    .tt-product-consult-field input { height: 39px !important; }
    .tt-product-consult-field textarea { min-height: 70px; }
}
