/* ============================================================
   KARVIVA CLEANSE QUIZ — GRAVITY FORMS CSS (Direct Properties)
   Form ID #15 | Orbital Theme | GF 2.7+
   
   NO CSS VARIABLES — all direct property declarations.
   Radio inputs are HIDDEN; labels are styled as full-width
   clickable cards with an internal circle indicator.
   
   Brand: Botanical Apothecary
   Primary: #f59301 (Orange)  |  Secondary: #3bb3bc (Teal)
   Background: #FFFDF8 (Warm Cream)
   Fonts: Montserrat (headings), Montserrat (body)
   
   HOW TO USE:
   1. Wrap your shortcode:
      <div class="karviva-quiz">
        [gravityform id="15" title="false" description="false" ajax="true"]
      </div>
   2. Paste this CSS into: Appearance → Customize → Additional CSS
      OR enqueue in functions.php
   ============================================================ */

/* ============================================================
   1. FORM WRAPPER & BODY
   ============================================================ */

.karviva-quiz #gform_wrapper_15,
.karviva-quiz .gform_wrapper,
#gform_wrapper_15[data-form-index="0"].gform-theme,
#gform_wrapper_15[data-form-index="0"].gform-theme--orbital,
#gform_wrapper_15[data-form-index="0"].gform-theme--framework {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  color: #333 !important;
  line-height: 1.6 !important;
  border: none !important;
  box-shadow: none !important;
}

.karviva-quiz .gform-body,
.karviva-quiz .gform_body {
  padding: 0 !important;
}

/* Hide form title/description */
.karviva-quiz .gform_heading,
.karviva-quiz .gform_title,
.karviva-quiz .gform_description {
  display: none !important;
}


/* ============================================================
   2. PROGRESS BAR
   ============================================================ */

.karviva-quiz #gf_progressbar_wrapper_15,
.karviva-quiz .gf_progressbar_wrapper {
  margin-bottom: 36px !important;
  padding: 0 !important;
}

/* "Step X of Y" text — LEFT aligned */
.karviva-quiz .gf_progressbar_wrapper .gf_progressbar_title,
.karviva-quiz .gf_progressbar_wrapper p.gf_progressbar_title,
#gform_wrapper_15[data-form-index="0"].gform-theme .gf_progressbar_title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #888 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  margin-bottom: 10px !important;
  text-align: left !important;
}

.karviva-quiz .gf_progressbar_title .gf_step_current_page {
  color: #888 !important;
  font-weight: 600 !important;
}

.karviva-quiz .gf_progressbar_title .gf_step_page_count {
  color: #888 !important;
}

/* Progress bar track */
.karviva-quiz .gf_progressbar_wrapper .gf_progressbar,
.karviva-quiz .gf_progressbar_wrapper .gf_progressbar.gf_progressbar_blue,
#gform_wrapper_15[data-form-index="0"].gform-theme .gf_progressbar,
#gform_wrapper_15[data-form-index="0"].gform-theme .gf_progressbar.gf_progressbar_blue {
  background-color: #e8e5de !important;
  border-radius: 50px !important;
  height: 8px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}

/* Progress bar fill */
.karviva-quiz .gf_progressbar .gf_progressbar_percentage,
.karviva-quiz .gf_progressbar .gf_progressbar_percentage.percentbar_blue,
.karviva-quiz .gf_progressbar .gf_progressbar_percentage.percentbar_20,
.karviva-quiz .gf_progressbar .gf_progressbar_percentage.percentbar_40,
.karviva-quiz .gf_progressbar .gf_progressbar_percentage.percentbar_60,
.karviva-quiz .gf_progressbar .gf_progressbar_percentage.percentbar_80,
.karviva-quiz .gf_progressbar .gf_progressbar_percentage.percentbar_100,
#gform_wrapper_15[data-form-index="0"].gform-theme .gf_progressbar_percentage {
  background: linear-gradient(90deg, #f59301 0%, #d4a843 40%, #3bb3bc 100%) !important;
  background-color: #f59301 !important;
  border-radius: 50px !important;
  height: 8px !important;
  line-height: 8px !important;
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
  padding: 0 !important;
}

/* Hide percentage text inside bar */
.karviva-quiz .gf_progressbar .gf_progressbar_percentage span {
  font-size: 0 !important;
  line-height: 0 !important;
  visibility: hidden !important;
  display: none !important;
}


/* ============================================================
   3. PAGE WRAPPER & TRANSITIONS
   ============================================================ */

.karviva-quiz .gform_page {
  animation: karviva-fadeIn 0.4s ease forwards !important;
}

@keyframes karviva-fadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}


/* ============================================================
   4. FIELDSET RESET
   ============================================================ */

.karviva-quiz fieldset.gfield,
.karviva-quiz #field_15_1,
.karviva-quiz #field_15_3,
.karviva-quiz #field_15_5,
.karviva-quiz #field_15_6,
.karviva-quiz #field_15_7 {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 8px 0 !important;
  background: transparent !important;
}

.karviva-quiz .gform_fields,
.karviva-quiz #gform_fields_15,
.karviva-quiz #gform_fields_15_2,
.karviva-quiz #gform_fields_15_3,
.karviva-quiz #gform_fields_15_4,
.karviva-quiz #gform_fields_15_5 {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* ============================================================
   5. QUESTION LABELS (Field Legends)
   ============================================================ */

.karviva-quiz .gfield_label,
.karviva-quiz .gform-field-label,
.karviva-quiz legend.gfield_label,
.karviva-quiz legend.gform-field-label,
.karviva-quiz .gfield .gfield_label.gform-field-label,
.karviva-quiz fieldset.gfield legend.gfield_label.gform-field-label,
#gform_wrapper_15[data-form-index="0"].gform-theme legend.gfield_label,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_label.gform-field-label {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: #1a1a1a !important;
  margin-bottom: 28px !important;
  line-height: 1.35 !important;
  padding: 0 !important;
  display: block !important;
  border: none !important;
  background: transparent !important;
  text-align: left !important;
}

/* HIDE "(Required)" text completely */
.karviva-quiz .gfield_required,
.karviva-quiz .gfield_required_text,
.karviva-quiz span.gfield_required,
.karviva-quiz .gfield_required span.gfield_required_text,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_required,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_required_text {
  display: none !important;
  visibility: hidden !important;
  font-size: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Field description / helper text */
.karviva-quiz .gfield_description,
.karviva-quiz .gform-field-description {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: #888 !important;
  margin-bottom: 16px !important;
  line-height: 1.6 !important;
}


/* ============================================================
   6. RADIO BUTTONS — HIDDEN INPUT, FULL-WIDTH CARD LABELS
   
   The actual <input type="radio"> is visually hidden.
   The <label> becomes the full clickable card.
   A ::before pseudo-element on the label creates the
   circle indicator INSIDE the card.
   ============================================================ */

/* Radio container */
.karviva-quiz .gfield_radio,
.karviva-quiz .ginput_container_radio .gfield_radio,
.karviva-quiz #input_15_1,
.karviva-quiz #input_15_3,
.karviva-quiz #input_15_6,
.karviva-quiz #input_15_7,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Individual choice wrapper */
.karviva-quiz .gfield_radio .gchoice,
.karviva-quiz .gfield_radio > div[class^="gchoice_15_"],
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: relative !important;
}

/* ---- HIDE THE ACTUAL RADIO INPUT ---- */
.karviva-quiz .gfield_radio .gchoice input[type="radio"],
.karviva-quiz .gfield_radio .gchoice input.gfield-choice-input[type="radio"],
.karviva-quiz .gfield_radio input.gfield-choice-input,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

/* ---- RADIO LABEL — full-width clickable card ---- */
.karviva-quiz .gfield_radio .gchoice label,
.karviva-quiz .gfield_radio .gchoice .gform-field-label,
.karviva-quiz .gfield_radio .gchoice .gform-field-label--type-inline,
.karviva-quiz .gfield_radio .gchoice label.gform-field-label.gform-field-label--type-inline,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice label {
  display: flex !important;
  align-items: center !important;
  background-color: #f5f3ee !important;
  border: 2px solid transparent !important;
  border-radius: 14px !important;
  padding: 20px 24px !important;
  padding-left: 60px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #333 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  line-height: 1.5 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  position: relative !important;
  min-height: 60px !important;
}

/* Circle indicator INSIDE the card (via ::before) */
.karviva-quiz .gfield_radio .gchoice label::before,
.karviva-quiz .gfield_radio .gchoice .gform-field-label::before,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice label::before {
  content: '' !important;
  position: absolute !important;
  left: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  border: 2px solid #ccc8bf !important;
  border-radius: 50% !important;
  background-color: #fff !important;
  transition: all 0.25s ease !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Radio label hover */
.karviva-quiz .gfield_radio .gchoice label:hover,
.karviva-quiz .gfield_radio .gchoice .gform-field-label:hover,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice label:hover {
  background-color: #faf8f3 !important;
  border-color: rgba(245, 147, 1, 0.25) !important;
}

/* ---- SELECTED STATE — orange border + filled circle ---- */
.karviva-quiz .gfield_radio .gchoice input[type="radio"]:checked + label,
.karviva-quiz .gfield_radio .gchoice input.gfield-choice-input[type="radio"]:checked + label,
.karviva-quiz .gfield_radio .gchoice input[type="radio"]:checked + .gform-field-label,
.karviva-quiz .gfield_radio .gchoice input[type="radio"]:checked + .gform-field-label--type-inline,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice input[type="radio"]:checked + label {
  background-color: #fff !important;
  border-color: #f59301 !important;
  box-shadow: 0 2px 12px rgba(245, 147, 1, 0.12) !important;
  color: #1a1a1a !important;
}

/* Selected circle — filled orange with white inner dot */
.karviva-quiz .gfield_radio .gchoice input[type="radio"]:checked + label::before,
.karviva-quiz .gfield_radio .gchoice input[type="radio"]:checked + .gform-field-label::before,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice input[type="radio"]:checked + label::before {
  border-color: #f59301 !important;
  background-color: #f59301 !important;
  box-shadow: inset 0 0 0 4px #fff !important;
}

/* Focus state for accessibility */
.karviva-quiz .gfield_radio .gchoice input[type="radio"]:focus + label,
.karviva-quiz .gfield_radio .gchoice input[type="radio"]:focus-visible + label {
  outline: 2px solid rgba(245, 147, 1, 0.4) !important;
  outline-offset: 2px !important;
}


/* ============================================================
   7. CHECKBOXES — HIDDEN INPUT, FULL-WIDTH CARD LABELS
   Same pattern as radio but with teal accent and square indicator
   ============================================================ */

/* Checkbox container */
.karviva-quiz .gfield_checkbox,
.karviva-quiz .ginput_container_checkbox .gfield_checkbox,
.karviva-quiz #input_15_5,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Individual choice wrapper */
.karviva-quiz .gfield_checkbox .gchoice,
.karviva-quiz .gfield_checkbox > div[class^="gchoice_15_5_"],
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: relative !important;
}

/* ---- HIDE THE ACTUAL CHECKBOX INPUT ---- */
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"],
.karviva-quiz .gfield_checkbox .gchoice input.gfield-choice-input[type="checkbox"],
.karviva-quiz .gfield_checkbox input.gfield-choice-input,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

/* ---- CHECKBOX LABEL — full-width clickable card ---- */
.karviva-quiz .gfield_checkbox .gchoice label,
.karviva-quiz .gfield_checkbox .gchoice .gform-field-label,
.karviva-quiz .gfield_checkbox .gchoice .gform-field-label--type-inline,
.karviva-quiz .gfield_checkbox .gchoice label.gform-field-label.gform-field-label--type-inline,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice label {
  display: flex !important;
  align-items: center !important;
  background-color: #f5f3ee !important;
  border: 2px solid transparent !important;
  border-radius: 14px !important;
  padding: 20px 24px !important;
  padding-left: 60px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #333 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  line-height: 1.5 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  position: relative !important;
  min-height: 60px !important;
}

/* Square indicator INSIDE the card (via ::before) */
.karviva-quiz .gfield_checkbox .gchoice label::before,
.karviva-quiz .gfield_checkbox .gchoice .gform-field-label::before,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice label::before {
  content: '' !important;
  position: absolute !important;
  left: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  border: 2px solid #ccc8bf !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  transition: all 0.25s ease !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Checkbox label hover */
.karviva-quiz .gfield_checkbox .gchoice label:hover,
.karviva-quiz .gfield_checkbox .gchoice .gform-field-label:hover,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice label:hover {
  background-color: #faf8f3 !important;
  border-color: rgba(59, 179, 188, 0.25) !important;
}

/* ---- SELECTED STATE — teal border + filled square ---- */
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:checked + label,
.karviva-quiz .gfield_checkbox .gchoice input.gfield-choice-input[type="checkbox"]:checked + label,
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:checked + .gform-field-label,
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:checked + .gform-field-label--type-inline,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice input[type="checkbox"]:checked + label {
  background-color: #fff !important;
  border-color: #3bb3bc !important;
  box-shadow: 0 2px 12px rgba(59, 179, 188, 0.12) !important;
  color: #1a1a1a !important;
}

/* Selected square — filled teal with checkmark */
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:checked + label::before,
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:checked + .gform-field-label::before,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice input[type="checkbox"]:checked + label::before {
  border-color: #3bb3bc !important;
  background-color: #3bb3bc !important;
}

/* Checkmark via ::after */
.karviva-quiz .gfield_checkbox .gchoice label::after,
.karviva-quiz .gfield_checkbox .gchoice .gform-field-label::after,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice label::after {
  content: '' !important;
  position: absolute !important;
  left: 29px !important;
  top: 50% !important;
  transform: translateY(-60%) rotate(45deg) !important;
  width: 6px !important;
  height: 11px !important;
  border: solid transparent !important;
  border-width: 0 2.5px 2.5px 0 !important;
  transition: border-color 0.25s ease !important;
}

/* Show checkmark only when checked */
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:checked + label::after,
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:checked + .gform-field-label::after,
#gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice input[type="checkbox"]:checked + label::after {
  border-color: #fff !important;
}

/* Focus state for accessibility */
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:focus + label,
.karviva-quiz .gfield_checkbox .gchoice input[type="checkbox"]:focus-visible + label {
  outline: 2px solid rgba(59, 179, 188, 0.4) !important;
  outline-offset: 2px !important;
}


/* ============================================================
   8. PAGE FOOTER & NAVIGATION BUTTONS
   ============================================================ */

/* Page footer container — RIGHT aligned */
.karviva-quiz .gform-page-footer,
.karviva-quiz .gform_page_footer,
.karviva-quiz .gform_page_footer.top_label {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 40px !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(0,0,0,0.06) !important;
}

/* ---- NEXT BUTTON — right-aligned, pill, orange ---- */
.karviva-quiz .gform_next_button,
.karviva-quiz input.gform_next_button,
.karviva-quiz input[type="button"].gform_next_button,
.karviva-quiz .gform_next_button.gform-theme-button,
.karviva-quiz .gform_next_button.gform-theme-button.button,
.karviva-quiz #gform_next_button_15_8,
.karviva-quiz #gform_next_button_15_9,
.karviva-quiz #gform_next_button_15_11,
.karviva-quiz #gform_next_button_15_12,
#gform_wrapper_15[data-form-index="0"].gform-theme input.gform_next_button,
#gform_wrapper_15[data-form-index="0"].gform-theme input.gform_next_button.gform-theme-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #fff !important;
  background: #f59301 !important;
  background-color: #f59301 !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 16px 48px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(245, 147, 1, 0.25) !important;
  letter-spacing: 0.3px !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  text-decoration: none !important;
  outline: none !important;
  order: 2 !important;
  min-width: 160px !important;
}

.karviva-quiz .gform_next_button:hover,
.karviva-quiz input.gform_next_button:hover,
#gform_wrapper_15[data-form-index="0"].gform-theme input.gform_next_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(245, 147, 1, 0.35) !important;
  background: #e08500 !important;
  background-color: #e08500 !important;
  color: #fff !important;
}

.karviva-quiz .gform_next_button:active,
.karviva-quiz input.gform_next_button:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(245, 147, 1, 0.3) !important;
}

.karviva-quiz .gform_next_button:focus,
.karviva-quiz input.gform_next_button:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(245, 147, 1, 0.3), 0 4px 16px rgba(245, 147, 1, 0.25) !important;
}

/* ---- PREVIOUS BUTTON — ghost style, left of Next ---- */
.karviva-quiz .gform_previous_button,
.karviva-quiz input.gform_previous_button,
.karviva-quiz input[type="button"].gform_previous_button,
.karviva-quiz input[type="submit"].gform_previous_button,
.karviva-quiz .gform_previous_button.gform-theme-button--secondary,
.karviva-quiz .gform_previous_button.gform-theme-button.gform-theme-button--secondary.button,
.karviva-quiz #gform_previous_button_15_9,
.karviva-quiz #gform_previous_button_15_11,
.karviva-quiz #gform_previous_button_15_12,
.karviva-quiz #gform_previous_button_15,
#gform_wrapper_15[data-form-index="0"].gform-theme input.gform_previous_button,
#gform_wrapper_15[data-form-index="0"].gform-theme input.gform_previous_button.gform-theme-button--secondary {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #999 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 2px solid #e0ddd6 !important;
  border-radius: 50px !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  line-height: 1.4 !important;
  letter-spacing: 0.3px !important;
  box-shadow: none !important;
  text-transform: none !important;
  text-decoration: none !important;
  outline: none !important;
  order: 1 !important;
}

.karviva-quiz .gform_previous_button:hover,
.karviva-quiz input.gform_previous_button:hover,
#gform_wrapper_15[data-form-index="0"].gform-theme input.gform_previous_button:hover {
  border-color: #3bb3bc !important;
  color: #3bb3bc !important;
  background-color: rgba(59, 179, 188, 0.04) !important;
}

.karviva-quiz .gform_previous_button:focus,
.karviva-quiz input.gform_previous_button:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(59, 179, 188, 0.2) !important;
}

/* ---- SUBMIT BUTTON (Last Page) ---- */
.karviva-quiz .gform_button,
.karviva-quiz input.gform_button,
.karviva-quiz input[type="submit"].gform_button,
.karviva-quiz .gform_button.button,
.karviva-quiz #gform_submit_button_15,
#gform_wrapper_15[data-form-index="0"].gform-theme input.gform_button,
#gform_wrapper_15[data-form-index="0"].gform-theme #gform_submit_button_15 {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  color: #fff !important;
  background: #f59301 !important;
  background-color: #f59301 !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 18px 56px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(245, 147, 1, 0.25) !important;
  letter-spacing: 0.3px !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  text-decoration: none !important;
  outline: none !important;
}

.karviva-quiz .gform_button:hover,
.karviva-quiz input.gform_button:hover,
.karviva-quiz #gform_submit_button_15:hover,
#gform_wrapper_15[data-form-index="0"].gform-theme input.gform_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(245, 147, 1, 0.35) !important;
  background: #e08500 !important;
  background-color: #e08500 !important;
  color: #fff !important;
}

.karviva-quiz .gform_button:active,
.karviva-quiz input.gform_button:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(245, 147, 1, 0.3) !important;
}

.karviva-quiz .gform_button:focus,
.karviva-quiz #gform_submit_button_15:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(245, 147, 1, 0.3), 0 4px 16px rgba(245, 147, 1, 0.25) !important;
}

/* Form footer (submit page) — also right-aligned */
.karviva-quiz .gform_footer,
.karviva-quiz .gform_footer.top_label {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: 40px !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(0,0,0,0.06) !important;
}


/* ============================================================
   9. VALIDATION & ERROR STATES
   ============================================================ */

.karviva-quiz .gform_validation_errors,
.karviva-quiz .validation_error {
  background-color: rgba(231, 76, 60, 0.05) !important;
  border: 1px solid rgba(231, 76, 60, 0.15) !important;
  border-radius: 14px !important;
  padding: 18px 24px !important;
  margin-bottom: 24px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: #c0392b !important;
}

.karviva-quiz .gform_validation_errors h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #c0392b !important;
  margin-bottom: 4px !important;
}

.karviva-quiz .gfield_error .gfield_label,
.karviva-quiz .gfield_error .gform-field-label,
.karviva-quiz .gfield_error legend.gfield_label {
  color: #c0392b !important;
}

.karviva-quiz .gfield_error .gfield_radio .gchoice label,
.karviva-quiz .gfield_error .gfield_checkbox .gchoice label {
  border-color: rgba(231, 76, 60, 0.2) !important;
}

.karviva-quiz .gfield_error .validation_message,
.karviva-quiz .gfield_validation_message {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #c0392b !important;
  margin-top: 10px !important;
  padding: 8px 14px !important;
  background-color: rgba(231, 76, 60, 0.04) !important;
  border-radius: 10px !important;
  border: none !important;
}


/* ============================================================
   10. CONFIRMATION MESSAGE
   ============================================================ */

.karviva-quiz .gform_confirmation_wrapper,
.karviva-quiz .gform_confirmation_message {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  color: #333 !important;
  line-height: 1.7 !important;
}


/* ============================================================
   11. SPINNER / LOADING STATE
   ============================================================ */

.karviva-quiz .gform_ajax_spinner {
  margin-left: 12px !important;
}

.karviva-quiz .gform_button[disabled],
.karviva-quiz .gform_next_button[disabled] {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  transform: none !important;
}


/* ============================================================
   12. RESPONSIVE DESIGN
   ============================================================ */

@media (max-width: 768px) {
  .karviva-quiz .gfield_label,
  .karviva-quiz legend.gfield_label,
  .karviva-quiz legend.gform-field-label,
  #gform_wrapper_15[data-form-index="0"].gform-theme legend.gfield_label {
    font-size: 20px !important;
    margin-bottom: 20px !important;
  }

  .karviva-quiz .gfield_radio .gchoice label,
  .karviva-quiz .gfield_radio .gchoice .gform-field-label,
  .karviva-quiz .gfield_checkbox .gchoice label,
  .karviva-quiz .gfield_checkbox .gchoice .gform-field-label,
  #gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice label,
  #gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice label {
    padding: 16px 20px !important;
    padding-left: 54px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
    min-height: 54px !important;
  }

  .karviva-quiz .gfield_radio .gchoice label::before,
  .karviva-quiz .gfield_checkbox .gchoice label::before,
  #gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice label::before,
  #gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice label::before {
    left: 18px !important;
    width: 20px !important;
    height: 20px !important;
  }

  .karviva-quiz .gfield_checkbox .gchoice label::after,
  #gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice label::after {
    left: 25px !important;
  }

  .karviva-quiz .gform-page-footer,
  .karviva-quiz .gform_page_footer {
    flex-direction: column-reverse !important;
    gap: 12px !important;
    justify-content: center !important;
  }

  .karviva-quiz .gform_next_button,
  .karviva-quiz input.gform_next_button,
  .karviva-quiz .gform_button,
  .karviva-quiz input.gform_button,
  .karviva-quiz #gform_submit_button_15,
  #gform_wrapper_15[data-form-index="0"].gform-theme input.gform_next_button,
  #gform_wrapper_15[data-form-index="0"].gform-theme input.gform_button {
    width: 100% !important;
    text-align: center !important;
    padding: 16px 36px !important;
    order: 1 !important;
  }

  .karviva-quiz .gform_previous_button,
  .karviva-quiz input.gform_previous_button,
  #gform_wrapper_15[data-form-index="0"].gform-theme input.gform_previous_button {
    width: 100% !important;
    text-align: center !important;
    order: 2 !important;
  }
}

@media (max-width: 480px) {
  .karviva-quiz .gfield_label,
  .karviva-quiz legend.gfield_label,
  #gform_wrapper_15[data-form-index="0"].gform-theme legend.gfield_label {
    font-size: 18px !important;
  }

  .karviva-quiz .gfield_radio .gchoice label,
  .karviva-quiz .gfield_checkbox .gchoice label,
  #gform_wrapper_15[data-form-index="0"].gform-theme .gfield_radio .gchoice label,
  #gform_wrapper_15[data-form-index="0"].gform-theme .gfield_checkbox .gchoice label {
    padding: 14px 16px !important;
    padding-left: 48px !important;
    font-size: 14px !important;
    gap: 10px !important;
    min-height: 48px !important;
  }

  .karviva-quiz .gfield_radio .gchoice label::before,
  .karviva-quiz .gfield_checkbox .gchoice label::before {
    left: 14px !important;
    width: 18px !important;
    height: 18px !important;
  }

  .karviva-quiz .gfield_checkbox .gchoice label::after {
    left: 20px !important;
    width: 5px !important;
    height: 9px !important;
  }

  .karviva-quiz .gf_progressbar_wrapper .gf_progressbar_title {
    font-size: 12px !important;
  }
}


/* ============================================================
   13. PRINT STYLES
   ============================================================ */

@media print {
  .karviva-quiz .gform-page-footer,
  .karviva-quiz .gform_page_footer,
  .karviva-quiz .gform_footer {
    display: none !important;
  }
}