/* Hiking Fest v6.0.41.19 — registration readability and conditional fields. */
body.hf-registration-page {
  --hf-registration-header: 118px;
  color-scheme: dark;
}

body.hf-registration-page main {
  position: relative;
}

body.hf-registration-page #formular {
  scroll-margin-top: calc(var(--hf-registration-header) + 14px);
  padding-top: 26px !important;
}

/*
 * .form-field uses display:flex in the global stylesheet. Without this rule,
 * that author style overrides the browser's native [hidden] behavior.
 */
body.hf-registration-page .form-field[hidden] {
  display: none !important;
}

/*
 * Windows/Chromium renders native option lists separately from the select.
 * Explicit foreground and background colors keep every profile readable.
 */
body.hf-registration-page .form-field select {
  min-height: 56px;
  padding-right: 52px;
  border-color: rgba(199, 243, 107, .45);
  background-color: #17231f !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath fill='%23c7f36b' d='M5.5 7.5 10 12l4.5-4.5 1.4 1.4-5.9 5.9-5.9-5.9z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  color: #f7fbf8 !important;
  color-scheme: dark;
}

body.hf-registration-page .form-field select option {
  background: #17231f !important;
  color: #f7fbf8 !important;
  font-weight: 600;
  padding: 10px 12px;
}

body.hf-registration-page .form-field select option:checked {
  background: #355342 !important;
  color: #ffffff !important;
}

body.hf-registration-page .form-field select option:disabled {
  color: #9baca3 !important;
}

body.hf-registration-page .form-field select:focus {
  border-color: #c7f36b !important;
  box-shadow: 0 0 0 4px rgba(199, 243, 107, .13);
}

body.hf-registration-page .register-hero {
  min-height: 0 !important;
  height: auto !important;
}

body.hf-registration-page .register-hero .hero-grid,
body.hf-registration-page .register-hero .container.hero-grid {
  min-height: 0 !important;
  padding-top: calc(var(--hf-registration-header) + 20px) !important;
  padding-bottom: 28px !important;
  gap: 22px !important;
}

body.hf-registration-page .register-hero .hero-copy h1 {
  margin-bottom: 12px !important;
  font-size: clamp(38px, 4.3vw, 68px) !important;
  line-height: .98 !important;
}

body.hf-registration-page .register-hero .hero-copy p {
  max-width: 760px;
  margin-bottom: 16px !important;
}

body.hf-registration-page .register-hero .hero-cta {
  margin-top: 14px !important;
}

body.hf-registration-page #formular > .section-head {
  margin-bottom: 18px !important;
}

body.hf-registration-page #formular > .section-head p {
  margin-bottom: 0 !important;
}

body.hf-registration-page #formular .auth-choice {
  margin-top: 12px !important;
  margin-bottom: 18px !important;
}

/* New registration experience variants. */
body.hf-registration-page [data-registration-hero],
body.hf-registration-page .hf-register-hero,
body.hf-registration-page .registration-hero {
  min-height: 0 !important;
  height: auto !important;
}

body.hf-registration-page .hf-register-shell,
body.hf-registration-page .registration-shell {
  align-items: start !important;
}

@media (min-width: 761px) {
  body.hf-registration-page .register-hero .hero-panel {
    padding: 20px !important;
  }

  body.hf-registration-page .register-hero .panel-grid {
    gap: 10px !important;
  }
}

@media (max-width: 760px) {
  body.hf-registration-page {
    --hf-registration-header: 82px;
  }

  body.hf-registration-page .register-hero {
    display: none !important;
  }

  body.hf-registration-page #formular {
    padding-top: 18px !important;
    padding-bottom: 54px !important;
  }

  body.hf-registration-page #formular > .section-head {
    margin-bottom: 14px !important;
  }

  body.hf-registration-page #formular > .section-head h1,
  body.hf-registration-page #formular > .section-head h2 {
    font-size: clamp(30px, 9vw, 43px) !important;
    line-height: 1.02 !important;
  }

  body.hf-registration-page #formular > .section-head p {
    display: none !important;
  }

  body.hf-registration-page #formular .auth-choice {
    margin-bottom: 14px !important;
  }

  body.hf-registration-page .register-wrap,
  body.hf-registration-page .registration-card,
  body.hf-registration-page .hf-register-card {
    margin-top: 0 !important;
  }
}
