/* Page-level form direction from <html dir> (__('strings.dir')).
   Placeholders, labels, and hints follow the locale; phone rows stay LTR. */

html[dir="rtl"] label,
html[dir="rtl"] .form-label,
html[dir="rtl"] .col-form-label,
html[dir="rtl"] .uni-field-hint,
html[dir="rtl"] .help-block,
html[dir="rtl"] .form-text,
html[dir="rtl"] .invalid-feedback,
html[dir="ltr"] label,
html[dir="ltr"] .form-label,
html[dir="ltr"] .col-form-label,
html[dir="ltr"] .uni-field-hint,
html[dir="ltr"] .help-block,
html[dir="ltr"] .form-text,
html[dir="ltr"] .invalid-feedback {
    text-align: start;
}

html[dir="rtl"] input:not([dir="ltr"]),
html[dir="rtl"] textarea:not([dir="ltr"]),
html[dir="rtl"] select:not([dir="ltr"]) {
    direction: rtl;
    text-align: right;
}

html[dir="ltr"] input:not([dir="rtl"]),
html[dir="ltr"] textarea:not([dir="rtl"]),
html[dir="ltr"] select:not([dir="rtl"]) {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] input:not([dir="ltr"])::placeholder,
html[dir="rtl"] textarea:not([dir="ltr"])::placeholder {
    direction: rtl;
    text-align: right;
    unicode-bidi: isolate;
}

html[dir="ltr"] input:not([dir="rtl"])::placeholder,
html[dir="ltr"] textarea:not([dir="rtl"])::placeholder {
    direction: ltr;
    text-align: left;
    unicode-bidi: isolate;
}

html[dir="rtl"] input[dir="ltr"],
html[dir="rtl"] textarea[dir="ltr"],
html[dir="rtl"] select[dir="ltr"],
html[dir="rtl"] .row-phone-country,
html[dir="rtl"] .row-phone-country input,
html[dir="rtl"] .row-phone-country textarea,
html[dir="rtl"] .row-phone-country select {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] input[dir="ltr"]::placeholder,
html[dir="rtl"] textarea[dir="ltr"]::placeholder,
html[dir="rtl"] .row-phone-country input::placeholder,
html[dir="rtl"] .row-phone-country textarea::placeholder {
    direction: ltr;
    text-align: left;
    unicode-bidi: isolate;
}

html[dir="ltr"] .input-field > label {
    left: 18px;
    right: auto;
    text-align: left;
}

html[dir="rtl"] .input-field > label {
    right: 18px;
    left: auto;
    text-align: right;
}
