/* The Forminator quote form as a dark panel on the blue field: filled fields, package tiles, one white action. */
.form-card {
  --cf-font: "Schibsted Grotesk", system-ui, sans-serif;
  --cf-line: rgba(196, 210, 255, 0.42);
  --cf-fill: rgba(255, 255, 255, 0.06);
  --cf-note: #cfd9f8;
  --cf-error: #ffb4a8;
  --cf-glow: #8fb0ff;
  /* Forminator reveals the form when its script runs; this reserves the height so the page does not jump. */
  min-height: calc(581px + 2 * clamp(18px, 2.4vw, 32px));
}
/* Name and email share a row wherever the panel is wide enough. */
@media (min-width: 560px) and (max-width: 899px), (min-width: 980px) {
  .form-card { min-height: calc(496px + 2 * clamp(18px, 2.4vw, 32px)); }
}
.form-card:has(.forminator-success) { min-height: 0; }
.form-card div.forminator-custom-form { display: none; }
.form-card form.forminator-custom-form { margin: 0; padding: 0; font-family: var(--cf-font); color: #fff; }
/* Forminator's grid stylesheet changes these margins and pads the columns at 783px and up; the longer selectors keep one spacing at every width. */
.form-card form.forminator-custom-form[data-grid] .forminator-row,
.form-card form.forminator-custom-form[data-grid] .forminator-row:not(:last-child) { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 14px; }
.form-card form.forminator-custom-form[data-grid] .forminator-row.forminator-hidden,
.form-card form.forminator-custom-form[data-grid] .forminator-row .forminator-col.forminator-hidden { display: none; }
.form-card form.forminator-custom-form[data-grid] .forminator-row .forminator-col,
.form-card form.forminator-custom-form[data-grid] .forminator-row .forminator-col:not(:last-child) { flex: 1 1 100%; width: auto; max-width: none; min-width: 0; margin: 0; padding: 0; }
.form-card form.forminator-custom-form[data-grid] .forminator-row .forminator-col-6,
.form-card form.forminator-custom-form[data-grid] .forminator-row .forminator-col-6:not(:last-child) { flex: 1 1 calc(50% - 7px); min-width: 190px; }
.form-card .forminator-field { display: block; margin: 0; padding: 0; border: 0; }
.form-card .forminator-label { display: block; margin: 0 0 6px; padding: 0; font: 600 var(--f6, 0.8125rem)/1.3 var(--cf-font); color: var(--cf-note); }
.form-card .forminator-required { color: inherit; }
.form-card .forminator-input,
.form-card .forminator-textarea {
  box-sizing: border-box; display: block; width: 100%; max-width: 100%; min-height: 48px; margin: 0; padding: 0 14px;
  border: 1px solid var(--cf-line); border-radius: 3px; background-color: var(--cf-fill); color: #fff;
  font: 400 var(--f5, 1rem)/1.4 var(--cf-font); box-shadow: none;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.form-card .forminator-input::placeholder, .form-card .forminator-textarea::placeholder { color: var(--cf-note); opacity: 0.8; }
.form-card .forminator-input:-webkit-autofill { -webkit-text-fill-color: #fff; box-shadow: inset 0 0 0 40px #1a2a6c; caret-color: #fff; }
.form-card .forminator-textarea { min-height: 104px; padding: 12px 14px; resize: vertical; }
.form-card .forminator-input:hover, .form-card .forminator-textarea:hover { border-color: rgba(196, 210, 255, 0.75); }
.form-card .forminator-input:focus, .form-card .forminator-textarea:focus { outline: none; border-color: var(--cf-glow); background-color: rgba(255, 255, 255, 0.1); box-shadow: 0 0 0 3px rgba(143, 176, 255, 0.35); }
/* The 500-word limit stays on the field; its running count is noise until someone reaches it. */
.form-card .forminator-textarea ~ .forminator-description { display: none; }

/* Package choice: three tiles */
.form-card .forminator-field-radio > .forminator-field { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 8px; }
.form-card .forminator-field-radio > .forminator-field > .forminator-label,
.form-card .forminator-field-radio > .forminator-field > .forminator-error-message,
.form-card .forminator-field-radio > .forminator-field > .forminator-description { grid-column: 1 / -1; }
.form-card label.forminator-radio {
  font-family: var(--cf-font); font-size: var(--f6, 0.8125rem);
  position: relative; display: flex; align-items: center; justify-content: center; min-height: 48px; margin: 0; padding: 6px 8px;
  border: 1px solid var(--cf-line); border-radius: 3px; background: var(--cf-fill); color: #fff; cursor: pointer; text-align: center;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.form-card label.forminator-radio:hover { border-color: rgba(196, 210, 255, 0.75); }
.form-card label.forminator-radio input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; font: inherit; }
.form-card label.forminator-radio .forminator-radio-bullet { display: none; }
.form-card label.forminator-radio .forminator-radio-label { margin: 0; padding: 0; font: 600 var(--f6, 0.8125rem)/1.2 var(--cf-font); color: inherit; }
.form-card label.forminator-radio:has(input:checked) { background: #2f5cf0; border-color: #8fb0ff; }
.form-card label.forminator-radio:has(input:focus-visible) { outline: 2px solid #fff; outline-offset: 2px; }

/* What you have today: four tiles, any number ticked (two by two on a narrow card). Same tile as the package choice above had. */
.form-card .forminator-field-checkbox > .forminator-field { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.form-card .forminator-field-checkbox > .forminator-field > .forminator-label,
.form-card .forminator-field-checkbox > .forminator-field > .forminator-error-message,
.form-card .forminator-field-checkbox > .forminator-field > .forminator-description { grid-column: 1 / -1; }
.form-card .forminator-field-checkbox > .forminator-field > .forminator-label { margin-bottom: 0; }
@media (max-width: 559px) { .form-card .forminator-field-checkbox > .forminator-field { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.form-card label.forminator-checkbox {
  font-family: var(--cf-font); font-size: var(--f6, 0.8125rem);
  position: relative; display: flex; align-items: center; justify-content: center; min-height: 48px; margin: 0; padding: 6px 8px;
  border: 1px solid var(--cf-line); border-radius: 3px; background: var(--cf-fill); color: #fff; cursor: pointer; text-align: center;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.form-card label.forminator-checkbox:hover { border-color: rgba(196, 210, 255, 0.75); }
.form-card label.forminator-checkbox input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; font: inherit; }
.form-card label.forminator-checkbox .forminator-checkbox-box { display: none; }
.form-card label.forminator-checkbox .forminator-checkbox-label { margin: 0; padding: 0; font: 600 var(--f6, 0.8125rem)/1.2 var(--cf-font); color: inherit; }
.form-card label.forminator-checkbox:has(input:checked) { background: #2f5cf0; border-color: #8fb0ff; }
.form-card label.forminator-checkbox:has(input:focus-visible) { outline: 2px solid #fff; outline-offset: 2px; }

.form-card .forminator-error-message { display: block; margin-top: 6px; font: 600 var(--f6, 0.8125rem)/1.3 var(--cf-font); color: var(--cf-error); background: none; padding: 0; }
.form-card .forminator-error-message:empty { display: none; }
.form-card .forminator-has_error .forminator-input,
.form-card .forminator-has_error .forminator-textarea,
.form-card .forminator-has_error label.forminator-radio { border-color: var(--cf-error); }
.form-card .forminator-response-message { margin: 0 0 14px; padding: 0; background: none; font: 400 var(--f5, 1rem)/1.5 var(--cf-font); color: #fff; }
.form-card .forminator-response-message[aria-hidden="true"] { display: none; }
/* Field errors sit beside their fields, so the summary only shows for form-level messages. */
.form-card form:has(.forminator-has_error) .forminator-response-message.forminator-error { display: none; }
.form-card .forminator-screen-reader-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.form-card .forminator-response-message.forminator-error { color: var(--cf-error); }
.form-card .forminator-response-message p { margin: 0; color: inherit; }
.form-card .forminator-button-submit {
  display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 0 22px; margin: 0;
  background: #fff; color: var(--ink, #131a2e); border: 0; border-radius: 3px; box-shadow: none;
  font: 700 var(--f5, 1rem)/1.2 var(--cf-font); cursor: pointer; transition: background-color 0.15s ease;
}
.form-card .forminator-button-submit:hover { background: #dfe5fb; }
.form-card .forminator-button-submit:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.form-card .forminator-button-submit[disabled], .form-card .forminator-button-submit.forminator-loading { opacity: 0.7; cursor: progress; }
/* Its wide-screen row margin outranks any selector we could write, so this one value needs !important. */
.form-card form.forminator-custom-form[data-grid] .forminator-row:not(.forminator-row-last) { margin-bottom: 14px !important; }
.form-card form.forminator-custom-form[data-grid] .forminator-row.forminator-row-last,
.form-card form.forminator-custom-form[data-grid] .forminator-row.forminator-row-last:not(:last-child) { margin-bottom: 0; }
.form-card .forminator-pagination-footer { margin-bottom: 0; }
.form-card .forminator-turnstile iframe { max-width: 100%; }
/* WP Rocket's lazy render collapses sections below the fold and makes the page length and anchors jump. This stylesheet only loads on the new page. */
[data-wpr-lazyrender], .footer { content-visibility: visible !important; contain-intrinsic-size: none !important; }
