.elementor-343 .elementor-element.elementor-element-3ce671a{--display:flex;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-e25a15b *//* =========================================================
   FORMIDABLE FORMS — REFERENCE-STYLE THEME
   Paste this in: Formidable > Forms > [your form] > Settings > Style
   (or your theme's Additional CSS)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,600;0,6..12,700;0,6..12,800&display=swap');

/* ---------- Page background (adjust if your theme bg differs) ---------- */
.frm_forms,
body {
  background: #f7f5f0;
}

/* ---------- Outer card ---------- */
.frm_fields_container {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  max-width: 640px;
  margin: 56px auto;
  padding: 0 40px 40px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(20, 20, 10, 0.06);
  font-family: 'Nunito Sans', sans-serif;
}
.frm_fields_container * { font-family: 'Nunito Sans', sans-serif; }

/* Hide Formidable's built-in honeypot field just in case */
#frm_field_168_container { display: none !important; }

/* ---------- "Step X of Y" + big heading + progress bar float ABOVE the
   white card, on the page background — like the reference ---------- */
.frm_fields_container > h3.frm_section_heading,
.frm_fields_container > .frm_rootline_group {
  order: -1;
  padding-left: 40px;
  padding-right: 40px;
  background: #f7f5f0 !important; /* match page bg */
  border: none !important;
  box-shadow: none !important;
  margin: 0px;
}
h3.frm_pos_top.frm_section_spacing {
    font-size: 26px !important;
    color: #000 !important;
    text-transform: capitalize;
}
.rounded-2xl.border.border-gold\/60.bg-cream.p-5 {
    color: #000;
}
button.frm_button_submit:hover {
    background: #1c1c1c !important;
    color: #d9b26a !important;
    border: none !important;
}

.frm_fields_container > h3.frm_section_heading {
  order: -3;
  margin-top: -40px;
  padding-top: 36px;
  padding-bottom: 12px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: #1c1c1c;
}

.frm_fields_container > .frm_rootline_group {
  order: -2;
  display: flex !important;
  flex-direction: column !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  border-radius: 0 !important;
}

/* Small "STEP" label (Formidable's own "1 of 9" text) */
.frm_pages_complete {
  order: -1;
  text-align: left !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #a68b52 !important;
  background: transparent !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}
.frm_percent_complete,
.frm_clearfix { display: none !important; }

/* ---------- Thin progress bar ---------- */
ul.frm_page_bar {
  order: 1;
  list-style: none !important;
  display: flex !important;
  gap: 4px;
  padding: 0 !important;
  margin: 4px 0 0 !important;
  height: 4px;
  background: transparent !important;
  border: none !important;
}
ul.frm_page_bar li.frm_rootline_single {
  flex: 1;
  height: 4px;
  background: transparent !important;
}
ul.frm_page_bar li input[type="button"] {
  width: 100%;
  height: 4px;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 999px !important;
  background: #ddd8cc !important;
  color: transparent !important;
  font-size: 0 !important;
  appearance: none;
  box-shadow: none !important;
  cursor: default;
}
/* Current step */
ul.frm_page_bar li.frm_current_page input[type="button"] {
  background: #1c1c1c !important;
}
/* Steps already completed (any li that has the current page somewhere after it) */
ul.frm_page_bar li.frm_rootline_single:has(~ li.frm_current_page) input[type="button"] {
  background: #1c1c1c !important;
}

/* ---------- Field labels & inputs ---------- */
.frm_form_field { margin-bottom: 20px; }
.frm_form_field fieldset { border: none; margin: 0; padding: 0; }

.frm_primary_label {
  display: block;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #4a2e1f;
  margin-bottom: 8px;
}
.frm_required { color: #c0392b; margin-left: 2px; }

.frm_form_field input[type="text"],
.frm_form_field input[type="email"],
.frm_form_field input[type="tel"],
.frm_form_field input[type="password"],
.frm_form_field select,
.frm_form_field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 14px 18px;
  border: 1px solid #e4e0d6;
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
  color: #333;
  transition: border-color .15s ease;
}
.frm_form_field input:focus,
.frm_form_field select:focus,
.frm_form_field textarea:focus {
  outline: none;
  border-color: #1c1c1c;
}

.frm_description {
  font-size: 12px;
  color: #9a9a9a;
  margin-top: 4px;
}

/* ---------- Side-by-side sub-fields (name, address city/state/zip) ---------- */
.frm_combo_inputs_container {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.frm_combo_inputs_container .frm_form_field { margin-bottom: 16px; }
.frm_combo_inputs_container .frm6      { flex: 1 1 calc(50% - 8px); }
.frm_combo_inputs_container .frm_third { flex: 1 1 calc(33.333% - 11px); }
.frm_combo_inputs_container .frm12     { flex: 1 1 100%; }

/* ---------- Buttons (Back / Continue) ---------- */
.frm_submit.frm_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 28px;
}
.frm_submit.frm_flex button {
  appearance: none;
  cursor: pointer;
  border-radius: 999px;
  padding: 14px 34px;
  font-size: 15px;
  font-weight: 600;
  transition: opacity .15s ease;
}
.frm_submit.frm_flex button:hover { opacity: .85; }

/* Continue / Next (last button in the row) */
.frm_submit.frm_flex button:last-child {
  background: #1c1c1c;
  color: #d9b26a;
  border: none;
}
/* Back (only appears when there's more than one button) */
.frm_submit.frm_flex button:not(:only-child):first-child,
.frm_submit.frm_flex .frm_prev_page {
  background: transparent;
  border: 1px solid #e6e2d6;
  color: #b9b2a0;
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  .frm_fields_container { margin: 24px 16px; padding: 0 20px 28px; }
  .frm_fields_container > h3.frm_section_heading { padding-top: 24px; font-size: 26px; }
  .frm_combo_inputs_container .frm6,
  .frm_combo_inputs_container .frm_third { flex: 1 1 100%; }
}/* End custom CSS */