/* Mory presentation layer for any SureForms form rendered inside the Contact template. */
.mory-form-slot,
.mory-form-slot .srfm-form-container,
.mory-form-slot .srfm-form {
  --srfm-color-scheme-primary: var(--ink) !important;
  --srfm-color-scheme-text-on-primary: var(--white) !important;
  --srfm-color-scheme-text: var(--ink) !important;
  --srfm-quill-editor-color: var(--ink) !important;
  --srfm-color-input-label: var(--ink) !important;
  --srfm-color-input-description: var(--muted) !important;
  --srfm-color-input-placeholder: #8d8a84 !important;
  --srfm-color-input-text: var(--ink) !important;
  --srfm-color-input-prefix: var(--muted) !important;
  --srfm-color-input-background: rgba(255,255,255,.30) !important;
  --srfm-color-input-background-hover: rgba(255,255,255,.62) !important;
  --srfm-color-input-background-disabled: rgba(8,16,32,.04) !important;
  --srfm-color-input-border: var(--rule) !important;
  --srfm-color-input-border-disabled: rgba(8,16,32,.12) !important;
  --srfm-color-input-border-hover: rgba(8,16,32,.52) !important;
  --srfm-color-input-border-focus-glow: transparent !important;
  --srfm-color-input-selected: rgba(216,154,39,.12) !important;
  --srfm-dropdown-input-background-hover: rgba(255,255,255,.62) !important;
  --srfm-dropdown-option-background-hover: rgba(216,154,39,.08) !important;
  --srfm-dropdown-option-background-selected: rgba(216,154,39,.12) !important;
  --srfm-dropdown-option-selected-icon: var(--ink) !important;
  --srfm-dropdown-option-text-color: var(--ink) !important;
  --srfm-dropdown-option-selected-text: var(--ink) !important;
  --srfm-dropdown-menu-border-color: var(--rule) !important;
  --srfm-dropdown-placeholder-color: #8d8a84 !important;
  --srfm-dropdown-icon-color: var(--muted) !important;
  --srfm-btn-color-hover: var(--gold) !important;
  --srfm-btn-color-disabled: rgba(8,16,32,.28) !important;
  --srfm-bg-color: transparent !important;
  --srfm-form-padding-top: 0 !important;
  --srfm-form-padding-right: 0 !important;
  --srfm-form-padding-bottom: 0 !important;
  --srfm-form-padding-left: 0 !important;
  --srfm-form-border-radius-top: 0 !important;
  --srfm-form-border-radius-right: 0 !important;
  --srfm-form-border-radius-bottom: 0 !important;
  --srfm-form-border-radius-left: 0 !important;
  --srfm-row-gap-between-blocks: 30px !important;
  --srfm-col-gap-between-fields: 18px !important;
  --srfm-row-gap-between-fields: 20px !important;
  --srfm-input-height: 58px !important;
  --srfm-input-field-padding: 15px 16px !important;
  --srfm-input-field-font-size: 15px !important;
  --srfm-input-field-line-height: 26px !important;
  --srfm-input-field-margin-top: 9px !important;
  --srfm-input-field-margin-bottom: 0 !important;
  --srfm-label-font-size: 11px !important;
  --srfm-label-line-height: 16px !important;
  --srfm-description-font-size: 12px !important;
  --srfm-description-line-height: 19px !important;
  --srfm-checkbox-label-font-size: 13px !important;
  --srfm-checkbox-label-line-height: 22px !important;
  --srfm-check-ctn-width: 19px !important;
  --srfm-check-ctn-height: 19px !important;
  --srfm-check-svg-size: 11px !important;
  --srfm-check-gap: 12px !important;
  --srfm-btn-padding: 17px 24px !important;
  --srfm-btn-font-size: 11px !important;
  --srfm-btn-line-height: 18px !important;
}

.mory-form-slot .srfm-form-container,
.mory-form-slot .srfm-form,
.mory-form-slot .srfm-single-form {
  width: 100% !important;
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mory-form-slot .srfm-form {
  color: var(--ink) !important;
}

/* SureForms can output Spectra/UAGB heading blocks inside longer forms. */
.mory-form-slot .srfm-form .wp-block-uagb-advanced-heading {
  width: 100% !important;
  margin: 18px 0 2px !important;
  padding: 0 !important;
}

.mory-form-slot .srfm-form .wp-block-uagb-advanced-heading:first-of-type {
  margin-top: 0 !important;
}

.mory-form-slot .srfm-form .uagb-heading-text {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 !important;
  color: var(--gold) !important;
  font-family: 'Courier Prime', monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.mory-form-slot .srfm-form .uagb-heading-text::after {
  content: '';
  flex: 1 1 auto;
  height: 1px;
  background: var(--rule);
}

.mory-form-slot .srfm-form fieldset {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.mory-form-slot .srfm-form .srfm-block-label,
.mory-form-slot .srfm-form .srfm-block-legend {
  color: var(--ink) !important;
  font-family: 'Courier Prime', monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

.mory-form-slot .srfm-form .srfm-required {
  color: var(--gold) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-weight: 700 !important;
}

.mory-form-slot .srfm-form .srfm-description {
  margin: 6px 0 8px !important;
  color: var(--muted) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.mory-form-slot .srfm-form .srfm-block-wrap {
  position: relative;
}

.mory-form-slot .srfm-form input.srfm-input-common:not([type='checkbox']):not([type='radio']),
.mory-form-slot .srfm-form input[type='text'],
.mory-form-slot .srfm-form input[type='email'],
.mory-form-slot .srfm-form input[type='url'],
.mory-form-slot .srfm-form input[type='tel'],
.mory-form-slot .srfm-form input[type='number'],
.mory-form-slot .srfm-form textarea.srfm-input-common,
.mory-form-slot .srfm-form textarea,
.mory-form-slot .srfm-form select {
  width: 100% !important;
  min-height: 58px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: rgba(255,255,255,.30) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  transition: border-color .28s ease, background-color .28s ease, box-shadow .28s ease, transform .28s cubic-bezier(.22,1,.36,1) !important;
}

.mory-form-slot .srfm-form input.srfm-input-common:not([type='checkbox']):not([type='radio']):hover,
.mory-form-slot .srfm-form textarea:hover,
.mory-form-slot .srfm-form select:hover {
  border-color: rgba(8,16,32,.42) !important;
  background: rgba(255,255,255,.58) !important;
}

.mory-form-slot .srfm-form input.srfm-input-common:not([type='checkbox']):not([type='radio']):focus,
.mory-form-slot .srfm-form textarea:focus,
.mory-form-slot .srfm-form select:focus {
  border-color: var(--ink) !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: inset 0 -2px 0 var(--gold) !important;
  transform: translateY(-1px);
}

.mory-form-slot .srfm-form input::placeholder,
.mory-form-slot .srfm-form textarea::placeholder {
  color: #918f89 !important;
  opacity: 1 !important;
}

.mory-form-slot .srfm-form textarea.srfm-input-textarea {
  min-height: 210px !important;
  padding: 16px !important;
  resize: vertical;
  line-height: 1.7 !important;
}

.mory-form-slot .srfm-form .srfm-char-counter-wrap {
  margin-top: 7px !important;
  text-align: right !important;
}

.mory-form-slot .srfm-form .srfm-char-counter {
  color: var(--sand) !important;
  font-family: 'Courier Prime', monospace !important;
  font-size: 10px !important;
  letter-spacing: .04em !important;
}

/* Tom Select is what SureForms renders for searchable dropdowns on the frontend. */
.mory-form-slot .srfm-form .ts-wrapper {
  width: 100% !important;
  min-height: 58px !important;
}

.mory-form-slot .srfm-form .ts-wrapper .ts-control {
  min-height: 58px !important;
  padding: 15px 44px 15px 16px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.30) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 26px !important;
  transition: border-color .28s ease, background-color .28s ease, box-shadow .28s ease, transform .28s cubic-bezier(.22,1,.36,1) !important;
}

.mory-form-slot .srfm-form .ts-wrapper .ts-control > input {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink) !important;
  font: inherit !important;
  transform: none !important;
}

.mory-form-slot .srfm-form .ts-wrapper .ts-control > input::placeholder {
  color: #918f89 !important;
}

.mory-form-slot .srfm-form .ts-wrapper.focus .ts-control,
.mory-form-slot .srfm-form .ts-wrapper.dropdown-active .ts-control {
  border-color: var(--ink) !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: inset 0 -2px 0 var(--gold) !important;
  transform: translateY(-1px);
}

.mory-form-slot .srfm-form .ts-wrapper .clear-button,
.mory-form-slot .srfm-form .ts-wrapper .ts-dropdown-icon {
  color: var(--muted) !important;
}

.mory-form-slot .srfm-form .ts-dropdown {
  margin-top: 5px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ink) !important;
  box-shadow: 0 18px 42px rgba(8,16,32,.12) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 13px !important;
}

.mory-form-slot .srfm-form .ts-dropdown .option,
.mory-form-slot .srfm-form .ts-dropdown [data-selectable] {
  padding: 11px 14px !important;
}

.mory-form-slot .srfm-form .ts-dropdown .active,
.mory-form-slot .srfm-form .ts-dropdown .selected {
  background: rgba(216,154,39,.10) !important;
  color: var(--ink) !important;
}

/* Standard SureForms checkboxes and GDPR use the same Mory square treatment. */
.mory-form-slot .srfm-form .srfm-checkbox-block .srfm-cbx,
.mory-form-slot .srfm-form .srfm-gdpr-block .srfm-cbx {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer;
}

.mory-form-slot .srfm-form .srfm-checkbox-block .srfm-cbx > .srfm-span-wrap:first-child,
.mory-form-slot .srfm-form .srfm-gdpr-block .srfm-cbx > .srfm-span-wrap:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 19px;
  width: 19px !important;
  height: 19px !important;
  margin-top: 1px;
  border: 1px solid rgba(8,16,32,.42) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: background-color .22s ease, border-color .22s ease, transform .22s ease !important;
}

.mory-form-slot .srfm-form .srfm-input-checkbox:checked + .srfm-cbx > .srfm-span-wrap:first-child,
.mory-form-slot .srfm-form .srfm-input-gdpr:checked + .srfm-cbx > .srfm-span-wrap:first-child {
  border-color: var(--ink) !important;
  background: var(--ink) !important;
}

.mory-form-slot .srfm-form .srfm-input-checkbox:focus-visible + .srfm-cbx > .srfm-span-wrap:first-child,
.mory-form-slot .srfm-form .srfm-input-gdpr:focus-visible + .srfm-cbx > .srfm-span-wrap:first-child {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.mory-form-slot .srfm-form .srfm-check-icon {
  color: #fff !important;
  stroke: #fff !important;
}

.mory-form-slot .srfm-form .srfm-checkbox-block .srfm-block-label,
.mory-form-slot .srfm-form .srfm-gdpr-block .srfm-block-label {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #4e5156 !important;
}

.mory-form-slot .srfm-form .srfm-error-wrap {
  margin-top: 7px !important;
}

.mory-form-slot .srfm-form .srfm-error-message {
  color: #9d2f2f !important;
  font-family: 'Courier Prime', monospace !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
}

.mory-form-slot .srfm-form .srfm-common-error-message {
  margin: 0 0 28px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(157,47,47,.32) !important;
  border-radius: 0 !important;
  background: rgba(157,47,47,.045) !important;
}

.mory-form-slot .srfm-form .srfm-submit-container {
  margin-top: 8px !important;
}

.mory-form-slot .srfm-form .srfm-submit-container .wp-block-button {
  width: 100% !important;
  text-align: left !important;
}

.mory-form-slot .srfm-form .srfm-submit-button {
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 22px !important;
  border: 1px solid var(--ink) !important;
  border-radius: 0 !important;
  background: var(--ink) !important;
  color: #fff !important;
  box-shadow: none !important;
  overflow: hidden;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .3s cubic-bezier(.22,1,.36,1) !important;
}

.mory-form-slot .srfm-form .srfm-submit-button::after {
  content: '↗';
  flex: 0 0 auto;
  margin-left: 18px;
  font-family: Manrope, Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}

.mory-form-slot .srfm-form .srfm-submit-button:hover {
  border-color: var(--gold) !important;
  background: var(--gold) !important;
  color: var(--ink) !important;
  transform: translateY(-3px);
}

.mory-form-slot .srfm-form .srfm-submit-button:hover::after {
  transform: translate(3px,-3px);
}

.mory-form-slot .srfm-form .srfm-submit-button:focus-visible {
  outline: 2px solid var(--gold) !important;
  outline-offset: 4px !important;
}

.mory-form-slot .srfm-form .srfm-submit-button:disabled {
  transform: none !important;
  cursor: not-allowed;
}

.mory-form-slot .srfm-success-box {
  border: 1px solid #29313f !important;
  border-radius: 0 !important;
  background: var(--ink) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.mory-form-slot .srfm-success-box .srfm-success-box-description {
  padding: 28px !important;
  color: #fff !important;
  font-family: Manrope, Arial, sans-serif !important;
  line-height: 1.7 !important;
}

@media (max-width: 780px) {
  .mory-form-slot .srfm-form .srfm-block-width-50 {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  .mory-form-slot,
  .mory-form-slot .srfm-form-container,
  .mory-form-slot .srfm-form {
    --srfm-row-gap-between-blocks: 24px !important;
    --srfm-col-gap-between-fields: 0 !important;
    --srfm-input-height: 54px !important;
  }

  .mory-form-slot .srfm-form textarea.srfm-input-textarea {
    min-height: 180px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mory-form-slot .srfm-form *,
  .mory-form-slot .srfm-form *::before,
  .mory-form-slot .srfm-form *::after {
    transition: none !important;
  }

  .mory-form-slot .srfm-form input:focus,
  .mory-form-slot .srfm-form textarea:focus,
  .mory-form-slot .srfm-form .ts-wrapper.focus .ts-control,
  .mory-form-slot .srfm-form .srfm-submit-button:hover {
    transform: none !important;
  }
}
