/**
 * Gravity Forms Orbital — second visual pass (targeted).
 *
 * Diagnosis (source + GF 3.2 docs — not live computed styles):
 * - Orbital default --gf-ctrl-label-color-primary is navy (#1e3a5f). If our
 *   CSS API vars lose (order/specificity) or never load, labels stay navy.
 * - Theme base layer applies ring-2 + ring-offset on all :focus-visible inputs,
 *   stacking with Orbital --gf-ctrl-shadow-focus → double outlines.
 * - Product+Total were two half-borders with form gap between → not one card.
 * - Submit lacked Astro py-6 height / card icon; glow mostly via vars only.
 *
 * v1.0.6+: soft border + ONE Astro focus ring; 1.5rem gap before CTA;
 * submit rounded-md / py-6 / accent shadow. On-form privacy notice removed (v1.0.12).
 */

/* ——— 1. Orbital CSS API (must win on .gform-theme--framework) ——— */
.gform_wrapper.gform-theme--framework,
.gform_wrapper.gform-theme--orbital,
.gform-theme--framework,
.gform_wrapper.dn-orders-form_wrapper,
.gform_wrapper {
  /* Brand — accent red/pink for primary CTA; teal kept as secondary */
  --gf-color-primary: hsl(348 80% 55%);
  --gf-color-primary-rgb: 225, 48, 96;
  --gf-color-primary-darker: hsl(348 90% 45%);
  --gf-color-primary-lighter: hsl(348 80% 65%);
  --gf-color-secondary: hsl(174 72% 50%);
  --gf-color-danger: hsl(348 80% 55%);

  --gf-color-in-ctrl: hsl(220 20% 7%);
  --gf-color-in-ctrl-contrast: hsl(210 20% 92%);
  --gf-color-outside-ctrl: hsl(220 20% 7%);
  --gf-color-outside-ctrl-contrast: hsl(210 20% 92%);

  --gf-ctrl-bg-color: hsl(220 20% 7%);
  --gf-ctrl-bg-color-hover: hsl(220 18% 10%);
  --gf-ctrl-bg-color-focus: hsl(220 20% 7%);
  --gf-ctrl-bg-color-disabled: hsl(220 16% 14%);
  --gf-ctrl-color: hsl(210 20% 92%);
  --gf-ctrl-color-hover: hsl(210 20% 92%);
  --gf-ctrl-color-focus: hsl(210 20% 92%);
  /* Soft default borders. Astro keeps border-input on focus and adds ring only —
     do NOT also flip border to teal (that + ring = Nick’s “extra” outline). */
  --gf-ctrl-border-color: hsl(220 14% 18%);
  --gf-ctrl-border-color-hover: hsl(174 72% 50% / 0.45);
  --gf-ctrl-border-color-focus: hsl(220 14% 18%);
  --gf-ctrl-radius: 0.375rem; /* Astro rounded-md */
  --gf-ctrl-shadow: none;
  /* Astro focus-visible: ring-2 + ring-offset-2 + ring-offset-background */
  --gf-ctrl-shadow-focus: 0 0 0 2px hsl(220 20% 7%), 0 0 0 4px hsl(174 72% 50%);
  /* Kill Orbital’s second indicator (outline-width-focus: 3px + inset shadow) */
  --gf-ctrl-outline-color: transparent;
  --gf-ctrl-outline-color-focus: transparent;
  --gf-ctrl-outline-width: 0;
  --gf-ctrl-outline-width-focus: 0;
  --gf-ctrl-outline-offset: 0;
  --gf-ctrl-outline-style: none;
  --gf-ctrl-size: 2.5rem; /* Astro h-10 */
  --gf-ctrl-padding-x: 0.75rem;
  --gf-ctrl-font-size: 0.875rem;

  /* Beat Orbital navy (#1e3a5f) label default */
  --gf-ctrl-label-color-primary: hsl(210 20% 92%);
  --gf-ctrl-label-color-secondary: hsl(215 12% 55%);
  --gf-ctrl-label-font-size-primary: 0.875rem;
  --gf-ctrl-label-font-weight-primary: 600;
  --gf-ctrl-desc-color: hsl(215 12% 55%);
  --gf-ctrl-desc-font-size: 0.75rem;
  --gf-ctrl-placeholder-color: hsl(215 12% 45%);

  --gf-ctrl-btn-bg-color-primary: hsl(348 80% 55%);
  --gf-ctrl-btn-bg-color-primary-hover: hsl(348 80% 50%);
  --gf-ctrl-btn-bg-color-primary-focus: hsl(348 80% 50%);
  --gf-ctrl-btn-bg-color-primary-active: hsl(348 90% 45%);
  --gf-ctrl-btn-color-primary: #fff;
  --gf-ctrl-btn-color-primary-hover: #fff;
  --gf-ctrl-btn-border-color-primary: transparent;
  --gf-ctrl-btn-radius: 0.375rem; /* Astro rounded-md */
  /* Astro: shadow-lg shadow-accent/25 */
  --gf-ctrl-btn-shadow-primary:
    0 10px 15px -3px hsl(348 80% 55% / 0.25),
    0 4px 6px -4px hsl(348 80% 55% / 0.25);
  --gf-ctrl-btn-shadow-primary-hover:
    0 10px 15px -3px hsl(348 80% 55% / 0.4),
    0 4px 6px -4px hsl(348 80% 55% / 0.4);
  --gf-ctrl-btn-font-weight: 600;
  --gf-ctrl-btn-font-size: 1rem;
  --gf-ctrl-btn-padding-x: 2rem;
  --gf-ctrl-btn-size: auto;

  /* Choice controls (radio / checkbox) — teal selected state, not Orbital blue */
  --gf-ctrl-choice-check-color: hsl(174 72% 50%);
  --gf-ctrl-choice-size: 1.125rem;
  --gf-ctrl-radio-check-size: 0.4375rem;
  --gf-ctrl-radio-check-radius: 50%;
  --gf-ctrl-checkbox-check-size: 0.75rem;

  /* Native select chevron — Orbital --gf-ctrl-select-icon (default too dark on our inputs) */
  --gf-ctrl-select-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23FFFFFF' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  --gf-ctrl-select-icon-hover: var(--gf-ctrl-select-icon);
  --gf-ctrl-select-icon-focus: var(--gf-ctrl-select-icon);
  --gf-ctrl-select-icon-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23FFFFFF' fill-opacity='0.45' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  --gf-ctrl-select-icon-size: 10px;

  /* Astro space-y-6 */
  --gf-form-gap-y: 1.5rem;
  --gf-field-gap-y: 0;
  --gf-color-text: hsl(210 20% 92%);
  --gf-color-text-muted: hsl(215 12% 55%);
  color: hsl(210 20% 92%);
}

.gform-theme--framework .gform-theme-field-control::placeholder,
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: var(--gf-ctrl-placeholder-color);
  opacity: 1;
}

/* ——— 2. Competing focus / outlines ———
   Theme main.css applies ring-2 + ring-offset on :focus-visible; kill those
   Tailwind ring vars inside GF, then one teal indicator via Orbital shadow. */
.gform_wrapper a:focus-visible,
.gform_wrapper button:focus-visible,
.gform_wrapper input:focus-visible,
.gform_wrapper select:focus-visible,
.gform_wrapper textarea:focus-visible,
.gform_wrapper .gform-theme-field-control:focus-visible {
  --tw-ring-offset-shadow: 0 0 #0000 !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  --tw-ring-offset-width: 0px !important;
  outline: none !important;
}

.gform_wrapper .gform-theme-field-control,
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper select,
.gform_wrapper textarea {
  outline: none;
}

.gform_wrapper .gform-theme-field-control:focus,
.gform_wrapper .gform-theme-field-control:focus-visible,
.gform_wrapper input:focus,
.gform_wrapper input:focus-visible,
.gform_wrapper select:focus,
.gform_wrapper select:focus-visible,
.gform_wrapper textarea:focus,
.gform_wrapper textarea:focus-visible {
  outline: none !important;
  outline-width: 0 !important;
  outline-color: transparent !important;
}

/* Prefer keyboard-visible ring; avoid double ring on mouse :focus alone */
.gform_wrapper .gform-theme-field-control:focus:not(:focus-visible),
.gform_wrapper input:focus:not(:focus-visible),
.gform_wrapper select:focus:not(:focus-visible),
.gform_wrapper textarea:focus:not(:focus-visible) {
  box-shadow: none !important;
  border-color: var(--gf-ctrl-border-color-hover);
}

.gform_wrapper .gform-theme-field-control:focus-visible,
.gform_wrapper input:focus-visible,
.gform_wrapper select:focus-visible,
.gform_wrapper textarea:focus-visible {
  /* Soft border unchanged — single Astro ring via box-shadow only */
  border-color: hsl(220 14% 18%) !important;
  box-shadow: var(--gf-ctrl-shadow-focus) !important;
  outline: none !important;
  outline-width: 0 !important;
  outline-style: none !important;
  --gf-local-outline-width: 0 !important;
  --gf-local-outline-color: transparent !important;
  --gf-local-shadow: var(--gf-ctrl-shadow-focus) !important;
}

/* Readonly GF price/total inputs are plain text — never show control focus chrome */
.gform_wrapper .ginput_product_price:focus,
.gform_wrapper .ginput_product_price:focus-visible,
.gform_wrapper .ginput_total:focus,
.gform_wrapper .ginput_total:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

.gform_wrapper .gform-theme-field-control:hover,
.gform_wrapper input:hover,
.gform_wrapper select:hover,
.gform_wrapper textarea:hover {
  border-color: var(--gf-ctrl-border-color-hover);
}

/* ——— 3. Labels: light foreground, teal asterisks ——— */
.gform_wrapper .gform_required_legend,
.gform_wrapper .gform-theme__required-legend {
  display: none !important;
}

.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required_asterisk {
  color: hsl(174 72% 50%) !important;
  font-weight: 600;
}

.gform-theme--framework .gfield_label,
.gform-theme--framework legend.gfield_label,
.gform-theme--framework .gform-field-label,
.gform-theme--framework .gform-field-label__text,
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label,
.gform_wrapper .gform-field-label,
.gform_wrapper .gform-field-label__text {
  color: hsl(210 20% 92%) !important;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.gform-theme--framework .gform-field-label--type-sub,
.gform_wrapper .gform-field-label--type-sub,
.gform_wrapper .gfield_name_first label,
.gform_wrapper .gfield_name_last label,
.gform_wrapper .ginput_complex label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: hsl(215 12% 55%) !important;
  margin-bottom: 0.25rem;
}

/* ——— 4. Layout / spacing (Astro space-y-6) ——— */
.gform-theme--framework .gform_fields,
.gform_wrapper .gform_fields {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  row-gap: 1.5rem;
}

.gform-theme--framework .gfield,
.gform_wrapper .gfield {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0;
  padding-bottom: 0;
}

.gform_wrapper .gform-theme-field-control,
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper select,
.gform_wrapper textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 2.5rem;
  border-radius: 0.375rem;
}

/* White select chevron (all order/quote forms) — keep native <select>, hide OS arrow */
.gform_wrapper select,
.gform_wrapper .gfield--type-select select,
.gform_wrapper .ginput_container_select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: var(--gf-ctrl-select-icon);
  background-repeat: no-repeat;
  background-position: var(--gf-ctrl-select-icon-position, calc(100% - 0.75rem) center);
  background-size: var(--gf-ctrl-select-icon-size, 10px);
}

.gform_wrapper select:hover,
.gform_wrapper .gfield--type-select select:hover {
  background-image: var(--gf-ctrl-select-icon-hover);
}

.gform_wrapper select:focus,
.gform_wrapper select:focus-visible,
.gform_wrapper .gfield--type-select select:focus,
.gform_wrapper .gfield--type-select select:focus-visible {
  background-image: var(--gf-ctrl-select-icon-focus);
}

.gform_wrapper select:disabled,
.gform_wrapper .gfield--type-select select:disabled {
  background-image: var(--gf-ctrl-select-icon-disabled);
}

.gform_wrapper select::-ms-expand {
  display: none;
}

.gform_wrapper .ginput_container_name,
.gform_wrapper .gfield--type-name .ginput_complex {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.gform_wrapper .ginput_container_name > span,
.gform_wrapper .gfield--type-name .ginput_complex > span {
  width: 100% !important;
  max-width: none !important;
  display: block;
}

/* ——— 5. Pricing: ONE Astro card (product + adjacent total) ———
   Live GF 3.2: price/total are readonly <input class="gform-text-input-reset">;
   Astro shows plain text. Collapse flex gap between the two fields or they
   read as two cards. Stable type/class selectors — native GF amounts only. */

/* Joined card: negative margin cancels parent flex gap (1.5rem) between the pair */
.gform-theme--framework .gfield--type-product.gfield--input-type-singleproduct:has(+ .gfield--type-total),
.gform-theme--framework .dn-order-summary-product:has(+ .dn-order-summary-total),
.gform_wrapper .gfield--type-product.gfield--input-type-singleproduct:has(+ .gfield--type-total) {
  border: 1px solid hsl(220 14% 18%);
  border-bottom: 0;
  border-radius: 0.75rem 0.75rem 0 0;
  background: hsl(220 20% 7% / 0.5);
  padding: 1.25rem 1.25rem 0.5rem;
  margin-bottom: 0 !important;
}

.gform-theme--framework .gfield--type-product.gfield--input-type-singleproduct + .gfield--type-total,
.gform-theme--framework .dn-order-summary-product + .dn-order-summary-total,
.gform_wrapper .gfield--type-product + .gfield--type-total {
  border: 1px solid hsl(220 14% 18%);
  border-top: 1px solid hsl(220 14% 18%);
  border-radius: 0 0 0.75rem 0.75rem;
  background: hsl(220 20% 7% / 0.5);
  padding: 0.75rem 1.25rem 1.25rem;
  margin-top: -1.5rem !important; /* cancel parent flex/grid gap */
  margin-bottom: 0 !important;
}

/* Standalone single product (options between product & total) */
.gform-theme--framework .gfield--type-product.gfield--input-type-singleproduct:not(:has(+ .gfield--type-total)) {
  border: 1px solid hsl(220 14% 18%);
  border-radius: 0.75rem;
  background: hsl(220 16% 14% / 0.4);
  padding: 1rem 1.25rem;
}

/* Name left / $ right */
.gform-theme--framework .gfield--type-product.gfield--input-type-singleproduct,
.gform_wrapper .gfield--type-product.gfield--input-type-singleproduct {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 1rem;
}

.gform_wrapper .gfield--type-product.gfield--input-type-singleproduct > .gfield_label,
.gform_wrapper .gfield--type-product.gfield--input-type-singleproduct > legend.gfield_label {
  grid-column: 1;
  margin: 0 !important;
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(210 20% 92%) !important;
}

.gform_wrapper .gfield--type-product.gfield--input-type-singleproduct > .gfield_label .gform-field-label__text {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

.gform_wrapper .gfield--type-product.gfield--input-type-singleproduct > .ginput_container {
  grid-column: 2;
  justify-self: end;
}

.gform_wrapper .gfield--type-product .ginput_product_price_label,
.gform_wrapper .gfield--type-product .ginput_quantity_label,
.gform_wrapper .gfield--type-product .gform-field-label--type-sub-large.ginput_product_price_label,
.gform_wrapper .gfield--type-product input[name*="quantity"],
.gform_wrapper .gfield--type-product .ginput_quantity {
  display: none !important;
}

.gform_wrapper .gfield--type-product .ginput_container_singleproduct,
.gform_wrapper .gfield--type-product.gfield--input-type-singleproduct .ginput_container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin: 0;
}

/* Plain-text price (GF renders readonly input) */
.gform_wrapper .gfield--type-product .ginput_product_price,
.gform_wrapper .gfield--type-product input.ginput_product_price,
.gform_wrapper .gfield--type-product .gform-text-input-reset.ginput_product_price {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: hsl(215 12% 55%) !important;
  font-family: Inter, system-ui, sans-serif !important;
  text-align: right;
  cursor: default;
}

.gform_wrapper .gfield--type-product .ginput_product_price:focus,
.gform_wrapper .gfield--type-product .ginput_product_price:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Total row: label left, bold $ right */
.gform-theme--framework .gfield--type-total,
.gform_wrapper .gfield--type-total {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 1rem;
}

.gform_wrapper .gfield--type-total > .gfield_label,
.gform_wrapper .gfield--type-total > legend.gfield_label {
  grid-column: 1;
  margin: 0 !important;
  font-family: "Segoe UI", Selawik, system-ui, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: hsl(210 20% 92%) !important;
}

.gform_wrapper .gfield--type-total > .ginput_container,
.gform_wrapper .gfield--type-total .ginput_container_total {
  grid-column: 2;
  justify-self: end;
  margin: 0;
  width: auto;
}

/* Plain-text total input */
.gform_wrapper .gfield--type-total .ginput_total,
.gform_wrapper .gfield--type-total input.ginput_total,
.gform_wrapper .gfield--type-total .gform-text-input-reset.ginput_total {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: "Segoe UI", Selawik, system-ui, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: hsl(210 20% 92%) !important;
  text-align: right;
  cursor: default;
}

.gform_wrapper .gfield--type-total .ginput_total:focus,
.gform_wrapper .gfield--type-total .ginput_total:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Standalone total default top rule; joined product+total rule above overrides box */
.gform_wrapper .gfield--type-total {
  border-top: 1px solid hsl(220 14% 18%);
  padding-top: 1rem;
}

/* Choice lists (radio / checkbox — DMARC, packs, add-ons, etc.) */
.gform_wrapper .gchoice,
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_radio label,
.gform_wrapper .gform-field-label--type-inline {
  color: hsl(210 20% 92%) !important;
  font-size: 0.875rem;
}

.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .gfield_radio .gchoice {
  margin-bottom: 0.5rem;
}

.gform_wrapper input[type="radio"],
.gform_wrapper input[type="checkbox"],
.gform_wrapper .gfield-choice-input {
  accent-color: hsl(174 72% 50%);
  width: var(--gf-ctrl-choice-size, 1.125rem);
  height: var(--gf-ctrl-choice-size, 1.125rem);
  margin-top: 0.125rem;
  flex-shrink: 0;
  cursor: pointer;
  background-color: hsl(220 20% 7%);
  border: 1px solid hsl(220 14% 18%);
}

.gform_wrapper input[type="radio"] {
  border-radius: 50%;
}

.gform_wrapper input[type="checkbox"] {
  border-radius: 0.25rem;
}

.gform_wrapper input[type="radio"]:hover,
.gform_wrapper input[type="checkbox"]:hover,
.gform_wrapper .gfield-choice-input:hover {
  border-color: hsl(174 72% 50% / 0.45);
}

.gform_wrapper input[type="radio"]:checked,
.gform_wrapper input[type="checkbox"]:checked,
.gform_wrapper .gfield-choice-input:checked {
  accent-color: hsl(174 72% 50%);
  border-color: hsl(174 72% 50%);
  background-color: hsl(220 20% 7%);
}

.gform_wrapper input[type="radio"]:focus-visible,
.gform_wrapper input[type="checkbox"]:focus-visible,
.gform_wrapper .gfield-choice-input:focus-visible {
  outline: none !important;
  box-shadow: var(--gf-ctrl-shadow-focus) !important;
  border-color: hsl(220 14% 18%);
}

/* HTML notes (credits / footnotes) — text-xs muted; no privacy line */
.gform_wrapper .gfield--type-html {
  margin: 0 !important;
  padding: 0 !important;
}

.gform_wrapper .gfield--type-html,
.gform_wrapper .gfield--type-html p {
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  color: hsl(215 12% 55%);
  margin: 0 !important;
  padding: 0 !important;
}

.gform_wrapper .gfield--type-html a {
  color: hsl(174 72% 50%);
  text-decoration: none;
}

.gform_wrapper .gfield--type-html a:hover {
  text-decoration: underline;
}

/* ——— 6. Submit — native GF button, Astro CTA chrome ———
   Keep 1.5rem (space-y-6) between last body field and CTA. */
.gform_wrapper .gform_body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer,
.gform_wrapper .gform-footer {
  margin-top: 1.5rem !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  gap: 0 !important;
}

.gform_wrapper .gform_button,
.gform_wrapper .gform-button--primary,
.gform_wrapper .gform-button,
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"] {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0;
  height: auto !important;
  padding: 1.5rem 2rem !important; /* Astro py-6 */
  border-radius: 0.375rem !important;
  background-color: hsl(348 80% 55%) !important;
  color: #fff !important;
  border: 0 !important;
  outline: none !important;
  /* Tailwind shadow-lg + shadow-accent/25 approximation */
  box-shadow:
    0 10px 15px -3px hsl(348 80% 55% / 0.25),
    0 4px 6px -4px hsl(348 80% 55% / 0.25) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  letter-spacing: 0.02em;
  text-transform: none;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.5;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper .gform-button--primary:hover,
.gform_wrapper .gform-button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper button[type="submit"]:hover {
  background-color: hsl(348 80% 50%) !important;
  box-shadow:
    0 10px 15px -3px hsl(348 80% 55% / 0.4),
    0 4px 6px -4px hsl(348 80% 55% / 0.4) !important;
  transform: scale(1.02);
}

.gform_wrapper .gform_button:focus,
.gform_wrapper .gform-button--primary:focus,
.gform_wrapper button[type="submit"]:focus,
.gform_wrapper input[type="submit"]:focus,
.gform_wrapper .gform_button:focus-visible,
.gform_wrapper .gform-button--primary:focus-visible,
.gform_wrapper button[type="submit"]:focus-visible,
.gform_wrapper input[type="submit"]:focus-visible {
  outline: none !important;
  outline-width: 0 !important;
}

.gform_wrapper .gform_button:focus-visible,
.gform_wrapper .gform-button--primary:focus-visible,
.gform_wrapper button[type="submit"]:focus-visible,
.gform_wrapper input[type="submit"]:focus-visible {
  box-shadow:
    0 0 0 2px hsl(220 20% 7%),
    0 0 0 4px hsl(174 72% 50%),
    0 10px 15px -3px hsl(348 80% 55% / 0.25),
    0 4px 6px -4px hsl(348 80% 55% / 0.25) !important;
}

.gform_wrapper .dn-gform-submit-icon {
  flex-shrink: 0;
  color: currentColor;
}

/* Validation */
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message,
.gform_wrapper .gform_validation_errors {
  color: hsl(348 80% 55%);
  font-size: 0.875rem;
}

.gform_wrapper .gfield_error .gform-theme-field-control,
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
  border-color: hsl(348 80% 55%) !important;
}
