/* WPUF renders terms_and_conditions in several different wrappers. Keep the
 * checkbox fixed-width and let every possible text wrapper use the remaining
 * line width, independently of the selected WPUF form template. */
form :where(.wpuf-el.terms_and_conditions, .wpuf-el[data-label="terms_and_conditions"], .wpuf-fields):has(input[name="terms_and_conditions"]) {
    box-sizing: border-box;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
}

form .wpuf-el:has(input[name="terms_and_conditions"]) {
    display: block !important;
    float: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
}

form .wpuf-el:has(input[name="terms_and_conditions"]) > :where(.wpuf-label, .wpuf-fields) {
    box-sizing: border-box;
    float: none !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
}

form label:has(input[name="terms_and_conditions"]),
form input[name="terms_and_conditions"] + label,
form .wpuf-fields:has(> input[name="terms_and_conditions"]) {
    box-sizing: border-box;
    display: block !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
}

form input[name="terms_and_conditions"] {
    flex: 0 0 auto !important;
    float: none !important;
    display: inline-block !important;
    margin: .2em .75rem 0 0 !important;
    max-width: 1.5rem !important;
    min-width: 1.25rem !important;
    vertical-align: top !important;
    width: 1.25rem !important;
}

form :where(label, .wpuf-fields):has(input[name="terms_and_conditions"]) :where(span, p, a),
form input[name="terms_and_conditions"] + label {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: normal;
}

form label:has(input[name="terms_and_conditions"]) > :where(span, p, a, strong, em),
form .wpuf-fields:has(> input[name="terms_and_conditions"]) > :where(span, p, a, strong, em) {
    display: inline !important;
    float: none !important;
    width: auto !important;
}

form .rudl-terms-required label:has(input[name="terms_and_conditions"])::after,
form .rudl-terms-required input[name="terms_and_conditions"] + label::after {
    color: var(--wp--preset--color--accent-2, #ff0054);
    content: " *";
}

@media (max-width: 782px) {
    form .wpuf-el:has(input[name="terms_and_conditions"]) {
        margin-inline: 0 !important;
        padding-inline: 0 !important;
    }
}
