.nuboforms-form{--nuboforms-step-color:var(--nuboforms-submit-background,#2271b1)}.nuboforms-form__fields{display:flex;flex-direction:column;gap:1rem}.nuboforms-form__row{display:flex;gap:1rem}.nuboforms-form__field{box-sizing:border-box;display:grid;gap:.4rem;flex:1 1 0;min-width:0}.nuboforms-form input,.nuboforms-form select,.nuboforms-form textarea{box-sizing:border-box;width:100%;padding:.65rem}.nuboforms-form__field--radio label,.nuboforms-form__field--checkbox label{display:block}.nuboforms-form__error{color:#b32d2e}.nuboforms-form__notice{padding:1rem;margin-bottom:1rem}.nuboforms-form__notice--success{background:#ecf7ed}.nuboforms-form__notice--error{background:#fcf0f1}.nuboforms-form__honeypot{position:absolute!important;left:-10000px!important}.nuboforms-form__submit{margin-top:1rem;padding:.7rem 1.25rem}.nuboforms-form__progress{display:flex;justify-content:space-between;list-style:none;margin:0 0 2rem;padding:0}.nuboforms-form__progress li{color:#6b7280;display:grid;flex:1;gap:.45rem;justify-items:center;position:relative;text-align:center}.nuboforms-form__progress li:not(:last-child)::after{background:#d1d5db;content:"";height:2px;left:50%;position:absolute;right:-50%;top:1rem;z-index:0}.nuboforms-form__progress span{align-items:center;background:#e5e7eb;border:2px solid #e5e7eb;border-radius:50%;color:#6b7280;display:flex;height:2rem;justify-content:center;position:relative;width:2rem;z-index:1}.nuboforms-form__progress .is-active,.nuboforms-form__progress .is-complete{color:#111827}.nuboforms-form__progress .is-active span,.nuboforms-form__progress .is-complete span{background:var(--nuboforms-step-color);border-color:var(--nuboforms-step-color);color:#fff}.nuboforms-form__progress .is-complete:not(:last-child)::after{background:var(--nuboforms-step-color)}.nuboforms-form__step-panel[hidden]{display:none}.nuboforms-form__navigation{display:none}.nuboforms-form--has-steps .nuboforms-form__navigation{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}.nuboforms-form--has-steps .nuboforms-form__navigation button,.nuboforms-form--has-steps .nuboforms-form__submit{cursor:pointer;padding:.7rem 1.25rem}.nuboforms-form--has-steps .nuboforms-form__navigation button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.nuboforms-form--has-steps .nuboforms-form__submit{display:none;width:100%}.nuboforms-form--has-steps.is-last-step .nuboforms-form__submit{display:block}.nuboforms-form__step-validation{border:1px solid #f43f5e;background:#fff1f2;color:#9f1239;margin-top:1rem;padding:.75rem}.nuboforms-form [aria-invalid="true"]{border-color:#f43f5e}@media(max-width:600px){.nuboforms-form__row--mobile-stack{flex-direction:column}.nuboforms-form__row--mobile-stack .nuboforms-form__field{flex-basis:auto}.nuboforms-form__row--mobile-keep{gap:.5rem}.nuboforms-form__progress small{font-size:.75rem}}
.nuboforms-form .cf-turnstile{margin-top:1rem}
.nuboforms-form__step{margin:0;border:0;height:0}

/* Declared layout slots are kept even when they are empty. */
.nuboforms-form__row{display:grid;grid-template-columns:repeat(var(--nuboforms-columns,1),minmax(0,1fr));gap:1rem}
.nuboforms-form__slot{min-width:0}
.nuboforms-form__slot .nuboforms-form__field{width:100%}
@media (max-width:640px){.nuboforms-form__row--mobile-stack{grid-template-columns:1fr}.nuboforms-form__row--mobile-keep{grid-template-columns:repeat(var(--nuboforms-columns,1),minmax(0,1fr));gap:.65rem}}
.nuboforms-form__location-selects{display:grid;gap:.65rem;grid-template-columns:1fr}.nuboforms-form__field--location-grid .nuboforms-form__location-selects{grid-template-columns:repeat(2,minmax(0,1fr))}.nuboforms-form__field--location-grid .nuboforms-form__location-selects select:first-child{grid-column:1/-1}.nuboforms-form__field--location-grid .nuboforms-form__location-selects select:only-child,.nuboforms-form__field--location-grid .nuboforms-form__location-selects select:nth-child(2):last-child{grid-column:1/-1}@media (max-width:640px){.nuboforms-form__field--location-grid .nuboforms-form__location-selects{grid-template-columns:1fr}.nuboforms-form__field--location-grid .nuboforms-form__location-selects select{grid-column:auto!important}}
.nuboforms-form__phone-inputs{display:grid;grid-template-columns:minmax(0,20fr) minmax(0,80fr);gap:.65rem;width:100%}.nuboforms-form__phone-country{min-width:0;position:relative}.nuboforms-form__phone-country-value{align-items:center;background:transparent;box-sizing:border-box;color:var(--nuboforms-field-text,CanvasText);display:flex;inset:0;justify-content:center;min-width:0;overflow:hidden;padding:.65rem;pointer-events:none;position:absolute;text-overflow:ellipsis;white-space:nowrap}.nuboforms-form .nuboforms-form__phone-country select{text-indent:-9999px;-webkit-text-fill-color:transparent}.nuboforms-form .nuboforms-form__phone-country select option{color:var(--nuboforms-field-text,CanvasText);text-indent:0;-webkit-text-fill-color:var(--nuboforms-field-text,CanvasText)}
.nuboforms-form__phone-number{min-width:0;position:relative}.nuboforms-form__phone-number input{display:block;height:100%}.nuboforms-form__phone-prefix{align-items:center;bottom:0;display:flex;left:.65rem;pointer-events:none;position:absolute;top:0;z-index:1}.nuboforms-form__phone-number.has-prefix input{padding-left:var(--nuboforms-phone-prefix-padding,3rem)}
.nuboforms-form__screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.nuboforms-form__notice{margin-bottom:0;margin-top:1rem}
.nuboforms-form .nuboforms-form__submit[aria-busy="true"]{align-items:center;cursor:wait;display:inline-flex;gap:.55em;justify-content:center}
.nuboforms-form__submit[aria-busy="true"]::after{animation:nuboforms-submit-spinner .7s linear infinite;border:.15em solid currentColor;border-right-color:transparent;border-radius:50%;box-sizing:border-box;content:"";height:1em;width:1em}
@keyframes nuboforms-submit-spinner{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.nuboforms-form__submit[aria-busy="true"]::after{animation-duration:1.5s}}

/* Side-specific tokens preserve a simple override surface for themes. */
.nuboforms-form input,.nuboforms-form select,.nuboforms-form textarea{border-top-width:var(--nuboforms-field-border-top-width,var(--nuboforms-field-border-width,1px));border-right-width:var(--nuboforms-field-border-right-width,var(--nuboforms-field-border-width,1px));border-bottom-width:var(--nuboforms-field-border-bottom-width,var(--nuboforms-field-border-width,1px));border-left-width:var(--nuboforms-field-border-left-width,var(--nuboforms-field-border-width,1px));border-top-color:var(--nuboforms-field-border-top,var(--nuboforms-field-border,currentColor));border-right-color:var(--nuboforms-field-border-right,var(--nuboforms-field-border,currentColor));border-bottom-color:var(--nuboforms-field-border-bottom,var(--nuboforms-field-border,currentColor));border-left-color:var(--nuboforms-field-border-left,var(--nuboforms-field-border,currentColor));border-top-left-radius:var(--nuboforms-field-radius-top-left,var(--nuboforms-field-radius,0));border-top-right-radius:var(--nuboforms-field-radius-top-right,var(--nuboforms-field-radius,0));border-bottom-right-radius:var(--nuboforms-field-radius-bottom-right,var(--nuboforms-field-radius,0));border-bottom-left-radius:var(--nuboforms-field-radius-bottom-left,var(--nuboforms-field-radius,0))}.nuboforms-form__submit{border-top-width:var(--nuboforms-submit-border-top-width,var(--nuboforms-submit-border-width,1px));border-right-width:var(--nuboforms-submit-border-right-width,var(--nuboforms-submit-border-width,1px));border-bottom-width:var(--nuboforms-submit-border-bottom-width,var(--nuboforms-submit-border-width,1px));border-left-width:var(--nuboforms-submit-border-left-width,var(--nuboforms-submit-border-width,1px));border-top-color:var(--nuboforms-submit-border-top,var(--nuboforms-submit-border,currentColor));border-right-color:var(--nuboforms-submit-border-right,var(--nuboforms-submit-border,currentColor));border-bottom-color:var(--nuboforms-submit-border-bottom,var(--nuboforms-submit-border,currentColor));border-left-color:var(--nuboforms-submit-border-left,var(--nuboforms-submit-border,currentColor));border-radius:var(--nuboforms-submit-radius-top-left,var(--nuboforms-submit-radius,0)) var(--nuboforms-submit-radius-top-right,var(--nuboforms-submit-radius,0)) var(--nuboforms-submit-radius-bottom-right,var(--nuboforms-submit-radius,0)) var(--nuboforms-submit-radius-bottom-left,var(--nuboforms-submit-radius,0))}.nuboforms-form__previous,.nuboforms-form__next{border-top-width:var(--nuboforms-navigation-border-top-width,var(--nuboforms-navigation-border-width,var(--nuboforms-submit-border-width,1px)));border-right-width:var(--nuboforms-navigation-border-right-width,var(--nuboforms-navigation-border-width,var(--nuboforms-submit-border-width,1px)));border-bottom-width:var(--nuboforms-navigation-border-bottom-width,var(--nuboforms-navigation-border-width,var(--nuboforms-submit-border-width,1px)));border-left-width:var(--nuboforms-navigation-border-left-width,var(--nuboforms-navigation-border-width,var(--nuboforms-submit-border-width,1px)));border-top-color:var(--nuboforms-navigation-border-top,var(--nuboforms-navigation-border,var(--nuboforms-submit-border,currentColor)));border-right-color:var(--nuboforms-navigation-border-right,var(--nuboforms-navigation-border,var(--nuboforms-submit-border,currentColor)));border-bottom-color:var(--nuboforms-navigation-border-bottom,var(--nuboforms-navigation-border,var(--nuboforms-submit-border,currentColor)));border-left-color:var(--nuboforms-navigation-border-left,var(--nuboforms-navigation-border,var(--nuboforms-submit-border,currentColor)));border-radius:var(--nuboforms-navigation-radius-top-left,var(--nuboforms-navigation-radius,var(--nuboforms-submit-radius,0))) var(--nuboforms-navigation-radius-top-right,var(--nuboforms-navigation-radius,var(--nuboforms-submit-radius,0))) var(--nuboforms-navigation-radius-bottom-right,var(--nuboforms-navigation-radius,var(--nuboforms-submit-radius,0))) var(--nuboforms-navigation-radius-bottom-left,var(--nuboforms-navigation-radius,var(--nuboforms-submit-radius,0)))}

/* Focus and step navigation deliberately consume the per-render tokens. */
.nuboforms-form input:focus,.nuboforms-form select:focus,.nuboforms-form textarea:focus{outline:2px solid var(--nuboforms-field-focus-border-top,var(--nuboforms-field-focus-border,var(--nuboforms-field-border-top,var(--nuboforms-field-border,currentColor))));outline-offset:2px;border-top-color:var(--nuboforms-field-focus-border-top,var(--nuboforms-field-focus-border,var(--nuboforms-field-border-top,var(--nuboforms-field-border,currentColor))));border-right-color:var(--nuboforms-field-focus-border-right,var(--nuboforms-field-focus-border,var(--nuboforms-field-border-right,var(--nuboforms-field-border,currentColor))));border-bottom-color:var(--nuboforms-field-focus-border-bottom,var(--nuboforms-field-focus-border,var(--nuboforms-field-border-bottom,var(--nuboforms-field-border,currentColor))));border-left-color:var(--nuboforms-field-focus-border-left,var(--nuboforms-field-focus-border,var(--nuboforms-field-border-left,var(--nuboforms-field-border,currentColor))))}.nuboforms-form--has-steps .nuboforms-form__previous,.nuboforms-form--has-steps .nuboforms-form__next{background:var(--nuboforms-navigation-background,var(--nuboforms-submit-background,initial));border-color:var(--nuboforms-navigation-border,var(--nuboforms-submit-border,currentColor));border-style:var(--nuboforms-navigation-border-style,var(--nuboforms-submit-border-style,solid));border-width:var(--nuboforms-navigation-border-width,var(--nuboforms-submit-border-width,1px));border-radius:var(--nuboforms-navigation-radius,var(--nuboforms-submit-radius,0));color:var(--nuboforms-navigation-text,var(--nuboforms-submit-text,inherit))}.nuboforms-form--has-steps .nuboforms-form__previous:hover,.nuboforms-form--has-steps .nuboforms-form__next:hover{background:var(--nuboforms-navigation-hover-background,var(--nuboforms-navigation-background,initial));border-color:var(--nuboforms-navigation-hover-border,var(--nuboforms-navigation-border,currentColor));border-top-color:var(--nuboforms-navigation-hover-border-top,var(--nuboforms-navigation-hover-border,var(--nuboforms-navigation-border-top,var(--nuboforms-navigation-border,currentColor))));border-right-color:var(--nuboforms-navigation-hover-border-right,var(--nuboforms-navigation-hover-border,var(--nuboforms-navigation-border-right,var(--nuboforms-navigation-border,currentColor))));border-bottom-color:var(--nuboforms-navigation-hover-border-bottom,var(--nuboforms-navigation-hover-border,var(--nuboforms-navigation-border-bottom,var(--nuboforms-navigation-border,currentColor))));border-left-color:var(--nuboforms-navigation-hover-border-left,var(--nuboforms-navigation-hover-border,var(--nuboforms-navigation-border-left,var(--nuboforms-navigation-border,currentColor))));color:var(--nuboforms-navigation-hover-text,var(--nuboforms-navigation-text,inherit))}

/* Per-form variables remain easy for themes to override. */
/* Replace the browser arrow so every select keeps a consistent inset. */
.nuboforms-form.nuboforms-form select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - .75rem) 50%,calc(100% - .45rem) 50%;background-repeat:no-repeat;background-size:.3rem .3rem,.3rem .3rem;padding-right:2.25rem}
.nuboforms-form input,.nuboforms-form select,.nuboforms-form textarea{background:var(--nuboforms-field-background,initial);border-color:var(--nuboforms-field-border,currentColor);border-style:var(--nuboforms-field-border-style,solid);border-width:var(--nuboforms-field-border-width,1px);border-radius:var(--nuboforms-field-radius,0);color:var(--nuboforms-field-text,inherit)}.nuboforms-form input:focus,.nuboforms-form select:focus,.nuboforms-form textarea:focus{border-color:var(--nuboforms-field-focus-border,var(--nuboforms-field-border,currentColor))}.nuboforms-form__submit,.nuboforms-form__previous,.nuboforms-form__next{background:var(--nuboforms-submit-background,initial);border-color:var(--nuboforms-submit-border,currentColor);border-style:var(--nuboforms-submit-border-style,solid);border-width:var(--nuboforms-submit-border-width,1px);border-radius:var(--nuboforms-submit-radius,0);color:var(--nuboforms-submit-text,inherit)}.nuboforms-form__previous,.nuboforms-form__next{background:var(--nuboforms-navigation-background,var(--nuboforms-submit-background,initial));border-color:var(--nuboforms-navigation-border,var(--nuboforms-submit-border,currentColor));border-style:var(--nuboforms-navigation-border-style,var(--nuboforms-submit-border-style,solid));border-width:var(--nuboforms-navigation-border-width,var(--nuboforms-submit-border-width,1px));border-radius:var(--nuboforms-navigation-radius,var(--nuboforms-submit-radius,0));color:var(--nuboforms-navigation-text,var(--nuboforms-submit-text,inherit))}.nuboforms-form__submit:hover{background:var(--nuboforms-submit-hover-background,var(--nuboforms-submit-background,initial));border-color:var(--nuboforms-submit-hover-border,var(--nuboforms-submit-border,currentColor));color:var(--nuboforms-submit-hover-text,var(--nuboforms-submit-text,inherit))}.nuboforms-form__previous:hover,.nuboforms-form__next:hover{background:var(--nuboforms-navigation-hover-background,var(--nuboforms-navigation-background,initial));border-color:var(--nuboforms-navigation-hover-border,var(--nuboforms-navigation-border,currentColor));color:var(--nuboforms-navigation-hover-text,var(--nuboforms-navigation-text,inherit))}.nuboforms-form__location-title{font-weight:600}.nuboforms-form__location-group{display:grid;gap:.25rem}.nuboforms-form__location-selects{display:grid;gap:.65rem;grid-template-columns:1fr}.nuboforms-form__field--location-grid .nuboforms-form__location-selects{grid-template-columns:repeat(2,minmax(0,1fr))}.nuboforms-form__field--location-grid .nuboforms-form__location-group--country{grid-column:1/-1}.nuboforms-form__field--location-grid .nuboforms-form__location-group--state:last-child{grid-column:1/-1}.nuboforms-form__field--location-grid .nuboforms-form__location-group--city{grid-column:auto}@media (max-width:640px){.nuboforms-form__field--location-grid .nuboforms-form__location-selects{grid-template-columns:1fr}.nuboforms-form__field--location-grid .nuboforms-form__location-group{grid-column:auto!important}}.nuboforms-form__progress li:not(:last-child)::after{background:color-mix(in srgb,var(--nuboforms-step-color) 25%,transparent)}
