
/* ===========================
   Vinebuilders Site-Wide Brand Styles
   Brand: #C52184  | Hover: #A01865 | Active: #8B1557
   =========================== */

/* ----- LINKS (global) ----- */
a {
  color: #C52184;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease;
}
a:hover {
  color: #A01865;
  text-decoration: underline;
}
a:active {
  color: #8B1557;
}

/* ----- BUTTONS (global) -----
   Covers: native <button>, <input type=submit/button>,
   Gutenberg .wp-block-button/.wp-element-button,
   Elementor .elementor-button,
   common .btn/.button, and Fluent Forms .ff-btn/.ff-btn-submit
*/
button,
input[type="submit"],
input[type="button"],
.wp-block-button__link,
.wp-element-button,
.button,
.btn,
.elementor-button,
.ff-btn,
.ff-btn-submit,
button.ff-btn {
  background-color: #C52184 !important;
  border: 1px solid #C52184 !important;
  color: #ffffff !important;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
}
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
.button:hover,
.btn:hover,
.elementor-button:hover,
.ff-btn:hover,
.ff-btn-submit:hover,
button.ff-btn:hover {
  background-color: #A01865 !important;
  border-color: #A01865 !important;
}
button:active,
input[type="submit"]:active,
input[type="button"]:active,
.wp-block-button__link:active,
.wp-element-button:active,
.button:active,
.btn:active,
.elementor-button:active,
.ff-btn:active,
.ff-btn-submit:active,
button.ff-btn:active {
  background-color: #8B1557 !important;
  border-color: #8B1557 !important;
  transform: translateY(1px);
}

/* Make Gutenberg buttons inherit radius if theme resets it */
.wp-block-button .wp-block-button__link,
.wp-element-button {
  border-radius: 12px !important;
}

/* ----- FORM INPUTS (global) ----- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="date"],
input[type="number"],
input[type="password"],
select,
textarea {
  border: 1px solid #e5e7eb;
  background: #ffffff;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 1rem;
  box-shadow: 0 1px 0 rgba(0,0,0,0.01);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #A01865;
  box-shadow: 0 0 0 3px rgba(160, 24, 101, 0.2);
}

/* ===========================
   FLUENT FORMS – Site-wide UI
   =========================== */
.ff-el-group { margin-bottom: 16px; }
label.ff-el-form-control { font-weight: 600; color: #111827; margin-bottom: 6px; }
.ff-el-is-required > label .ff-el-required { color: #C52184; }
.ff-el-help { font-size: 0.92rem; color: #6b7280; }

/* File upload area + button */
.ff-file-upload {
  background: #f7f7f9;
  border: 1px dashed #e5e7eb;
  border-radius: 12px;
  padding: 14px;
}
.ff_file_upload_btn {
  background-color: #C52184 !important;
  border-color: #C52184 !important;
  color: #ffffff !important;
  border: none;
  padding: 10px 14px;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.ff_file_upload_btn:hover { background-color: #A01865 !important; border-color: #A01865 !important; }
.ff_file_upload_btn:active { background-color: #8B1557 !important; border-color: #8B1557 !important; }

/* Messages */
.ff-message-success {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
  border-radius: 12px;
  padding: 12px 14px;
}
.ff-message-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  border-radius: 12px;
  padding: 12px 14px;
}
.ff_error_message { color: #b91c1c; font-size: 0.92rem; margin-top: 6px; }

/* Section headers */
.ff-section_header {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 12px 0 6px;
  color: #111827;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 6px;
}

/* Placeholder color */
.ff-el-form-control[placeholder] { color: #9ca3af; }

/* Mobile: make FF submit buttons full-width */
@media (max-width: 640px) {
  .ff-btn-submit,
  .ff_submit_btn_wrapper .ff-btn-submit { width: 100%; }
}

/* ===========================
   FLUENT FORMS — Submit Button (strong override, site-wide)
   =========================== */
.fluentform .ff_submit_btn_wrapper button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style,
form.fluent_form .ff_submit_btn_wrapper button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style,
.fluentform .ff-btn-submit,
form.fluent_form .ff-btn-submit {
  background: #C52184 !important;
  background-color: #C52184 !important;
  background-image: none !important;
  border-color: #C52184 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  filter: none !important;
}
.fluentform .ff_submit_btn_wrapper button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style:hover,
form.fluent_form .ff_submit_btn_wrapper button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style:hover,
.fluentform .ff-btn-submit:hover,
form.fluent_form .ff-btn-submit:hover {
  background: #A01865 !important;
  background-image: none !important;
  border-color: #A01865 !important;
}
.fluentform .ff_submit_btn_wrapper button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style:active,
form.fluent_form .ff_submit_btn_wrapper button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style:active,
.fluentform .ff-btn-submit:active,
form.fluent_form .ff-btn-submit:active {
  background: #8B1557 !important;
  background-image: none !important;
  border-color: #8B1557 !important;
  transform: translateY(1px);
}

/* Ultimate Member buttons (match brand) */
.um input[type="submit"].um-button,
.um a.um-button,
.um .um-button {
  background: #C52184 !important;
  border-color: #C52184 !important;
  color: #fff !important;
  border-radius: 12px;
  box-shadow: none !important;
}
.um input[type="submit"].um-button:hover,
.um a.um-button:hover,
.um .um-button:hover {
  background: #A01865 !important;
  border-color: #A01865 !important;
}
.um input[type="submit"].um-button:active,
.um a.um-button:active,
.um .um-button:active {
  background: #8B1557 !important;
  border-color: #8B1557 !important;
  transform: translateY(1px);
}
