/**
 * Forminator Medicare appointment form overrides.
 * Scoped to schedule mount wrapper + form module — 1:1 match to React schedule form.
 * Date field: Forminator native popup picker only (no inline calendar).
 */

.medicare-forminator-mount {
  --medicare-red: #d01010;
  --medicare-black: #111111;
  --medicare-line: #c8c8c8;
}

.medicare-appointment-form-wrap {
  border: 2px solid #111 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.medicare-forminator-mount {
  background: #fff !important;
  overflow: visible !important;
}

.medicare-forminator-mount [id^="forminator-module-"],
.medicare-forminator-mount [id^="forminator-module-"] form {
  margin: 0 !important;
  padding: 0 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-row {
  margin: 0 !important;
  padding: 0 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-row-inner {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-col {
  max-width: none !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field {
  margin-bottom: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-label {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  letter-spacing: 0.2px !important;
  color: #111 !important;
  margin-bottom: 16px !important;
  text-align: center !important;
  display: block !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-label .forminator-required {
  color: var(--medicare-red) !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-label .forminator-required,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-label .forminator-required,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-label .forminator-required,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1 .forminator-label .forminator-required {
  display: none !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-custom-form,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-pagination-footer {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ========== SECTION 1: QUESTIONS ========== */
.medicare-forminator-mount [id^="forminator-module-"] .medicare-row-questions {
  border-bottom: 1px solid #c8c8c8 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-row-questions .forminator-row-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-gap: 0 !important;
  align-items: stretch !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 {
  position: relative !important;
  border-left: 1px solid #c8c8c8 !important;
  padding: 18px 14px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-height: 100% !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 {
  border-left: none !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1::before,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2::before,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3::before {
  content: "" !important;
  position: absolute !important;
  top: 16px !important;
  left: 14px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: #d01010 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1::before { content: "1" !important; }
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2::before { content: "2" !important; }
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3::before { content: "3" !important; }

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-label,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-label,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-label {
  padding: 0 8px 0 44px !important;
  min-height: 3.4em !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-q-icon {
  min-height: 100px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-q-icon svg {
  max-width: 100% !important;
  height: auto !important;
}

/* Question option groups — Forminator native + legacy ul/li mock */
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-field--inner,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 [role="radiogroup"],
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-field--inner,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 [role="radiogroup"],
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 ul.forminator-radio,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 ul.forminator-radio {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: center !important;
  width: 100% !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-field--inner,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 [role="radiogroup"],
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 ul.forminator-radio {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 0 4% !important;
  box-sizing: border-box !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 label.forminator-radio,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 label.forminator-radio,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 label.forminator-radio,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-radio label,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-radio label,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-radio label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  letter-spacing: 0.3px !important;
  user-select: none !important;
  text-align: left !important;
  padding: 10px 16px !important;
  border: 2px solid #d0d0d0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111 !important;
  margin: 0 !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 label.forminator-radio,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-radio label {
  width: 100% !important;
  justify-content: flex-start !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 label.forminator-radio input,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 label.forminator-radio input,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 label.forminator-radio input,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-radio input,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-radio input,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-radio input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-radio-bullet,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-radio-bullet,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-radio-bullet,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-radio label::before,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-radio label::before,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-radio label::before {
  content: "" !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border: 2px solid #222 !important;
  border-radius: 5px !important;
  background: #fff !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  box-sizing: border-box !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 label.forminator-radio:has(input:checked),
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 label.forminator-radio:has(input:checked),
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 label.forminator-radio:has(input:checked),
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-radio input:checked + label,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-radio input:checked + label,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-radio input:checked + label {
  border-color: #d01010 !important;
  background: #fff0f0 !important;
  box-shadow: 0 0 0 2px rgba(208, 16, 16, 0.15) !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 label.forminator-radio:has(input:checked) .forminator-radio-bullet,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 label.forminator-radio:has(input:checked) .forminator-radio-bullet,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 label.forminator-radio:has(input:checked) .forminator-radio-bullet,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 .forminator-radio input:checked + label::before,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2 .forminator-radio input:checked + label::before,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 .forminator-radio input:checked + label::before {
  background: #d01010 !important;
  border-color: #d01010 !important;
  box-shadow: inset 0 0 0 3px #fff !important;
}

/* ========== SECTION 2: CALENDAR + TIME ========== */
.medicare-forminator-mount [id^="forminator-module-"] .medicare-row-schedule {
  border-bottom: 1px solid #c8c8c8 !important;
  padding: 8px 0 0 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-row-schedule .forminator-row-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
  grid-template-areas: "calendar times" !important;
  grid-gap: 0 !important;
  align-items: stretch !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-appt-date-field {
  grid-area: calendar !important;
  padding: 22px 22px 18px 28px !important;
  border-right: 1px solid #c8c8c8 !important;
  overflow: visible !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1 .forminator-date-input,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1 .forminator-input-with-icon,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-appt-date-field .forminator-date-input,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-appt-date-field .forminator-input-with-icon {
  position: relative !important;
  overflow: visible !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1 .forminator-datepicker,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-appt-date-field .forminator-datepicker {
  padding-right: 44px !important;
  cursor: pointer !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1 .forminator-icon-calendar,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-appt-date-field .forminator-icon-calendar {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  pointer-events: none !important;
  color: #d01010 !important;
  fill: currentColor !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1.medicare-field-error .forminator-datepicker,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-appt-date-field.medicare-field-error .forminator-datepicker {
  border-color: #d01010 !important;
  box-shadow: 0 0 0 2px rgba(208, 16, 16, 0.12) !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1.medicare-field-error::after,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-appt-date-field.medicare-field-error::after {
  content: attr(data-error-msg) !important;
  display: block !important;
  color: #d01010 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-top: 8px !important;
  text-align: center !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 {
  grid-area: times !important;
  padding: 22px 28px 18px 22px !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 > .forminator-label {
  display: none !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4::before {
  content: "SELECT A TIME THAT WORKS FOR YOU." !important;
  display: block !important;
  text-align: center !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  letter-spacing: 0.4px !important;
  margin-bottom: 16px !important;
  color: #111 !important;
}

/* Time slot pill grid */
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 .forminator-field--inner,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 [role="radiogroup"],
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 ul.forminator-radio {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-gap: 10px !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 label.forminator-radio,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 .forminator-radio label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 13px 8px !important;
  border: 2px solid #d01010 !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #111 !important;
  background: #fff !important;
  cursor: pointer !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
  position: relative !important;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 label.forminator-radio:hover,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 .forminator-radio label:hover {
  background: #fff0f0 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(208, 16, 16, 0.15) !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 label.forminator-radio input,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 .forminator-radio input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 .forminator-radio-bullet {
  display: none !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 label.forminator-radio:last-of-type,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 .forminator-radio li:last-child {
  grid-column: 1 / -1 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 label.forminator-radio:has(input:checked),
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 .forminator-radio input:checked + label {
  background: #d01010 !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #d01010 !important;
}

/* ========== SECTION 3: CONTACT INFO ========== */
.medicare-forminator-mount [id^="forminator-module-"] .medicare-row-contact {
  padding: 18px 0 0 !important;
  margin-top: 0 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-row-contact .forminator-row-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-areas:
    "title title title"
    "name phone email"
    "zip zip dob"
    "privacy privacy privacy" !important;
  grid-gap: 14px 16px !important;
  padding: 0 28px 8px !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-html-2 { grid-area: title !important; }
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-text-1 { grid-area: name !important; }
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-phone-1 { grid-area: phone !important; }
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-email-1 { grid-area: email !important; }
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-text-2 { grid-area: zip !important; }
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-text-3 { grid-area: dob !important; }
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-html-3 { grid-area: privacy !important; }

.medicare-forminator-mount [id^="forminator-module-"] .info__title,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-info-title {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 10px !important;
  padding-bottom: 4px !important;
  color: #111 !important;
  text-align: left !important;
  display: block !important;
  width: 100% !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-submit {
  padding: 8px 28px 28px !important;
  margin-top: 4px !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-text .forminator-label,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-phone .forminator-label,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-email .forminator-label {
  font-size: 16px !important;
  letter-spacing: 0.4px !important;
  text-align: left !important;
  margin-bottom: 6px !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-text .forminator-label .forminator-required,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-phone .forminator-label .forminator-required,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-email .forminator-label .forminator-required,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-text-2 .forminator-label .forminator-required,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field-text-3 .forminator-label .forminator-required {
  display: inline !important;
  color: var(--medicare-red) !important;
  font-weight: 700 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-dob-wrap,
.medicare-forminator-mount [id^="forminator-module-"] .field__dob-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-dob-wrap .forminator-input,
.medicare-forminator-mount [id^="forminator-module-"] .field__dob-wrap input {
  padding-right: 36px !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-dob-cal,
.medicare-forminator-mount [id^="forminator-module-"] .field__cal {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-input::placeholder {
  color: #aaa !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-input,
.medicare-forminator-mount [id^="forminator-module-"] .forminator-field--phone .forminator-input {
  border: 1.5px solid #333 !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  font-size: 16px !important;
  color: #111 !important;
  background: #fff !important;
  width: 100% !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-input:focus {
  border-color: #d01010 !important;
  outline: none !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-input.invalid {
  border-color: #d01010 !important;
  background: #fff5f5 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .privacy,
.medicare-forminator-mount [id^="forminator-module-"] .medicare-privacy-note {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 8px !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #111 !important;
  margin: 20px auto 18px !important;
  max-width: 600px !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-button-submit.confirm {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  background: #d01010 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 18px 24px !important;
  cursor: pointer !important;
  box-shadow: 0 3px 0 #8a0000 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  transition: filter 0.15s ease, transform 0.12s ease, box-shadow 0.12s ease !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-button-submit.confirm:hover {
  filter: brightness(1.05) !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .forminator-button-submit.confirm:active {
  transform: translateY(1px) !important;
  box-shadow: 0 1px 0 #8a0000 !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-field-error {
  outline: 2px solid #d01010 !important;
  outline-offset: 2px !important;
}

.medicare-forminator-mount [id^="forminator-module-"] .medicare-field-error::after {
  content: attr(data-error-msg) !important;
  display: block !important;
  color: #d01010 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-top: 8px !important;
  text-align: center !important;
}

.medicare-form-missing {
  padding: 24px !important;
  text-align: center !important;
  color: #d01010 !important;
  font-weight: 700 !important;
}

@media (max-width: 768px) {
  .medicare-forminator-mount [id^="forminator-module-"] .medicare-row-questions .forminator-row-inner {
    grid-template-columns: 1fr !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1,
  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-2,
  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-3 {
    border-left: none !important;
    border-top: 1px solid #c8c8c8 !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-1 {
    border-top: none !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .medicare-row-schedule .forminator-row-inner {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "calendar"
      "times" !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-date-1,
  .medicare-forminator-mount [id^="forminator-module-"] .medicare-appt-date-field {
    border-right: none !important;
    border-bottom: 1px solid #c8c8c8 !important;
    padding: 18px !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 {
    padding: 18px !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .medicare-row-contact .forminator-row-inner {
    grid-template-areas:
      "title"
      "name"
      "phone"
      "email"
      "zip"
      "dob"
      "privacy" !important;
    grid-template-columns: 1fr !important;
    padding: 0 18px 8px !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 .forminator-field--inner,
  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 [role="radiogroup"],
  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-radio-4 ul.forminator-radio {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .forminator-field-submit {
    padding: 8px 18px 24px !important;
  }

  .medicare-forminator-mount [id^="forminator-module-"] .forminator-button-submit .confirm__text {
    font-size: 18px !important;
  }
}




/* ===================================================== 
   Scoped to Medicare Forminator form only
   ===================================================== */

.medicare-forminator-mount #forminator-module-15 {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 20px !important;
}

/* ---------- QUESTION LABELS ---------- */
.medicare-forminator-mount .forminator-label {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin-bottom: 16px !important;
  margin-top: 24px !important;
}

/* ---------- RADIO GROUP WRAPPER (YES/NO, checkboxes) ---------- */
.medicare-forminator-mount [role="radiogroup"].forminator-field {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 40px !important;
  width: 100% !important;
  margin-bottom: 10px !important;
}

/* Each YES/NO/checkbox option */
.medicare-forminator-mount .forminator-radio {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.medicare-forminator-mount .forminator-radio input[type="radio"],
.medicare-forminator-mount .forminator-radio input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* ---------- DATE FIELD ---------- */
.medicare-forminator-mount .forminator-field-date {
  max-width: 420px !important;
  margin: 0 auto 20px auto !important;
}

.medicare-forminator-mount .forminator-field-date input {
  width: 100% !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
}

/* ---------- TIME SLOT RADIOGROUP ---------- */
.medicare-forminator-mount .forminator-field-radio[class*="time"] [role="radiogroup"],
.medicare-forminator-mount .medicare-field-radio-time [role="radiogroup"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px 30px !important;
  max-width: 500px !important;
  margin: 0 auto !important;
  justify-items: start !important;
}

/* =====================================================
   CONTACT INFO SECTION (Name/Phone/Email/Zip/DOB row)
   Exact class confirmed via devtools: .medicare-row-contact
   ===================================================== */

.medicare-forminator-mount .forminator-row.medicare-row-contact {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 30px !important;
  max-width: 700px !important;
  margin: 0 auto !important;
}

/* Heading ("PLEASE PROVIDE YOUR INFORMATION") — first html field in the row, 
   spans both columns, stays left-aligned, not stretched */
.medicare-forminator-mount .medicare-row-contact .forminator-field-html.forminator-col-12:first-child {
  grid-column: 1 / -1 !important;
  text-align: left !important;
  margin-bottom: 20px !important;
}

.medicare-forminator-mount .medicare-row-contact .forminator-field-html.forminator-col-12:first-child h2,
.medicare-forminator-mount .medicare-row-contact .forminator-field-html.forminator-col-12:first-child h3 {
  display: block !important;
  width: auto !important;
  text-align: left !important;
  margin: 0 !important;
}

/* Privacy notice text (last html field in the row) — spans both columns, centered */
.medicare-forminator-mount .medicare-row-contact .forminator-field-html.forminator-col-12:last-child {
  grid-column: 1 / -1 !important;
  text-align: center !important;
  margin-top: 15px !important;
}

/* Individual input field wrappers (Name, Phone, Email, Zip, DOB) */
.medicare-forminator-mount .medicare-row-contact .forminator-field-text,
.medicare-forminator-mount .medicare-row-contact .forminator-field-phone,
.medicare-forminator-mount .medicare-row-contact .forminator-field-email {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: left !important;
}

.medicare-forminator-mount .medicare-row-contact label {
  text-align: left !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.medicare-forminator-mount .medicare-row-contact input {
  width: 100% !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
}

/* ---------- REQUIRED FIELD ERROR MESSAGE ---------- */
.medicare-forminator-mount .forminator-error-message,
.medicare-forminator-mount [class*="required"] {
  text-align: center !important;
  max-width: 420px !important;
  margin: 4px auto 16px auto !important;
}

/* =====================================================
   MOBILE: stack everything to 1 column
   ===================================================== */
@media (max-width: 600px) {
  .medicare-forminator-mount [role="radiogroup"].forminator-field {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .medicare-forminator-mount .forminator-field-radio[class*="time"] [role="radiogroup"] {
    grid-template-columns: 1fr !important;
  }

  .medicare-forminator-mount .forminator-row.medicare-row-contact {
    grid-template-columns: 1fr !important;
  }
}