/* =========================================================
   PLUGIN COMPATIBILITY SHIELD
   =========================================================
   The Tailwind engine that powers this theme's design ships a "Preflight"
   base reset that strips native browser styling from EVERY button, input,
   select, textarea, and list on the site (so the custom design's own
   utility classes have a clean, predictable starting point). That reset
   applies site-wide — including inside plugins this theme doesn't style
   itself, such as Fluent Forms and Ultimate Member.

   Most plugins ship their own CSS that re-styles their own markup and
   simply overrides this automatically (normal CSS cascade — a plugin's
   own class-based rules are more specific than Tailwind's plain-element
   reset). This file is a *safety net* underneath that: it restores a
   sane, visible, on-brand baseline (borders, padding, a colored submit
   button) for form elements in general, so that any field or button a
   plugin does NOT explicitly style still looks like a normal field
   instead of a flat, borderless, invisible one.

   Nothing here is theme-specific markup — it only targets generic HTML
   form elements and a couple of well-known plugin wrapper classes, so it
   is harmless whether or not you actually install these particular
   plugins, and safe to leave in even if you switch form/membership
   plugins later.
========================================================= */

/* ---------- Generic safety net: any form, anywhere ---------- */
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="url"],
form input[type="number"],
form input[type="password"],
form input[type="search"],
form input[type="date"],
form select,
form textarea {
  display: block;
  width: 100%;
  padding: 0.65em 0.9em;
  border: 1px solid #D7E4EC;
  border-radius: 0.6rem;
  background-color: #ffffff;
  color: #081D3A;
  font-family: 'Hind Siliguri', sans-serif;
  font-size: 0.95rem;
  line-height: 1.5;
  box-sizing: border-box;
}
form input:focus,
form select:focus,
form textarea:focus {
  outline: 2px solid #0CC0DF;
  outline-offset: 1px;
  border-color: #0CC0DF;
}
form label {
  display: inline-block;
  margin-bottom: 0.4em;
  font-weight: 600;
  color: #081D3A;
}
form input[type="checkbox"],
form input[type="radio"] {
  width: auto;
  margin-right: 0.4em;
  accent-color: #0CC0DF;
}
form fieldset {
  border: 1px solid #E6F2F7;
  border-radius: 0.75rem;
  padding: 1em;
}
form button,
form input[type="submit"],
form input[type="button"],
button.button,
a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  padding: 0.7em 1.6em;
  background-color: #0CC0DF;
  color: #081D3A;
  font-weight: 700;
  border: none;
  border-radius: 0.7rem;
  cursor: pointer;
  transition: background-color .25s ease, transform .25s ease;
}
form button:hover,
form input[type="submit"]:hover,
form input[type="button"]:hover {
  background-color: #39D8F5;
  transform: translateY(-1px);
}

/* ---------- Fluent Forms ---------- */
.fluentform .ff-el-form-control,
.fluent_form .ff-el-form-control,
form.fluentform input,
form.fluentform select,
form.fluentform textarea {
  border: 1px solid #D7E4EC !important;
  border-radius: 0.6rem !important;
}
.fluentform .ff-btn-submit,
.fluent_form .ff-btn-submit,
.ff-btn.ff-btn-submit {
  background-color: #0CC0DF !important;
  border-color: #0CC0DF !important;
  color: #081D3A !important;
  border-radius: 0.7rem !important;
  font-weight: 700 !important;
}
.fluentform .ff-btn-submit:hover,
.fluent_form .ff-btn-submit:hover {
  background-color: #39D8F5 !important;
}

/* ---------- Ultimate Member ---------- */
.um {
  font-family: 'Hind Siliguri', sans-serif;
}
.um .um-button,
.um button.um-button,
.um input.um-button {
  background-color: #0CC0DF !important;
  border-color: #0CC0DF !important;
  color: #081D3A !important;
  border-radius: 0.7rem !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.um .um-button:hover {
  background-color: #39D8F5 !important;
}
.um-field-label label,
.um-field label {
  font-weight: 600;
  color: #081D3A;
}
.um input[type="text"],
.um input[type="email"],
.um input[type="password"],
.um input[type="tel"],
.um select,
.um textarea {
  border: 1px solid #D7E4EC !important;
  border-radius: 0.6rem !important;
  box-sizing: border-box !important;
}
.um-profile,
.um-account-side,
.um-account-main {
  box-sizing: border-box;
}
