/*
 * Shared Gravity Forms styling for every block that embeds a form.
 * Registered as its own handle ('rim-forms') and listed in each form block's
 * block.json — living in one block's stylesheet meant pages using only the
 * OTHER block shipped none of it.
 */

.rim-contact .gform_wrapper input:not([type='submit']):not([type='checkbox']):not([type='radio']),
.rim-contact .gform_wrapper select,
.rim-contact .gform_wrapper textarea,
.rim-contact-cta .gform_wrapper input:not([type='submit']):not([type='checkbox']):not([type='radio']),
.rim-contact-cta .gform_wrapper select,
.rim-contact-cta .gform_wrapper textarea {
  inline-size: 100%;
  min-block-size: 48px;
  padding: var(--rim-space-sm) var(--rim-space-md);
  border: 1px solid var(--rim-line-strong);
  border-radius: var(--rim-radius);
  background: var(--rim-surface);
  color: var(--rim-ink);
  font-family: var(--rim-font-body);
  font-size: var(--rim-step-0);
  line-height: 1.4;
  transition: border-color var(--rim-duration) var(--rim-ease);
}

.rim-contact .gform_wrapper textarea,
.rim-contact-cta .gform_wrapper textarea {
  min-block-size: 130px;
  resize: vertical;
}

.rim-contact .gform_wrapper input:focus-visible,
.rim-contact .gform_wrapper select:focus-visible,
.rim-contact .gform_wrapper textarea:focus-visible,
.rim-contact-cta .gform_wrapper input:focus-visible,
.rim-contact-cta .gform_wrapper select:focus-visible,
.rim-contact-cta .gform_wrapper textarea:focus-visible {
  border-color: var(--rim-accent);
  outline: 3px solid var(--rim-focus);
  outline-offset: 1px;
}

.rim-contact .gform_wrapper .gfield_label,
.rim-contact-cta .gform_wrapper .gfield_label {
  color: var(--rim-ink);
  font-family: var(--rim-font-heading);
  font-size: var(--rim-step--1);
  font-weight: 700;
}

.rim-contact .gform_wrapper .gfield_required,
.rim-contact-cta .gform_wrapper .gfield_required {
  color: var(--rim-accent-text);
}

.rim-contact .gform_wrapper input[type='submit'],
.rim-contact-cta .gform_wrapper input[type='submit'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 48px;
  padding: var(--rim-space-sm) var(--rim-space-xl);
  appearance: none;
  border: 2px solid var(--rim-ink);
  border-radius: var(--rim-radius);
  background: var(--rim-accent);
  box-shadow: 4px 4px 0 var(--rim-ink);
  color: var(--rim-on-accent);
  font-family: var(--rim-font-heading);
  font-size: var(--rim-step-0);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  cursor: pointer;
  transition: box-shadow var(--rim-duration) var(--rim-ease), transform var(--rim-duration) var(--rim-ease);
}

.rim-contact .gform_wrapper input[type='submit']:hover,
.rim-contact-cta .gform_wrapper input[type='submit']:hover {
  box-shadow: 2px 2px 0 var(--rim-ink);
  transform: translate3d(2px, 2px, 0);
}

.rim-contact .gform_wrapper input[type='submit']:active,
.rim-contact-cta .gform_wrapper input[type='submit']:active {
  box-shadow: 0 0 0 var(--rim-ink);
  transform: translate3d(4px, 4px, 0);
}

.rim-contact .gform_wrapper input[type='submit']:focus-visible,
.rim-contact-cta .gform_wrapper input[type='submit']:focus-visible {
  outline: 3px solid var(--rim-focus);
  outline-offset: 2px;
}

.rim-contact .gform_wrapper .gform_validation_errors,
.rim-contact .gform_wrapper .gfield_validation_message,
.rim-contact-cta .gform_wrapper .gform_validation_errors,
.rim-contact-cta .gform_wrapper .gfield_validation_message {
  border-radius: var(--rim-radius);
  font-size: var(--rim-step--1);
}

.rim-contact .gform_confirmation_message,
.rim-contact-cta .gform_confirmation_message {
  padding: var(--rim-space-lg);
  border-inline-start: 3px solid var(--rim-accent);
  background: var(--rim-surface-alt);
  border-radius: 0 var(--rim-radius-lg) var(--rim-radius-lg) 0;
  color: var(--rim-ink);
  font-size: var(--rim-step-1);
}

/*
 * Gravity Forms brand recolor: set GF's own theme variables instead of
 * overriding its selectors — survives GF updates and covers every control,
 * progress bar and button in one place. Quiz-funnel accent rides along.
 */
.rim-contact .gform_wrapper,
.rim-contact-cta .gform_wrapper {
  --gf-color-primary: var(--rim-accent);
  --gf-color-primary-rgb: 238, 186, 0;
  --gf-color-primary-contrast: var(--rim-on-accent);
  --gf-color-primary-darker: var(--rim-accent-dark);
  --gf-color-primary-lighter: var(--rim-accent);
  --gf-color-off-black: var(--rim-ink);
  --gf-ctrl-label-color-primary: var(--rim-ink);
  --gf-ctrl-label-color-secondary: var(--rim-ink-soft);
  --gf-ctrl-desc-color: var(--rim-ink-soft);
  --gf-ctrl-btn-bg-color-primary: var(--rim-accent);
  --gf-ctrl-btn-color-primary: var(--rim-on-accent);
  --gf-ctrl-btn-bg-color-hover-primary: var(--rim-accent-dark);
  --gf-ctrl-btn-color-hover-primary: var(--rim-on-accent);
}

/* On the dark tone the form sits in a glass card, matching the hero's
   "Featured on" treatment. */
.rim-tone--deep .rim-contact__formcard,
.rim-tone--deep .rim-contact-cta__formcard {
  border: 1px solid rgb(255 255 255 / 16%);
  background: rgb(255 255 255 / 8%);
  box-shadow: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Phone with country code: air between the selector and the number, and the
   selector dresses like every other control. */
.rim-contact .gform_wrapper .gform-phone__input-wrapper,
.rim-contact-cta .gform_wrapper .gform-phone__input-wrapper {
  display: flex;
  gap: var(--rim-space-sm);
}

.rim-contact .gform_wrapper .gform-phone__country-selector,
.rim-contact-cta .gform_wrapper .gform-phone__country-selector {
  min-block-size: 48px;
  padding-inline: var(--rim-space-sm);
  border: 1px solid var(--rim-line-strong);
  border-radius: var(--rim-radius);
  background: var(--rim-surface);
  color: var(--rim-ink);
}

/* On the dark tone every field goes glass, matching the card around it. */
.rim-tone--deep .gform_wrapper input:not([type='submit']):not([type='checkbox']):not([type='radio']),
.rim-tone--deep .gform_wrapper select,
.rim-tone--deep .gform_wrapper textarea,
.rim-tone--deep .gform_wrapper .gform-phone__country-selector {
  background: rgb(255 255 255 / 8%);
  color: var(--rim-ink);
}

.rim-tone--deep .gform_wrapper :is(input, textarea)::placeholder {
  color: rgb(255 255 255 / 45%);
}
