/* KBH font */
@font-face {
  font-family: 'KBH';
  src: url('../fonts/KBH/KBH-Regular.woff2') format('woff2'),
       url('../fonts/KBH/KBH-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'KBH';
  src: url('../fonts/KBH/KBH-Bold.woff2') format('woff2'),
       url('../fonts/KBH/KBH-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'KBH';
  src: url('../fonts/KBH/KBH-Black.woff2') format('woff2'),
       url('../fonts/KBH/KBH-Black.woff') format('woff');
  font-weight: 900;
  font-style: normal;
}

/* Webform custom styles */
.path-webform h1 {
  font-family: 'KBH', serif;
  font-size: 3.75rem;
  font-weight: 900;
  line-height: 1.08;
  color: #000c2e;
}

.path-webform .webform-step-title,
.path-webform .webform-submission-form h2 {
  font-family: 'KBH', serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: #a92249;
}

/* ── Details/Summary ──────────────────────────────────── */
.path-webform .claro-details__summary::before {
  display: none !important;
}

.path-webform .claro-details__summary {
  color: #a92249;
  cursor: default;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 30px 30px 0 30px;
  margin: 0;
}

.path-webform .claro-details__wrapper {
  margin: 0;
  padding: 0 30px 30px;
}

.path-webform .claro-details__summary:hover {
  color: #a92249;
  background: none;
}

.path-webform .claro-details[open] > .claro-details__summary:focus {
  color: #a92249 !important;
}

.path-webform input.webform-wizard-pages-link {
  margin-top: 30px;
  background-color: #cd274f;
  border-color: #cd274f;
  color: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.path-webform input.webform-wizard-pages-link:hover,
.path-webform input.webform-wizard-pages-link:focus {
  background-color: #a92249 !important;
  border-color: #a92249 !important;
  color: #fff !important;
}

/* ── Required asterisk ────────────────────────────────── */
.path-webform .form-item__label.form-required::after,
.path-webform .fieldset__label.form-required::after {
  color: #cd274f;
  font-size: 1.1rem;
}

/* ── Labels & Legends ─────────────────────────────────── */
.path-webform .form-item__label:not(.option),
.path-webform .fieldset__label {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.4;
}


/* ── Flex overflow fix ────────────────────────────────── */
.path-webform .webform-flex {
  min-width: 0;
}

.path-webform .webform-flex--container .form-type-checkbox,
.path-webform .webform-flex--container .form-type-radio {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* ── Bootstrap overrides ──────────────────────────────── */
.path-webform .form-text {
  margin-top: 0;
}

/* ── Spacing ──────────────────────────────────────────── */
.path-webform .webform-flexbox {
  margin-bottom: 1.5rem;
}

.path-webform .form-item {
  margin-bottom: 0.5rem;
}

.path-webform tr .form-item,
.path-webform .container-inline .form-item,
.path-webform .fieldset__wrapper--group .form-item {
  margin-block: 0;
}

.path-webform .fieldset__wrapper--group {
  padding-top: 0.25rem;
}

.path-webform .webform-flex--container {
  padding-top: 0;
  margin-top: 0;
}

.path-webform .fieldset--group {
  margin-bottom: 1.5rem;
}

.path-webform .webform-flex .fieldset--group {
  margin-bottom: 0;
}

/* ── Links ────────────────────────────────────────────── */
.path-webform .webform-submission-form a {
  color: #a92249;
  text-decoration: none;
}

.path-webform .webform-submission-form a:hover,
.path-webform .webform-submission-form a:focus {
  color: #000c2e;
  text-decoration: underline;
}

/* ── Buttons ──────────────────────────────────────────── */
.path-webform input.webform-button--next {
  background-color: #cd274f;
  border-color: #cd274f;
  color: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.path-webform input.webform-button--next:hover,
.path-webform input.webform-button--next:focus,
.webform-submission-form input.webform-button--next:hover,
.webform-submission-form input.webform-button--next:focus {
  background-color: #a92249 !important;
  border-color: #a92249 !important;
  color: #fff !important;
}

.path-webform input.webform-button--submit {
  background-color: #cd274f;
  border-color: #cd274f;
  color: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.path-webform input.webform-button--submit:hover,
.path-webform input.webform-button--submit:focus {
  background-color: #a92249 !important;
  border-color: #a92249 !important;
  color: #fff !important;
}

.path-webform input.webform-button--preview {
  background-color: #cd274f;
  border-color: #cd274f;
  color: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.path-webform input.webform-button--preview:hover,
.path-webform input.webform-button--preview:focus {
  background-color: #a92249 !important;
  border-color: #a92249 !important;
  color: #fff !important;
}

.path-webform input.webform-button--previous {
  background-color: transparent;
  border: 2px solid #cd274f;
  color: #cd274f;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.path-webform input.webform-button--previous:hover,
.path-webform input.webform-button--previous:focus {
  background-color: #cd274f !important;
  border-color: #cd274f !important;
  color: #fff !important;
}

/* Hide the original page title block on webform pages */
.path-webform #block-fg-claro-page-title {
  display: none;
}

/* ── Progress tracker ─────────────────────────────────── */
.webform-progress-tracker .progress-marker::before {
  background-color: #cd274f !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-bottom: 0 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.webform-progress-tracker .progress-step.is-active .progress-marker::before {
  background-color: #a92249 !important;
}

.webform-progress-tracker .progress-step.is-complete .progress-marker::before {
  background-color: #e8a0b4 !important;
  content: '✓' !important;
}

.webform-progress-tracker .progress-marker::after {
  top: 20px !important;
}

.webform-progress-tracker .progress-step.is-active .progress-title {
  color: #a92249;
  font-weight: 700;
}

.webform-progress-tracker .progress-step.is-complete .progress-title,
.webform-progress-tracker .progress-step.is-complete .progress-title[role="link"] {
  color: #e8a0b4 !important;
}
