/* One look for every form field on the site — same height, radius, text size, labels and buttons.
   Covers: UsersWP (login, register, account), MemberPress, Events Calendar / Event Tickets (registration),
   WooCommerce forms. Change the numbers here and every form follows. */
:root{ --rh-f-h:44px; --rh-f-r:8px; --rh-f-fs:14px; --rh-f-gap:18px; --rh-f-bd:#E5E9F0; --rh-f-blue:#0B4EA2; }

/* ---- text boxes, selects, text areas ---- */
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .mepr-form, .mepr-signup-form, .mepr-login-form, .tribe-tickets__form, .tribe-tickets__tickets-form, .tribe-tickets__item__attendee__fields, .tribe-tickets__registration, .woocommerce-checkout, .woocommerce-form, .woocommerce form.checkout, .woocommerce-address-fields)
 :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="search"], select, .mepr-form-input:not(label), .form-control:not(textarea), .tribe-common-form-control-text__input){
    box-sizing:border-box; width:100%; max-width:none; height:var(--rh-f-h); min-height:var(--rh-f-h); padding:0 14px; border:1px solid var(--rh-f-bd); border-radius:var(--rh-f-r);
    background-color:#fff; color:#0F172A; font-size:var(--rh-f-fs); font-weight:400; line-height:1.4; box-shadow:none; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .mepr-form, .tribe-tickets__form, .tribe-tickets__item__attendee__fields, .woocommerce-checkout, .woocommerce-form) textarea{
    box-sizing:border-box; width:100%; min-height:110px; padding:12px 14px; border:1px solid var(--rh-f-bd); border-radius:var(--rh-f-r); background:#fff; color:#0F172A; font-size:var(--rh-f-fs); line-height:1.5; box-shadow:none; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .mepr-form, .tribe-tickets__form, .tribe-tickets__item__attendee__fields, .woocommerce-checkout, .woocommerce-form) :is(input, select, textarea):focus{
    border-color:var(--rh-f-blue); outline:0; box-shadow:0 0 0 3px rgba(11,78,162,.12); }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .mepr-form, .tribe-tickets__form, .woocommerce-checkout, .woocommerce-form) ::placeholder{ color:#94A3B8; opacity:1; font-size:var(--rh-f-fs); }

/* ---- Select2 dropdowns (UsersWP, GeoDirectory, WooCommerce) the same size ---- */
:is(.uwp_form, .uwp-account-form, .woocommerce-checkout, .woocommerce-form, .mp_wrapper) .select2-container{ width:100% !important; }
:is(.uwp_form, .uwp-account-form, .woocommerce-checkout, .woocommerce-form, .mp_wrapper) .select2-container .select2-selection--single{
    display:flex; align-items:center; height:var(--rh-f-h); border:1px solid var(--rh-f-bd); border-radius:var(--rh-f-r); background:#fff; }
:is(.uwp_form, .uwp-account-form, .woocommerce-checkout, .woocommerce-form, .mp_wrapper) .select2-container .select2-selection--single .select2-selection__rendered{
    padding:0 36px 0 14px; line-height:1.4; font-size:var(--rh-f-fs); color:#0F172A; }
:is(.uwp_form, .uwp-account-form, .woocommerce-checkout, .woocommerce-form, .mp_wrapper) .select2-container .select2-selection--single .select2-selection__placeholder{ color:#94A3B8; }
:is(.uwp_form, .uwp-account-form, .woocommerce-checkout, .woocommerce-form, .mp_wrapper) .select2-container .select2-selection--single .select2-selection__arrow{ height:100%; right:8px; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper) .select2-container .select2-selection--multiple{ min-height:var(--rh-f-h); border:1px solid var(--rh-f-bd); border-radius:var(--rh-f-r); padding:4px 8px; }

/* ---- phone number with a flag (intl-tel-input) keeps room for the flag ---- */
.iti{ width:100%; display:block; }
:is(.uwp_form, .mp_wrapper, .woocommerce-form) .iti input[type="tel"], :is(.uwp_form, .mp_wrapper, .woocommerce-form) .iti input[type="text"]{ padding-left:52px; }

/* ---- file upload ---- */
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) input[type="file"]{
    box-sizing:border-box; width:100%; height:var(--rh-f-h); padding:0 6px; border:1px solid var(--rh-f-bd); border-radius:var(--rh-f-r); background:#fff; font-size:13px; line-height:calc(var(--rh-f-h) - 2px); color:#475569; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) input[type="file"]::file-selector-button{
    height:30px; margin:0 12px 0 0; padding:0 14px; border:1px solid var(--rh-f-bd); border-radius:6px; background:#F1F4F9; color:#0F172A; font-size:12px; cursor:pointer; }

/* ---- labels ---- */
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .mepr-form, .tribe-tickets__form, .tribe-tickets__item__attendee__fields, .woocommerce-checkout, .woocommerce-form) :is(label.form-label, .mp-form-label label, .tribe-tickets__form-field-label, .tribe-common-form-control-text__label, .woocommerce-form label, .woocommerce-checkout label:not(.checkbox):not(.woocommerce-form__label-for-checkbox)){
    display:block; margin:0 0 8px; font-size:13px; font-weight:500; line-height:1.4; color:#0F172A; }
:is(.uwp_form, .mp_wrapper, .woocommerce-form) .text-danger, :is(.uwp_form, .mp_wrapper, .woocommerce-form) .required{ color:var(--rh-f-blue) !important; text-decoration:none; }

/* ---- spacing between fields ---- */
:is(.uwp_form) [data-argument], :is(.mp_wrapper, .mepr-form) .mp-form-row, :is(.tribe-tickets__form) .tribe-tickets__form-field, .woocommerce-checkout .form-row{ margin:0 0 var(--rh-f-gap); }

/* ---- check boxes and radio buttons ---- */
:is(.uwp_form, .mp_wrapper, .mepr-form, .tribe-tickets__form, .woocommerce-checkout, .woocommerce-form) :is(input[type="checkbox"], input[type="radio"]){ accent-color:var(--rh-f-blue); width:14px; height:14px; margin:0 8px 0 0; vertical-align:-2px; }
:is(.uwp_form, .mp_wrapper, .mepr-form, .tribe-tickets__form, .woocommerce-checkout, .woocommerce-form) :is(.form-check-label, .mepr-checkbox-field, .mepr-remember-me, .woocommerce-form__label-for-checkbox){ font-size:13px; font-weight:400; color:#475569; }

/* ---- main buttons ---- */
:is(.uwp_form, .uwp-account-form) button[type="submit"], :is(.uwp_form, .uwp-account-form) input[type="submit"], .mp_wrapper .mepr-submit, .mepr-form .mepr-submit,
.tribe-tickets__form .tribe-tickets__tickets-buy, .tribe-tickets__registration .tribe-common-c-btn, .woocommerce-checkout #place_order, .woocommerce-form button[type="submit"]{
    box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 22px; border:0; border-radius:var(--rh-f-r); background:var(--rh-f-blue); color:#fff;
    font-size:14px; font-weight:500; text-transform:none; letter-spacing:0; line-height:1; box-shadow:none; cursor:pointer; transition:background-color .2s ease; }
:is(.uwp_form, .uwp-account-form) button[type="submit"]:hover, .mp_wrapper .mepr-submit:hover, .tribe-tickets__form .tribe-tickets__tickets-buy:hover, .woocommerce-checkout #place_order:hover{ background:#093F82; }

/* UsersWP gives the social fields (website, Facebook, Instagram) a coloured button look — they are plain fields here */
.uwp_form .btn-website, .uwp_form .btn-facebook, .uwp_form .btn-instagram, .uwp_form .btn-twitter, .uwp_form .btn-linkedin, .uwp_form .btn-youtube,
.uwp_form [data-argument].btn-instagram, .uwp_form [data-argument].btn-facebook{
    background:none !important; background-image:none !important; border:0 !important; box-shadow:none !important; padding:0 !important; color:inherit !important;
    display:block; width:100%; text-align:left; height:auto; line-height:inherit; }

/* ---- file box: the button sits inside, vertically centred ---- */
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) input[type="file"]{ padding:6px 8px !important; line-height:normal !important; font-size:13px !important; color:#475569; display:block; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) input[type="file"]::file-selector-button{ height:30px; margin:0 12px 0 0; vertical-align:middle; }

/* ---- country box with a flag (country-select / intl-tel-input): room for the flag, flag centred ---- */
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) :is(.country-select, .intl-tel-input, .iti){ display:block; position:relative; width:100%; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) :is(.country-select, .intl-tel-input, .iti) input{ padding-left:56px !important; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) input#uwp_country{ padding-left:56px !important; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) :is(.country-select, .intl-tel-input) .flag-dropdown,
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) .iti .iti__flag-container{ position:absolute; top:0; bottom:0; left:0; height:100%; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) :is(.country-select, .intl-tel-input) .selected-flag,
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) .iti .iti__selected-flag{ display:flex; align-items:center; height:100%; width:44px; padding:0 0 0 14px; box-sizing:border-box; background:transparent; }
:is(.uwp_form, .uwp-account-form, .mp_wrapper, .woocommerce-form) :is(.country-select, .intl-tel-input) .country-list, .iti__country-list{ z-index:9999; border-radius:8px; border:1px solid var(--rh-f-bd); box-shadow:0 8px 24px rgba(15,23,42,.12); font-size:13px; }
