/* Wedge forms: the site's former HubSpot embeds, rendered inline by
 * wedge-forms.js and submitted to the LolliForce leads endpoint.
 *
 * Layout and theme variables mirror the HubSpot v4 embed the site used, so the
 * forms look exactly as they did. Each form's theme lives in a per-form
 * variable block (see wedge-forms.js, THEMES). The embed rendered inside an
 * iframe, so its 430px breakpoint was the frame's width; here it is a
 * container query on the form host for the same result. */

/* The embed was an <iframe>: it filled a block parent, but inside a
 * shrink-to-fit parent (a centered flex column) it took the iframe default of
 * 300px, shrinking below that only when less space was available. The sizer
 * is a replaced element with the same sizing behavior (300px preferred, zero
 * minimum); the frame's inline-size containment keeps the form's own content
 * out of the calculation, as the iframe boundary did. */
.lf-hsform { display: block; }
.lf-hsform > .lf-hsform__sizer { display: block; width: 100%; height: 0; }
.lf-hsform > .lf-hsform__frame { container-type: inline-size; container-name: lfhs; width: 100%; }

.lf-hsform {
  --hsf-default-row__horizontal-spacing: 30px;
  --hsf-default-row__vertical-spacing: 20px;
  --hsf-default-module__vertical-spacing: 10px;
  --hsf-default-navigationrow-buttons__justify-content: space-between;
  --hsf-default-navigationrow-buttons-single__justify-content: end;
  --hsf-default-button__font-family: Helvetica;
  --hsf-default-button__font-size: 1em;
  --hsf-default-button__color: #fff;
  --hsf-default-button__background-color: #ff5c35;
  --hsf-default-button__background-image: none;
  --hsf-default-button__border-radius: 3px;
  --hsf-default-button__border-width: 0px 0px 0px 0px;
  --hsf-default-button__border-style: none;
  --hsf-default-button__border-color: initial;
  --hsf-default-button__padding: 12px 24px;
  --hsf-default-button__box-shadow: none;
  --hsf-default-button__font-weight: 700;
  --hsf-default-richtext__font-family: Helvetica;
  --hsf-default-richtext__font-size: 1em;
  --hsf-default-richtext__color: #212d3a;
  --hsf-default-background__padding: 40px;
  --hsf-default-background__border-style: none;
  --hsf-default-background__border-color: #fff;
  --hsf-default-background__border-radius: 0px;
  --hsf-default-background__border-width: 1px 1px 1px 1px;
  --hsf-default-erroralert__font-family: Helvetica;
  --hsf-default-erroralert__font-size: 1em;
  --hsf-default-erroralert__color: #e51520;
  --hsf-default-field-label__font-family: Helvetica;
  --hsf-default-field-label__font-size: 1em;
  --hsf-default-field-label__color: #212d3a;
  --hsf-default-field-description__font-family: Helvetica;
  --hsf-default-field-description__font-size: 0.8em;
  --hsf-default-field-description__color: rgba(81,99,131,.87);
  --hsf-default-field-input__font-family: Helvetica;
  --hsf-default-field-input__font-size: 1em;
  --hsf-default-field-input__color: #212d3a;
  --hsf-default-field-input__background-color: #f5f8fa;
  --hsf-default-field-input__placeholder-color: #253342;
  --hsf-default-field-input__border-color: #959494;
  --hsf-default-field-input__border-width: 1px 1px 1px 1px;
  --hsf-default-field-input__border-style: solid;
  --hsf-default-field-input__border-radius: 3px;
  --hsf-default-field-input__padding: 10px;
  --hsf-default-field-textarea__font-family: Helvetica;
  --hsf-default-field-textarea__font-size: 1em;
  --hsf-default-field-textarea__color: #212d3a;
  --hsf-default-field-textarea__background-color: #f5f8fa;
  --hsf-default-field-textarea__placeholder-color: #253342;
  --hsf-default-field-textarea__border-color: #959494;
  --hsf-default-field-textarea__border-width: 1px 1px 1px 1px;
  --hsf-default-field-textarea__border-style: solid;
  --hsf-default-field-textarea__border-radius: 3px;
  --hsf-default-field-textarea__padding: 10px;
  --hsf-default-field-dropdown-options__border-radius: 3px;
}

/* The embed's document defaults: no inherited page typography leaks in. */
.lf-hsform, .lf-hsform * { box-sizing: border-box; }
.lf-hsform { font-family: Helvetica; font-size: 16px; font-weight: 400; line-height: normal; color: #000; letter-spacing: normal; text-align: left; text-transform: none; }
.lf-hsform p { margin: 1em 0; }

.lf-hsform .hsfc-Form { margin: 0; padding: 0; border: none; background: none; font-family: Helvetica; }

.lf-hsform .hsfc-Step {
  border-width: var(--hsf-default-background__border-width);
  border-style: var(--hsf-default-background__border-style);
  border-color: var(--hsf-default-background__border-color);
  border-radius: var(--hsf-default-background__border-radius);
  background-color: var(--hsf-default-background__background-color, transparent);
  width: 100%; height: auto; display: flex;
}
.lf-hsform .hsfc-Step__Content { width: 100%; padding: var(--hsf-default-background__padding); }
.lf-hsform .hsfc-Step__Content > :last-child { margin-bottom: 0; }

.lf-hsform .hsfc-Row {
  width: 100%; display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0px, 1fr));
  gap: var(--hsf-default-row__horizontal-spacing);
  margin-bottom: var(--hsf-default-row__vertical-spacing);
}

.lf-hsform .hsfc-FieldLabel {
  margin: 0; display: block; word-break: break-word; overflow-wrap: break-word;
  font-family: var(--hsf-default-field-label__font-family);
  font-size: var(--hsf-default-field-label__font-size);
  color: var(--hsf-default-field-label__color);
  font-weight: 400; line-height: normal; cursor: default;
}
.lf-hsform .hsfc-FieldLabel > span { margin: auto 0; }
.lf-hsform .hsfc-FieldLabel__RequiredIndicator { color: var(--hsf-default-erroralert__color); }
.lf-hsform .hsfc-FieldDescription {
  font-family: var(--hsf-default-field-description__font-family);
  font-size: var(--hsf-default-field-description__font-size);
  color: var(--hsf-default-field-description__color);
  word-break: break-word; overflow-wrap: break-word;
}

.lf-hsform .hsfc-TextField > :not(:last-child),
.lf-hsform .hsfc-TextareaField > :not(:last-child),
.lf-hsform .hsfc-EmailField > :not(:last-child),
.lf-hsform .hsfc-PhoneField > :not(:last-child),
.lf-hsform .hsfc-DropdownField > :not(:last-child) { margin-bottom: var(--hsf-default-module__vertical-spacing); }
.lf-hsform .hsfc-DropdownField, .lf-hsform .hsfc-PhoneField { position: relative; }

.lf-hsform .hsfc-TextInput,
.lf-hsform .hsfc-TextareaInput {
  margin: 0; width: 100%; height: auto; display: inline-block; line-height: normal;
  transition: box-shadow 0.2s; outline: none; -webkit-appearance: none; appearance: none;
}
.lf-hsform .hsfc-TextInput {
  border-width: var(--hsf-default-field-input__border-width);
  font-family: var(--hsf-default-field-input__font-family);
  color: var(--hsf-default-field-input__color);
  background-color: var(--hsf-default-field-input__background-color);
  border-color: var(--hsf-default-field-input__border-color);
  border-style: var(--hsf-default-field-input__border-style);
  border-radius: var(--hsf-default-field-input__border-radius);
  padding: var(--hsf-default-field-input__padding);
  font-size: var(--hsf-default-field-input__font-size);
}
.lf-hsform .hsfc-TextareaInput {
  border-width: var(--hsf-default-field-textarea__border-width);
  font-family: var(--hsf-default-field-textarea__font-family);
  color: var(--hsf-default-field-textarea__color);
  background-color: var(--hsf-default-field-textarea__background-color);
  border-color: var(--hsf-default-field-textarea__border-color);
  border-style: var(--hsf-default-field-textarea__border-style);
  border-radius: var(--hsf-default-field-textarea__border-radius);
  padding: var(--hsf-default-field-textarea__padding);
  font-size: var(--hsf-default-field-textarea__font-size);
  resize: vertical; min-height: 0;
}
.lf-hsform .hsfc-TextInput:hover { box-shadow: 0 0 2px var(--hsf-default-field-input__border-color); }
.lf-hsform .hsfc-TextInput:focus { box-shadow: 0 0 3px var(--hsf-default-field-input__border-color); }
.lf-hsform .hsfc-TextareaInput:hover { box-shadow: 0 0 2px var(--hsf-default-field-textarea__border-color); }
.lf-hsform .hsfc-TextareaInput:focus { box-shadow: 0 0 3px var(--hsf-default-field-textarea__border-color); }
.lf-hsform .hsfc-TextInput::placeholder { color: var(--hsf-default-field-input__placeholder-color); }
.lf-hsform .hsfc-TextareaInput::placeholder { color: var(--hsf-default-field-textarea__placeholder-color); }

/* Dropdown */
.lf-hsform .hsfc-DropdownInput { display: flex; align-items: center; position: relative; }
.lf-hsform .hsfc-DropdownInput > input { cursor: pointer; text-align: left; }
.lf-hsform .hsfc-DropdownInput__Caret { position: absolute; top: 0; bottom: 0; right: 0; padding: 0 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.lf-hsform .hsfc-DropdownInput__Caret > span { border-top: 6px solid var(--hsf-default-field-input__color); width: 0; height: 0; display: inline-block; vertical-align: middle; border-left: 6px solid transparent; border-right: 6px solid transparent; }
.lf-hsform .hsfc-DropdownOptions {
  display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; padding: 0; width: 100%; overflow: hidden; z-index: 10000;
  border-width: var(--hsf-default-field-input__border-width);
  font-family: var(--hsf-default-field-input__font-family);
  font-size: var(--hsf-default-field-input__font-size);
  background-color: var(--hsf-default-field-input__background-color);
  border-color: var(--hsf-default-field-input__border-color);
  border-style: var(--hsf-default-field-input__border-style, solid);
  border-radius: var(--hsf-default-field-dropdown-options__border-radius);
  overflow-wrap: break-word;
}
.lf-hsform .hsfc-DropdownOptions[hidden] { display: none; }
.lf-hsform .hsfc-DropdownOptions__Search { flex: 0 0 auto; padding: var(--hsf-default-field-input__padding); }
.lf-hsform .hsfc-DropdownOptions__List { flex: 1 1 0%; padding: 0; margin: 0; overflow-y: auto; max-height: 240px; }
.lf-hsform .hsfc-DropdownOptions__List__ListItem {
  color: var(--hsf-default-field-input__color); background-color: var(--hsf-default-field-input__background-color);
  padding: var(--hsf-default-field-input__padding); list-style: none; cursor: pointer; transition: filter 0.1s; min-height: 14px;
}
.lf-hsform .hsfc-DropdownOptions__List__ListItem:hover,
.lf-hsform .hsfc-DropdownOptions__List__ListItem:focus,
.lf-hsform .hsfc-DropdownOptions__List__ListItem--selected { outline: none; filter: brightness(90%); }

/* Phone */
.lf-hsform .hsfc-PhoneInput { display: flex; position: relative; }
.lf-hsform .hsfc-PhoneInput__FlagAndCaret {
  box-sizing: content-box; display: flex; align-items: center; justify-content: space-between; min-width: 33px; column-gap: 5px;
  border-width: var(--hsf-default-field-input__border-width);
  padding: var(--hsf-default-field-input__padding); cursor: pointer;
  background-color: var(--hsf-default-field-input__background-color);
  border-color: var(--hsf-default-field-input__border-color);
  border-style: var(--hsf-default-field-input__border-style);
  border-radius: var(--hsf-default-field-input__border-radius);
  border-right: 1px solid var(--hsf-default-field-input__border-color);
  border-top-right-radius: 0; border-bottom-right-radius: 0; transition: filter 0.1s;
}
.lf-hsform .hsfc-PhoneInput__FlagAndCaret:hover { filter: brightness(90%); }
.lf-hsform .hsfc-PhoneInput__FlagAndCaret__Flag { line-height: 1; }
.lf-hsform .hsfc-PhoneInput__FlagAndCaret__Caret { border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid var(--hsf-default-field-input__color); }
.lf-hsform .hsfc-PhoneInput > .hsfc-TextInput { border-left: none; border-top-left-radius: 0; border-bottom-left-radius: 0; }

/* Navigation + button */
.lf-hsform .hsfc-NavigationRow { margin-top: calc(var(--hsf-default-row__vertical-spacing) * 2); }
.lf-hsform .hsfc-NavigationRow__Alerts:not(:empty) { margin-bottom: var(--hsf-default-row__vertical-spacing); }
.lf-hsform .hsfc-NavigationRow__Buttons { display: flex; flex-direction: row; flex-grow: 1; align-items: center; gap: var(--hsf-default-row__horizontal-spacing); justify-content: var(--hsf-default-navigationrow-buttons-single__justify-content); }
.lf-hsform .hsfc-Button {
  border-width: var(--hsf-default-button__border-width);
  width: auto;
  font-family: var(--hsf-default-button__font-family);
  font-size: var(--hsf-default-button__font-size);
  color: var(--hsf-default-button__color);
  padding: var(--hsf-default-button__padding);
  border-radius: var(--hsf-default-button__border-radius);
  border-style: var(--hsf-default-button__border-style);
  border-color: var(--hsf-default-button__border-color);
  background-color: var(--hsf-default-button__background-color);
  background-image: var(--hsf-default-button__background-image);
  box-shadow: var(--hsf-default-button__box-shadow);
  font-weight: var(--hsf-default-button__font-weight);
  display: block; position: relative; text-align: center; line-height: normal; letter-spacing: normal; text-transform: none;
  transition: transform 0.2s ease-out, background-color 0.2s linear, box-shadow 0.2s;
  cursor: pointer; margin: 0; word-break: break-word; overflow-wrap: break-word;
}
.lf-hsform .hsfc-Button:not([disabled]):hover { transform: translateY(-1px); background-color: var(--hsf-default-button--hover__background-color, var(--hsf-default-button__background-color)); }
.lf-hsform .hsfc-Button:not([disabled]):active { transform: translateY(1px); box-shadow: none; }
.lf-hsform .hsfc-Button[disabled] { cursor: not-allowed; filter: brightness(90%); }

/* Errors */
.lf-hsform .hsfc-ErrorAlert {
  font-family: var(--hsf-default-erroralert__font-family);
  font-size: var(--hsf-default-erroralert__font-size);
  color: var(--hsf-default-erroralert__color);
  word-break: break-word; overflow-wrap: break-word;
}

/* Post-submit message */
.lf-hsform .hsfc-RichText {
  font-family: var(--hsf-default-richtext__font-family);
  font-size: var(--hsf-default-richtext__font-size);
  color: var(--hsf-default-richtext__color);
  word-break: break-word;
}
.lf-hsform .hsfc-RichText p { font-family: inherit; font-style: inherit; font-weight: inherit; text-decoration: inherit; color: inherit; font-size: inherit; }
.lf-hsform .hsfc-RichText a { color: inherit; text-decoration: underline; }
.lf-hsform .hsfc-RichText::after { content: "."; visibility: hidden; display: block; height: 0; clear: both; }
.lf-hsform .hsfc-Image { max-width: 100%; height: auto; display: block; }

.lf-hsform .lf-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.lf-hsform .lf-turnstile { width: 0; height: 0; overflow: hidden; }
.lf-hsform .lf-turnstile.lf-turnstile--open { width: auto; height: auto; overflow: visible; margin-top: var(--hsf-default-row__vertical-spacing); }

@container lfhs (max-width: 430px) {
  .lf-hsform .hsfc-Row { display: flex; flex-direction: column; gap: var(--hsf-default-row__vertical-spacing); }
  .lf-hsform .hsfc-NavigationRow__Buttons { flex-direction: column; gap: var(--hsf-default-row__vertical-spacing); }
  .lf-hsform .hsfc-NavigationRow__Buttons > * { width: 100%; }
}

/* Inter at line-height:normal measured 1.25 (20px at 16px) inside the embed.
 * Forms themed in Inter carry --lf-line-height: 1.25 (see THEMES in
 * wedge-forms.js) so their fields keep that exact height whichever Inter build
 * the page loads; forms in other faces stay at normal. */
.lf-hsform .hsfc-FieldLabel, .lf-hsform .hsfc-TextInput, .lf-hsform .hsfc-TextareaInput { line-height: var(--lf-line-height, normal); }
