.elementor-2602 .elementor-element.elementor-element-01e3a70{--display:flex;}.elementor-2602 .elementor-element.elementor-element-d171e77{--spacer-size:50px;}.elementor-2602 .elementor-element.elementor-element-233bfd3{--display:flex;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2602 .elementor-element.elementor-element-493b553{--spacer-size:50px;}.elementor-2602 .elementor-element.elementor-element-c61b967{text-align:center;}.elementor-2602 .elementor-element.elementor-element-c61b967 .elementor-heading-title{font-size:69px;}.elementor-2602 .elementor-element.elementor-element-2fdc7d4{--display:flex;}.elementor-2602 .elementor-element.elementor-element-e618fb9{font-size:1.1em;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-field-type-html{padding-bottom:0px;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-button[type="submit"]{color:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-2602 .elementor-element.elementor-element-0510b8b{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:768px){.elementor-2602 .elementor-element.elementor-element-2fdc7d4{--content-width:725px;}}/* Start custom CSS *//* ============================================================
   ROCKSPRING SURVEY FORM — CUSTOM STYLES
   Apply via: Elementor Page Settings → Advanced → Custom CSS
   ============================================================ */

/* ------------------------------------------------------------
   BRAND TOKENS
   ------------------------------------------------------------ */
:root {
  --rs-night-sky:    #07232D;
  --rs-dark-sage:    #53533D;
  --rs-sienna:       #9A644D;
  --rs-barley-grass: #D8C4A7;
  --rs-mist:         #EBE4E0;
  --rs-lake-blue:    #849CA8;
  --rs-frost:        #B0C9CC;
  --rs-blush:        #E1C8BC;
  --rs-the-woods:    #3B2726;

  /* Functional aliases */
  --rs-bg:           #F7F4F1;        /* Warm off-white — softer than pure white */
  --rs-text-primary: var(--rs-night-sky);
  --rs-text-muted:   var(--rs-dark-sage);
  --rs-accent:       var(--rs-sienna);
  --rs-rule:         var(--rs-barley-grass);
  --rs-input-border: var(--rs-barley-grass);
  --rs-input-focus:  var(--rs-lake-blue);
  --rs-control-bg:   #FFFFFF;

  /* Typography */
  --rs-font-display: 'PP Hatton', 'Georgia', serif;
  --rs-font-body:    'Calibre', 'Helvetica Neue', sans-serif;

  /* Spacing scale */
  --rs-space-xs:  8px;
  --rs-space-sm:  16px;
  --rs-space-md:  32px;
  --rs-space-lg:  48px;
  --rs-space-xl:  64px;
}


/* ------------------------------------------------------------
   FORM WRAPPER
   ------------------------------------------------------------ */
.elementor-form {
  background-color: var(--rs-bg);
  max-width: 720px;
  margin: 0 auto;
  padding: var(--rs-space-md) var(--rs-space-lg) var(--rs-space-xl);  /* Less top, full sides/bottom */
}

@media (max-width: 768px) {
  .elementor-form {
    padding: var(--rs-space-sm) var(--rs-space-md) var(--rs-space-lg);
  }
}

/* First question sits flush — no extra top padding */
.elementor-field-group:first-of-type {
  padding-top: 0;
}


/* ------------------------------------------------------------
   FIELD GROUPS — SPACING & SEPARATION
   ------------------------------------------------------------ */
.elementor-field-group {
  margin-bottom: var(--rs-space-md);  /* 32px below HR */
  padding-top: var(--rs-space-md);    /* 32px gap: HR → next question */
  padding-bottom: var(--rs-space-md); /* 32px gap: last option → HR */
  position: relative;
}

/* Horizontal rule between questions — styled as a brand divider */
.elementor-field-group:not(:last-of-type)::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    var(--rs-rule) 15%,
    var(--rs-rule) 85%,
    transparent
  );
}

/* Remove rule from the submit button row */
.elementor-field-type-submit::after {
  display: none;
}


/* ------------------------------------------------------------
   QUESTION LABELS
   ------------------------------------------------------------ */
/* Question labels only — not radio/checkbox option labels */
.elementor-field-label {
  font-family: var(--rs-font-display);
  font-weight: 500;                  /* PP Hatton Medium */
  font-size: 1.35rem;
  line-height: 1.4;
  color: var(--rs-text-primary);
  letter-spacing: 0.01em;
  display: block;
  margin-bottom: 14px;
}

/* Optional sub-instruction text (add via HTML field if needed) */
.rs-field-hint {
  font-family: var(--rs-font-body);
  font-size: 0.8rem;
  color: var(--rs-text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: -20px;
  margin-bottom: var(--rs-space-md);
  display: block;
}


/* ------------------------------------------------------------
   RADIO BUTTONS & CHECKBOXES
   Actual Elementor DOM:
   <span class="elementor-field-option">
     <input type="radio" id="...">
     <label for="...">Option text</label>
   </span>
   Input and label are SIBLINGS inside span.elementor-field-option
   ------------------------------------------------------------ */

/* Remove the ::before pseudo-element bullet */
.elementor-field-group.elementor-field-type-radio::before,
.elementor-field-group.elementor-field-type-checkbox::before {
  display: none !important;
  content: none !important;
}

/* The option row — flex container for input + label siblings */
.elementor-field-subgroup .elementor-field-option {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 8px 16px !important;       /* Reduced vertical padding */
  margin-bottom: 2px !important;      /* Tighter stacking */
  border: 1px solid transparent !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
  list-style: none !important;
}

.elementor-field-subgroup .elementor-field-option:hover {
  background-color: rgba(216, 196, 167, 0.18) !important;
  border-color: var(--rs-barley-grass) !important;
}

/* Option label text — override the global 22px !important from WPCode */
.elementor-field-subgroup .elementor-field-option label {
  font-family: var(--rs-font-body) !important;
  font-size: 1rem !important;
  font-weight: 300 !important;
  color: var(--rs-text-primary) !important;
  letter-spacing: 0.01em !important;
  line-height: 1.5 !important;
  margin-bottom: 0 !important;
  cursor: pointer !important;
  flex: 1 !important;
}

/* Custom radio input */
.elementor-field-subgroup .elementor-field-option input[type="radio"],
.elementor-field-subgroup .elementor-field-option input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 1.5px solid var(--rs-barley-grass) !important;
  background: #ffffff !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
  vertical-align: middle !important;
}

/* Radio = circle */
.elementor-field-subgroup .elementor-field-option input[type="radio"] {
  border-radius: 50% !important;
}

/* Checkbox = rounded square */
.elementor-field-subgroup .elementor-field-option input[type="checkbox"] {
  border-radius: 2px !important;
}

/* Checked radio — sienna fill with white ring */
.elementor-field-subgroup .elementor-field-option input[type="radio"]:checked {
  background-color: var(--rs-sienna) !important;
  border-color: var(--rs-sienna) !important;
  box-shadow: inset 0 0 0 3px #ffffff !important;
}

/* Checked checkbox — sienna fill with SVG checkmark */
.elementor-field-subgroup .elementor-field-option input[type="checkbox"]:checked {
  background-color: var(--rs-sienna) !important;
  border-color: var(--rs-sienna) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 3.5l3 3 5-5' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Selected row highlight — target the span when its input is checked */
.elementor-field-subgroup .elementor-field-option:has(input:checked) {
  background-color: rgba(155, 107, 77, 0.06) !important;
  border-color: rgba(155, 107, 77, 0.3) !important;
}

.elementor-field-subgroup .elementor-field-option:has(input:checked) label {
  color: var(--rs-sienna) !important;
}


/* ------------------------------------------------------------
   TEXT INPUTS & TEXTAREA
   ------------------------------------------------------------ */
.elementor-field-textual,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  font-family: var(--rs-font-body);
  font-size: 1rem;
  font-weight: 300;
  color: var(--rs-text-primary);
  background-color: var(--rs-control-bg);
  border: none;
  border-bottom: 1.5px solid var(--rs-input-border);
  border-radius: 0;
  padding: 12px 4px;
  width: 100%;
  transition: border-color 0.2s ease;
  outline: none;
  letter-spacing: 0.01em;
}

.elementor-field-textual:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  border-bottom-color: var(--rs-sienna);
  background-color: transparent;
}

/* Placeholder */
::placeholder {
  color: var(--rs-barley-grass);
  font-weight: 300;
  letter-spacing: 0.02em;
}

/* Select dropdown */
select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2353533D' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 32px;
  cursor: pointer;
}


/* ------------------------------------------------------------
   SUBMIT BUTTON
   ------------------------------------------------------------ */
.elementor-button[type="submit"],
.elementor-field-type-submit .elementor-button {
  font-family: var(--rs-font-body);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--rs-mist);
  background-color: var(--rs-night-sky);
  border: 1.5px solid var(--rs-night-sky);
  border-radius: 0;
  padding: 18px 48px;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease;
  display: inline-block;
  margin-top: var(--rs-space-md);
}

.elementor-button[type="submit"]:hover,
.elementor-field-type-submit .elementor-button:hover {
  background-color: transparent;
  color: var(--rs-night-sky);
}


/* ------------------------------------------------------------
   STEP INDICATOR (if using multi-step form)
   ------------------------------------------------------------ */
.elementor-form-steps-indicator {
  display: flex;
  gap: var(--rs-space-xs);
  margin-bottom: var(--rs-space-xl);
  justify-content: flex-start;
}

.elementor-step-indicator {
  width: 32px;
  height: 2px;
  background-color: var(--rs-barley-grass);
  transition: background-color 0.3s ease;
}

.elementor-step-indicator.active,
.elementor-step-indicator.completed {
  background-color: var(--rs-sienna);
}


/* ------------------------------------------------------------
   FORM INTRO TEXT (the italic preamble above the first question)
   ------------------------------------------------------------ */
.rs-form-intro {
  font-family: var(--rs-font-body);
  font-size: 1rem;
  font-weight: 300;
  font-style: italic;
  color: var(--rs-dark-sage);
  line-height: 1.75;
  margin-bottom: var(--rs-space-xl);
  padding-bottom: var(--rs-space-lg);
  border-bottom: 1px solid var(--rs-rule);
  max-width: 560px;
}


/* ------------------------------------------------------------
   ERROR STATES
   ------------------------------------------------------------ */
.elementor-field-group.elementor-error .elementor-field-label {
  color: var(--rs-sienna);
}

.elementor-message.elementor-message-danger {
  font-family: var(--rs-font-body);
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  color: var(--rs-sienna);
  margin-top: var(--rs-space-xs);
}

.elementor-field-group.elementor-error .elementor-field-textual {
  border-bottom-color: var(--rs-sienna);
}


/* ------------------------------------------------------------
   SUCCESS MESSAGE
   ------------------------------------------------------------ */
.elementor-message.elementor-message-success {
  font-family: var(--rs-font-display);
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--rs-night-sky);
  letter-spacing: 0.01em;
  line-height: 1.5;
  padding: var(--rs-space-lg) 0;
}
/* "Select all that apply" hint on checkbox questions */
.elementor-field-type-checkbox .elementor-field-label::after {
  content: "Select all that apply";
  display: block;
  font-family: var(--rs-font-body);
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rs-sienna);
  margin-top: 6px;
  opacity: 0.7;
}/* End custom CSS */