/**
 * Trường Thịnh Child — No-price callback card v3.19.21
 * Final single-product layer. Loaded after inventory/mobile CTA CSS.
 */

@media (min-width: 850px) {
    body.single-product .tt-product-summary .tt-single-call-order {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 14px 0 18px !important;
        padding: 15px 16px 14px !important;
        border: 1px solid color-mix(in srgb, var(--tt-primary, #e33232) 30%, #e6e9ef) !important;
        border-radius: 16px !important;
        background: color-mix(in srgb, var(--tt-primary, #e33232) 4%, #fff) !important;
        box-shadow: none !important;
        overflow: hidden;
    }

    body.single-product .tt-product-summary .tt-single-call-order__note {
        max-width: none !important;
        margin: 0 0 12px !important;
        color: #667085 !important;
        font-size: 13.5px !important;
        line-height: 1.45 !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__actions {
        display: grid !important;
        grid-template-columns: minmax(164px, 190px) minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: start !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__actions > .tt-call-order-button--single {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        border: 1.5px solid var(--tt-primary, #e33232) !important;
        border-radius: 11px !important;
        background: #fff !important;
        color: var(--tt-primary, #e33232) !important;
        box-shadow: none !important;
        white-space: nowrap !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__actions > .tt-call-order-button--single .tt-call-order-button__text {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        min-width: 0;
    }

    body.single-product .tt-product-summary .tt-single-call-order__actions > .tt-call-order-button--single .tt-call-order-button__text strong {
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 750 !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__callback,
    body.single-product .tt-product-summary .tt-single-call-order__callback .ttfl-form {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__callback .ttfl-callback-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 148px !important;
        gap: 10px !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__callback .ttfl-field {
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__callback .ttfl-field input {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        border: 1px solid #dfe3ea !important;
        border-radius: 11px !important;
        background: #fff !important;
        box-shadow: none !important;
        color: #344054 !important;
        font-size: 14px !important;
        line-height: 48px !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__callback .ttfl-field input:focus {
        border-color: color-mix(in srgb, var(--tt-primary, #e33232) 65%, #fff) !important;
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--tt-primary, #e33232) 10%, transparent) !important;
        outline: none !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__callback .ttfl-submit {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 13px !important;
        border: 0 !important;
        border-radius: 11px !important;
        background: var(--tt-primary, #e33232) !important;
        color: #fff !important;
        box-shadow: 0 5px 14px color-mix(in srgb, var(--tt-primary, #e33232) 18%, transparent) !important;
        font-size: 13.5px !important;
        font-weight: 750 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    body.single-product .tt-product-summary .tt-single-call-order__callback .ttfl-callback-hint {
        margin: 8px 0 0 !important;
        padding: 0 1px !important;
        color: #7a8498 !important;
        font-size: 11.5px !important;
        line-height: 1.35 !important;
    }

    /* Give the callback card breathing room before the three purchase-benefit cards. */
    body.single-product .tt-product-summary .tt-single-call-order + .tt-product-benefits {
        margin-top: 0 !important;
    }
}

/* Narrow desktop/tablet: preserve one compact row without squeezing the phone input. */
@media (min-width: 850px) and (max-width: 1100px) {
    body.single-product .tt-product-summary .tt-single-call-order__actions {
        grid-template-columns: 156px minmax(0, 1fr) !important;
        gap: 9px !important;
    }
    body.single-product .tt-product-summary .tt-single-call-order__callback .ttfl-callback-row {
        grid-template-columns: minmax(0, 1fr) 132px !important;
        gap: 8px !important;
    }
}

/* If another template exposes this block on mobile, keep it clean and stacked. */
@media (max-width: 849px) {
    body.single-product .tt-single-call-order {
        margin-bottom: 14px !important;
    }
    body.single-product .tt-single-call-order__actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }
    body.single-product .tt-single-call-order__actions > .tt-call-order-button--single {
        width: 100% !important;
        min-height: 46px !important;
        height: 46px !important;
        margin: 0 !important;
    }
    body.single-product .tt-single-call-order__callback .ttfl-callback-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 124px !important;
        gap: 8px !important;
    }
    body.single-product .tt-single-call-order__callback .ttfl-field input,
    body.single-product .tt-single-call-order__callback .ttfl-submit {
        min-height: 46px !important;
        height: 46px !important;
        margin: 0 !important;
    }
}

@media (max-width: 420px) {
    body.single-product .tt-single-call-order__callback .ttfl-callback-row {
        grid-template-columns: 1fr !important;
    }
}
