/* Isolated public-flow presentation. Color declarations below mirror V5 index.css. */
@font-face { font-family: "Horizons Geist"; src: url("fonts/geist-latin-wght-normal.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
html.horizons-flow { color-scheme: light; --hf-action-text: #fff; --hf-shadow: 0 8px 28px rgb(7 20 49 / 7%); }

html.horizons-flow {
  --hf-brand-navy: #071431;
  --hf-brand-pink: #ed2472;
  --hf-soft-brand-foreground: var(--hf-brand-pink);
  --hf-brand-white: #ffffff;
  --hf-auth-surface: rgb(7 20 49 / 60%);
  --hf-auth-border: rgb(255 255 255 / 14%);
  --hf-auth-field: rgb(255 255 255 / 7%);
  --hf-auth-overlay: rgb(7 20 49 / 85%);
  --hf-background: oklch(0.965 0.004 250);
  --hf-foreground: var(--hf-brand-navy);
  --hf-card: oklch(1 0 0);
  --hf-card-foreground: oklch(0.145 0 0);
  --hf-popover: oklch(1 0 0);
  --hf-popover-foreground: oklch(0.145 0 0);
  --hf-primary: var(--hf-brand-pink);
  --hf-primary-foreground: var(--hf-brand-white);
  --hf-secondary: oklch(0.97 0 0);
  --hf-secondary-foreground: oklch(0.205 0 0);
  --hf-muted: oklch(0.97 0 0);
  --hf-muted-foreground: oklch(0.556 0 0);
  --hf-accent: oklch(0.97 0 0);
  --hf-accent-foreground: oklch(0.205 0 0);
  --hf-destructive: oklch(0.577 0.245 27.325);
  --hf-border: oklch(0.922 0 0);
  --hf-input: oklch(0.922 0 0);
  --hf-ring: var(--hf-brand-pink);
  --hf-chart-1: oklch(0.87 0 0);
  --hf-chart-2: oklch(0.556 0 0);
  --hf-chart-3: oklch(0.439 0 0);
  --hf-chart-4: oklch(0.371 0 0);
  --hf-chart-5: oklch(0.269 0 0);
  --hf-radius: 0.625rem;
  --hf-sidebar: oklch(0.985 0 0);
  --hf-sidebar-foreground: oklch(0.145 0 0);
  --hf-sidebar-primary: oklch(0.205 0 0);
  --hf-sidebar-primary-foreground: oklch(0.985 0 0);
  --hf-sidebar-accent: oklch(0.97 0 0);
  --hf-sidebar-accent-foreground: oklch(0.205 0 0);
  --hf-sidebar-border: oklch(0.922 0 0);
  --hf-sidebar-ring: oklch(0.708 0 0);
}
@media (prefers-color-scheme: dark) { html.horizons-flow {
  --hf-background: #071431;
  --hf-foreground: oklch(0.985 0 0);
  --hf-card: #0c1d42;
  --hf-card-foreground: oklch(0.985 0 0);
  --hf-popover: oklch(0.205 0 0);
  --hf-popover-foreground: oklch(0.985 0 0);
  --hf-primary: oklch(0.922 0 0);
  --hf-primary-foreground: oklch(0.205 0 0);
  --hf-secondary: oklch(0.269 0 0);
  --hf-secondary-foreground: oklch(0.985 0 0);
  --hf-muted: oklch(0.269 0 0);
  --hf-muted-foreground: oklch(0.708 0 0);
  --hf-accent: oklch(0.269 0 0);
  --hf-accent-foreground: oklch(0.985 0 0);
  --hf-destructive: oklch(0.704 0.191 22.216);
  --hf-border: oklch(1 0 0 / 10%);
  --hf-input: oklch(1 0 0 / 15%);
  --hf-ring: oklch(0.556 0 0);
  --hf-chart-1: oklch(0.87 0 0);
  --hf-chart-2: oklch(0.556 0 0);
  --hf-chart-3: oklch(0.439 0 0);
  --hf-chart-4: oklch(0.371 0 0);
  --hf-chart-5: oklch(0.269 0 0);
  --hf-sidebar: oklch(0.205 0 0);
  --hf-sidebar-foreground: oklch(0.985 0 0);
  --hf-sidebar-primary: oklch(0.488 0.243 264.376);
  --hf-sidebar-primary-foreground: oklch(0.985 0 0);
  --hf-sidebar-accent: oklch(0.269 0 0);
  --hf-sidebar-accent-foreground: oklch(0.985 0 0);
  --hf-sidebar-border: oklch(1 0 0 / 10%);
  --hf-sidebar-ring: oklch(0.556 0 0);

  color-scheme: dark;} }
html.horizons-flow[data-horizons-scheme='2'] {
  --hf-brand-navy: #071431;
  --hf-brand-pink: #163d73;
  --hf-background: #f2f5f9;
  --hf-foreground: #071431;
  --hf-card: #ffffff;
  --hf-card-foreground: #071431;
  --hf-secondary: #e4eaf2;
  --hf-secondary-foreground: #0d274f;
  --hf-muted: #e8edf4;
  --hf-muted-foreground: #516076;
  --hf-accent: #dbe5f1;
  --hf-accent-foreground: #071431;
  --hf-border: #cfd8e5;
  --hf-input: #c8d3e1;
  --hf-ring: #163d73;
}
@media (prefers-color-scheme: dark) { html.horizons-flow[data-horizons-scheme='2'] {
  --hf-brand-pink: #6590cf;
  --hf-background: #07111f;
  --hf-foreground: #f5f8fc;
  --hf-card: #0d213d;
  --hf-card-foreground: #f5f8fc;
  --hf-popover: #102744;
  --hf-popover-foreground: #f5f8fc;
  --hf-secondary: #183253;
  --hf-secondary-foreground: #f5f8fc;
  --hf-muted: #142b49;
  --hf-muted-foreground: #aabbd2;
  --hf-accent: #1c3b62;
  --hf-accent-foreground: #ffffff;
  --hf-border: rgb(143 174 215 / 18%);
  --hf-input: rgb(143 174 215 / 24%);
  --hf-ring: #6590cf;
} }
html.horizons-flow[data-horizons-scheme='3'] {
  --hf-brand-navy: #071b3f;
  --hf-brand-pink: #ed2472;
  --hf-background: #edf3fa;
  --hf-foreground: #071b3f;
  --hf-card: #fbfdff;
  --hf-card-foreground: #071b3f;
  --hf-secondary: #d7e3f2;
  --hf-secondary-foreground: #071b3f;
  --hf-muted: #dfe8f4;
  --hf-muted-foreground: #4c5e78;
  --hf-accent: #173d70;
  --hf-accent-foreground: #ffffff;
  --hf-border: #c3d2e5;
  --hf-input: #b9cade;
  --hf-ring: #ed2472;
}
@media (prefers-color-scheme: dark) { html.horizons-flow[data-horizons-scheme='3'] {
  --hf-brand-navy: #06132e;
  --hf-brand-pink: #f13b80;
  --hf-background: #06132e;
  --hf-foreground: #f8f9fd;
  --hf-card: #0d234a;
  --hf-card-foreground: #f8f9fd;
  --hf-popover: #102957;
  --hf-popover-foreground: #f8f9fd;
  --hf-secondary: #173661;
  --hf-secondary-foreground: #f8f9fd;
  --hf-muted: #142f57;
  --hf-muted-foreground: #adbbd0;
  --hf-accent: #ed2472;
  --hf-accent-foreground: #ffffff;
  --hf-border: rgb(122 154 202 / 20%);
  --hf-input: rgb(122 154 202 / 25%);
  --hf-ring: #f13b80;
} }
html.horizons-flow[data-horizons-scheme='4'] {
  --hf-brand-navy: #202124;
  --hf-brand-pink: #fdc743;
  --hf-soft-brand-foreground: #2c2d2f;
  --hf-background: #f2f2f0;
  --hf-foreground: #202124;
  --hf-card: #ffffff;
  --hf-card-foreground: #202124;
  --hf-secondary: #e2e2df;
  --hf-secondary-foreground: #202124;
  --hf-muted: #e8e8e5;
  --hf-muted-foreground: #62635f;
  --hf-accent: #2c2d2f;
  --hf-accent-foreground: #ffffff;
  --hf-border: #d0d0cb;
  --hf-input: #c8c8c2;
  --hf-ring: #fdc743;
}
@media (prefers-color-scheme: dark) { html.horizons-flow[data-horizons-scheme='4'] {
  --hf-brand-navy: #0c0d0e;
  --hf-brand-pink: #fdc743;
  --hf-soft-brand-foreground: #fdc743;
  --hf-background: #0b0c0d;
  --hf-foreground: #f4f4f1;
  --hf-card: #18191b;
  --hf-card-foreground: #f4f4f1;
  --hf-popover: #202124;
  --hf-popover-foreground: #f4f4f1;
  --hf-secondary: #292a2d;
  --hf-secondary-foreground: #f4f4f1;
  --hf-muted: #242528;
  --hf-muted-foreground: #b0b0aa;
  --hf-accent: #fdc743;
  --hf-accent-foreground: #111214;
  --hf-border: rgb(253 199 67 / 20%);
  --hf-input: rgb(253 199 67 / 25%);
  --hf-ring: #fdc743;
} }
html.horizons-flow[data-horizons-scheme="4"] { --hf-action-text: #202124; }
html.horizons-flow body { margin: 0; min-width: 0; height: auto; background: var(--hf-background); color: var(--hf-foreground); font: 400 16px/1.55 "Horizons Geist", "Segoe UI", sans-serif; }
.horizons-flow *:not(#transactionFormDiv *):not([id*="ReportViewer"] *), .horizons-flow *:not(#transactionFormDiv *):not([id*="ReportViewer"] *)::before, .horizons-flow *:not(#transactionFormDiv *):not([id*="ReportViewer"] *)::after { box-sizing: border-box; }
.horizons-flow body > form { width: 100%; max-width: 1040px; margin: 0 auto; padding: 32px 24px 48px; }
.horizons-flow .paynowmain { width: 100%; max-width: 720px; margin: 0 auto; padding: 0; }
.horizons-flow .maindiv { width: 100%; min-width: 0; margin: 0; padding: 0; color: inherit; background: transparent; }
.horizons-flow .horizons-brand { width: 100%; max-width: 992px; height: auto; min-height: 0; float: none; margin: 0 auto 24px; padding: 20px 24px; background: var(--hf-card); border: 1px solid var(--hf-border); border-radius: 18px; box-shadow: var(--hf-shadow); color: var(--hf-foreground); }
.horizons-flow .horizons-brand > .headermaindiv:first-child, .horizons-flow #getitem.horizons-brand { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.horizons-flow .headermaindiv { width: 100%; height: auto; min-height: 0; float: none; padding: 0; background: transparent; }
.horizons-flow .horizons-logo { display: flex; align-items: center; justify-content: center; flex: 0 0 160px; width: 160px; height: 64px; margin: 0; padding: 0; float: none; }
.horizons-flow .horizons-logo a { display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 100%; margin: 0 !important; padding: 0 !important; }
.horizons-flow .horizons-logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; margin: 0; object-fit: contain; }
.horizons-flow .horizons-logo[hidden] { display: none; }
.horizons-flow .horizons-title { flex: 1 1 260px; float: none; width: auto; height: auto; margin: 0; padding: 0; min-width: 0; color: var(--hf-foreground); font-size: clamp(24px, 3vw, 32px); font-weight: 650; line-height: 1.2; overflow-wrap: anywhere; text-align: left; }
.horizons-flow .horizons-brand .addressdiv, .horizons-flow .horizons-brand .phonediv, .horizons-flow .horizons-brand .maildiv, .horizons-flow .horizons-brand .welcomediv { float: none; display: inline-block; width: auto; height: auto; max-width: 100%; margin: 8px 16px 0 0; padding: 0; background: none; color: var(--hf-muted-foreground); font: inherit; overflow-wrap: anywhere; }
.horizons-flow .singoutdiv, .horizons-flow .homediv { float: none; width: auto; height: auto; margin: 0; padding: 0; background: none; }
.horizons-flow .singoutdiv a, .horizons-flow .homediv a { display: inline-flex; align-items: center; min-height: 44px; background: none; padding: 6px; font: inherit; color: var(--hf-foreground); }
.horizons-flow .memberleftdiv, .horizons-flow .memberleftdiv1, .horizons-flow .fulldiv, .horizons-flow .membertabdiv, .horizons-flow .w100per, .horizons-flow .formdivboxlogin { float: none; width: 100%; min-width: 0; height: auto; margin: 0; padding: 0; background: none; }
.horizons-flow .personaldiv, .horizons-flow .personaldivbroad, .horizons-flow .rightbox5, .horizons-flow .rightbox16bug, .horizons-flow .plandetaildiv { float: none; width: 100%; min-width: 0; height: auto; padding: 24px; margin: 0 0 24px; background: var(--hf-card); border: 1px solid var(--hf-border); border-radius: 18px; box-shadow: var(--hf-shadow); }
.horizons-flow .personaldiv .rightbox5 { padding: 0; border: 0; box-shadow: none; }
.horizons-flow .rightbox19new, .horizons-flow .upcomingtab, .horizons-flow .upcomingtabsec, .horizons-flow .rightbox8new { float: none; width: 100%; min-width: 0; height: auto; background: none; padding: 0; margin: 0; }
.horizons-flow .memberformleft, .horizons-flow .memberformright, .horizons-flow .memberformleft75 { float: none; width: 100%; margin: 0; padding: 0; }
.horizons-flow .memberleftdiv { max-width: 720px; margin-inline: auto; }
.horizons-flow .memberrightdiv { float: none; width: 100%; max-width: 720px; margin: 24px auto 0; padding: 0; }
.horizons-flow .formdivhead, .horizons-flow .rightbox13headingbug, .horizons-flow .rightbox13headingbgbug, .horizons-flow .rightbox18h2 { float: none; width: 100%; height: auto; margin: 0 0 20px; padding: 0 0 16px; border: 0; border-bottom: 1px solid var(--hf-border); background: none; color: var(--hf-foreground); }
.horizons-flow .formdivhead > .formtitle, .horizons-flow .formdivhead > .formtitlesec, .horizons-flow .rightbox18h2 h1, .horizons-flow .rightbox13headingbgbug h1 { width: auto; float: none; margin: 0; padding: 0; font: 650 22px/1.35 "Horizons Geist", sans-serif; color: var(--hf-foreground); }
.horizons-flow .mandatorytext { float: none; width: auto; margin-top: 8px; color: var(--hf-muted-foreground); font-size: 13px; }
.horizons-flow .formdivbinner { float: none; clear: both; width: 100%; min-width: 0; height: auto; padding: 0; margin: 0 0 18px; }
.horizons-flow .formdivbinner::after { content: ""; display: table; clear: both; }
.horizons-flow .formdivbinner > .formtitle, .horizons-flow .formtitlesec { float: none; display: block; width: 100%; height: auto; margin: 0 0 7px; padding: 0; color: var(--hf-foreground); font: 550 14px/1.45 "Horizons Geist", sans-serif; }
.horizons-flow .filddiv, .horizons-flow .changfulldiv { float: none; width: 100%; min-width: 0; height: auto; margin: 0; padding: 0; }
.horizons-flow .label { color: var(--hf-foreground); font: inherit; }
.horizons-flow input:is([type="text"], [type="password"], [type="email"], [type="tel"], [type="number"]):not(#transactionFormDiv *):not([id*="ReportViewer"] *),
.horizons-flow select:not(#transactionFormDiv *):not([id*="ReportViewer"] *), .horizons-flow textarea:not(#transactionFormDiv *) { width: 100%; max-width: 100%; min-width: 0; min-height: 46px; height: auto; padding: 11px 13px; border: 1px solid var(--hf-input); border-radius: 10px; background: var(--hf-background); color: var(--hf-foreground); font: 400 16px/1.4 "Horizons Geist", sans-serif; box-shadow: none; }
.horizons-flow textarea:not(#transactionFormDiv *):not([id*="ReportViewer"] *) { min-height: 100px; resize: vertical; }
.horizons-flow select:not(#transactionFormDiv *):not([id*="ReportViewer"] *) { cursor: pointer; }
.horizons-flow :is(input, select, textarea, a, button):not(#transactionFormDiv *):not([id*="ReportViewer"] *):focus-visible { outline: 3px solid var(--hf-ring); outline-offset: 3px; }
.horizons-flow :is(input,select,textarea):not(#transactionFormDiv *):not([id*="ReportViewer"] *):disabled { opacity: .65; cursor: not-allowed; }
.horizons-flow input:is([type="checkbox"],[type="radio"]):not(#transactionFormDiv *) { width: 20px; height: 20px; accent-color: var(--hf-brand-pink); margin: 8px 8px 8px 0; vertical-align: middle; }
.horizons-flow label:not(#transactionFormDiv *):not([id*="ReportViewer"] *) { cursor: pointer; }
.horizons-flow .star { float: none; display: inline-block; color: var(--hf-destructive); }
.horizons-flow .bluebut, .horizons-flow .greenbut { background: none; height: auto; width: auto; min-width: 0; margin: 8px 8px 8px 0; padding: 0; }
.horizons-flow .bluebut > :is(a,input,button), .horizons-flow .greenbut > :is(a,input,button), .horizons-flow .bluebutt { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; height: auto; max-width: 100%; padding: 11px 20px; border: 1px solid transparent; border-radius: 10px; background: var(--hf-brand-pink); color: var(--hf-action-text); font: 600 15px/1.4 "Horizons Geist", sans-serif; text-align: center; white-space: normal; cursor: pointer; text-decoration: none; }
.horizons-flow .cancelbutmargin > :is(a,input,button), .horizons-flow :is(a,input)[id*="Back"], .horizons-flow :is(a,input)[id*="Cancel"], .horizons-flow .greenbut > a { background: var(--hf-secondary); border-color: var(--hf-border); color: var(--hf-secondary-foreground); }
.horizons-flow .bluebut > :is(a,input,button):hover, .horizons-flow .greenbut > a:hover { filter: brightness(1.08); }
.horizons-flow :is(.bluebut,.greenbut) > :is(a,input,button):is(:disabled,[disabled],[aria-disabled="true"]) { opacity: .5; cursor: not-allowed; }
.horizons-flow .processing-fee-notice { padding: 14px 16px; margin: 16px 0; border: 1px solid var(--hf-border); border-radius: 12px; color: var(--hf-foreground); background: var(--hf-muted); line-height: 1.6; }
.horizons-flow .errormessage, .horizons-flow .redfont { height: auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; color: var(--hf-destructive); font: 500 14px/1.5 "Horizons Geist", sans-serif; }
.horizons-flow .pay-now-name { color: var(--hf-foreground); font: 600 20px/1.4 "Horizons Geist", sans-serif; padding: 8px 0; }
.horizons-flow .pay-now-amt { color: var(--hf-muted-foreground); font: 400 16px/1.5 "Horizons Geist", sans-serif; padding: 4px 0; }
.horizons-flow .widget-wrapbx, .horizons-flow #transactionFormDiv { max-width: 100%; width: 100%; margin: 16px 0 0; padding: 0; }
/* Hosted payment fields, provider buttons, consent and report contents keep their own styling. */
.horizons-flow #transactionFormDiv { color-scheme: light; background: #fff; color: #111; border-radius: 12px; }
.horizons-flow .plandetahead { background: none; height: auto; padding: 0 0 12px; color: var(--hf-foreground); font: 600 20px/1.4 "Horizons Geist",sans-serif; }
.horizons-flow .plandiv, .horizons-flow .planinerdiv { float: none; width: 100%; height: auto; background: none; padding: 8px 0; }
.horizons-flow .plandivtitel, .horizons-flow .plandivalue { float: none; width: auto; color: var(--hf-foreground); }
.horizons-flow .phone_cls { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
.horizons-flow .phone_cls .drop1 { float: none; flex: 0 0 100px; max-width: 32%; }
.horizons-flow .phone_cls .lname { float: none; flex: 1 1 160px; max-width: none !important; }
.horizons-flow .genderdiv { width: auto; margin-right: 16px; }
.horizons-flow .RadPicker { max-width: 100%; }
.horizons-flow .loader { background: color-mix(in srgb, var(--hf-background) 85%, transparent); }
@media (max-width: 600px) {
 .horizons-flow body > form { padding: 16px 12px 32px; }
 .horizons-flow .horizons-brand, .horizons-flow .personaldiv, .horizons-flow .personaldivbroad, .horizons-flow .rightbox5, .horizons-flow .rightbox16bug, .horizons-flow .plandetaildiv { padding: 18px; border-radius: 14px; }
 .horizons-flow .horizons-brand > .headermaindiv:first-child, .horizons-flow #getitem.horizons-brand { flex-direction: column; align-items: flex-start; gap: 14px; }
 .horizons-flow .horizons-logo { flex: 0 0 auto; width: 128px; height: 56px; }
 .horizons-flow .horizons-title { flex: 0 1 auto; width: 100%; font-size: 24px; }
 .horizons-flow .frd { float: none; }
 .horizons-flow .personaldiv .rightbox5 { padding: 0; }
 .horizons-flow .bluebut { float: none; }
 .horizons-flow .bluebut > :is(a,input,button) { width: 100%; }
}
@media print {
 .horizons-flow body { background: #fff; color: #111; }
 .horizons-flow body > form { padding: 0; max-width: none; }
 .horizons-flow .horizons-brand, .horizons-flow .personaldiv, .horizons-flow .rightbox16bug { box-shadow: none; background: #fff; color: #111; }
}
/* Reset legacy fixed-width headings and contain floating action rows. */
.horizons-flow .formdivhead h2 { float: none; width: auto; max-width: 100%; height: auto; margin: 0; padding: 0; font: 650 22px/1.35 "Horizons Geist", sans-serif; color: var(--hf-foreground); }
.horizons-flow .personaldivbroad, .horizons-flow .personaldiv { display: flow-root; }
.horizons-flow .memberleftdiv1 { max-width: 720px; margin-inline: auto; }
.horizons-flow .formdivboxlogin { border: 0; }
.horizons-flow .horizons-brand .welcomediv { background-image: none; }
@media (max-width: 600px) {
 .horizons-flow .memberleftdiv table { max-width: 100%; table-layout: fixed; overflow-wrap: anywhere; }
 .horizons-flow .memberleftdiv td { white-space: normal; }
}
.horizons-flow .paynowmain .memberleftdiv1 > .membertabdiv { max-width: 100%; text-align: left; }
.horizons-flow .paynowmain .rightbox5 { padding: 0; border: 0; background: none; box-shadow: none; display: flow-root; }
.horizons-flow .paynowmain .rightbox16bug { display: flow-root; }
.horizons-flow #MaindivAmountdue .rightbox16bug .rightbox13contentbug { float: none; width: 100%; padding: 0; margin-top: 16px; background: transparent; border: 0; color: var(--hf-foreground); }
.horizons-flow #MaindivAmountdue .rightbox16bug .rightbox13contentbug > span { color: var(--hf-foreground); }
.horizons-flow .paynowmain .processing-fee-notice { margin-left: 0 !important; }
.horizons-flow .memberdediv { float: none; width: 100%; height: auto; }
@media(max-width:600px) {
 .horizons-flow .memberdediv table { width: 100%; table-layout: fixed; }
 .horizons-flow .memberdediv :is(th,td) { width: auto; white-space: normal; overflow-wrap: anywhere; padding: 4px; }
 .horizons-flow .memberdediv input[type="radio"] { margin: 4px 0; }
}

/* PayNow: a full-width checkout workspace; signup retains its own form sizing. */
.horizons-flow body.paynow-page > form {
    width: 100%; max-width: 1600px; padding: clamp(16px, 3vw, 48px);
}
.horizons-flow .paynow-page .paynowmain,
.horizons-flow .paynow-page .memberleftdiv1,
.horizons-flow .paynow-page .paynowmain .memberleftdiv1 > .membertabdiv {
    width: 100%; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0;
}
.horizons-flow .paynow-page .rightbox19new { display: flow-root; }
.horizons-flow .paynow-page #getitem.horizons-brand {
    max-width: none; margin: 0 0 28px; padding: 24px 0; border: 0;
    border-bottom: 1px solid var(--hf-border); border-radius: 0;
    box-shadow: none; background: transparent; gap: 24px; align-items: center;
}
.horizons-flow .paynow-page .horizons-title { font-size: clamp(26px, 2.5vw, 36px); letter-spacing: -.025em; }
.horizons-flow .paynow-page #MaindivAmountdue.paynow-layout {
    display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr);
    align-items: start; gap: clamp(24px, 3vw, 48px); margin: 0 !important; padding: 0 !important;
}
.horizons-flow .paynow-page .paynow-summary { min-width: 0; padding: 28px 0; text-align: left; }
.horizons-flow .paynow-page .paynow-section-title {
    margin: 0 0 24px; padding: 0; width: auto; height: auto; float: none;
    font: 600 22px/1.3 "Horizons Geist", "Segoe UI", sans-serif; letter-spacing: -.02em;
    color: var(--hf-foreground);
}
.horizons-flow .paynow-page .paynow-summary > .pay-now-name {
    font-size: clamp(20px, 2vw, 28px); font-weight: 550; line-height: 1.4;
    margin: 0 0 20px; padding: 0; overflow-wrap: anywhere;
}
.horizons-flow .paynow-page .paynow-summary > .pay-now-amt {
    margin: 0 0 12px; padding: 16px 20px; border: 1px solid var(--hf-border);
    border-radius: 14px; background: var(--hf-card); color: var(--hf-foreground);
    font-size: 17px; line-height: 1.6; overflow-wrap: anywhere;
}
.horizons-flow .paynow-page .paynow-summary > :is(.pay-now-name,.pay-now-amt):empty { display: none; }
.horizons-flow .paynow-page #expandText { display: inline-block; margin: 6px 8px 0 0; color: var(--hf-foreground); font: 500 14px/1.5 "Horizons Geist", sans-serif; text-decoration: underline; text-underline-offset: 3px; }
.horizons-flow .paynow-page .rightbox16bug.paynow-payment {
    float: none; min-width: 0; width: 100%; height: auto; margin: 0;
    padding: clamp(24px, 3vw, 40px); border-radius: 24px; border: 1px solid var(--hf-border);
    background: var(--hf-card); box-shadow: 0 8px 32px rgb(7 20 49 / 5%);
}
.horizons-flow .paynow-page #MaindivAmountdue .rightbox13contentbug { display: flow-root; }
.horizons-flow .paynow-page .check-bx-wrap { padding: 0; gap: 10px; align-items: flex-start; font-size: 15px; }
.horizons-flow .paynow-page .check-bx-wrap input[type="checkbox"] { flex: 0 0 20px; margin: 2px 0 0; }
.horizons-flow .paynow-page .check-bx-wrap label { padding: 0; line-height: 1.6; }
.horizons-flow .paynow-page #divApplicableProcessingFees.processing-fee-notice {
    margin: 20px 0 !important; padding: 16px 20px; border: 0; border-radius: 14px;
    background: var(--hf-muted); font-size: 14px; color: var(--hf-foreground);
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv {
    float: none; display: flow-root; width: 100%; max-width: none; margin: 24px 0 0;
    padding: 20px; box-sizing: border-box; border: 1px solid var(--hf-border); border-radius: 16px;
}
/* The legacy tokenizer exposes these classes for host-page styling. Hosted
   Stripe/Forte fields and provider iframe contents are deliberately untouched. */
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv > p,
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv #transactionForm > p {
    float: none; width: 100%; height: auto; max-height: none; min-height: 0; margin: 0 0 20px; padding: 0;
    display: flow-root; box-sizing: border-box;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv .widgetLabelLeft {
    display: block; float: none; width: auto; padding: 0 0 8px;
    color: #263249; font: 500 14px/1.5 "Horizons Geist", "Segoe UI", sans-serif;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv :is(.widgetTextBoxRight,.widgetSelectRight) {
    box-sizing: border-box; float: none; width: 100% !important; max-width: 100%;
    min-width: 0; min-height: 48px; height: auto; padding: 12px 14px !important;
    border: 1px solid #cbd1da; border-radius: 10px; background: #f7f8fa;
    color: #172033; font: 400 16px/1.4 "Horizons Geist", "Segoe UI", sans-serif;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv :is(#selectMcmbExp,#selectYcmbExp) {
    width: calc(50% - 8px) !important; margin: 0 8px 0 0;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv :is(.widgetTextBoxRight,.widgetSelectRight):focus-visible {
    outline: 3px solid var(--hf-ring); outline-offset: 3px;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv .widgetInvalidMessage { display: block; width: auto; float: none; white-space: normal; overflow-wrap: anywhere; }
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv #inputbtnSubmit {
    width: 100%; min-height: 48px; margin: 8px 0 0; padding: 12px 20px; border-radius: 12px;
    background: var(--hf-brand-pink); color: var(--hf-action-text);
    text-align: center; font: 600 16px/1.5 "Horizons Geist", "Segoe UI", sans-serif;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv #inputbtnSubmit:disabled { opacity: .55; cursor: not-allowed; }
.horizons-flow .paynow-page .paynow-sec { width: 100%; overflow-wrap: anywhere; }
.horizons-flow .paynow-page .paynow-sec table { width: 100%; }
.horizons-flow .paynow-page .paynow-sec table tbody tr td {
    padding: 12px 8px; background: var(--hf-muted); color: var(--hf-foreground);
    border-color: var(--hf-border); font-family: inherit;
}
@media (max-width: 800px) {
    .horizons-flow body.paynow-page > form { padding: 16px; }
    .horizons-flow .paynow-page #MaindivAmountdue.paynow-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .horizons-flow .paynow-page #getitem.horizons-brand { margin-bottom: 16px; padding: 8px 0 20px; }
    .horizons-flow .paynow-page .paynow-summary { padding: 0; }
    .horizons-flow .paynow-page .paynow-section-title { margin-bottom: 16px; }
    .horizons-flow .paynow-page .rightbox16bug.paynow-payment { padding: 24px; border-radius: 20px; }
    :is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv { padding: 16px; }
}
@media (max-width: 420px) {
    .horizons-flow body.paynow-page > form { padding: 12px; }
    .horizons-flow .paynow-page .rightbox16bug.paynow-payment { padding: 18px; }
    :is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv { padding: 12px; }
}
.horizons-flow .paynow-page .paynow-summary > .paynow-empty { display: none; }
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv .widgetInvalidMessage { padding: 6px 0 0; line-height: 1.5; font-size: 14px; }
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv .widgetRequiredStar { float: none; display: inline; padding-left: 4px; }
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv .widgetLabelLeft { margin: 0; }
/* Keep the summary open and the form compact without restoring fixed heights. */
.horizons-flow .paynow-page #MaindivAmountdue.paynow-layout { border: 0; }
.horizons-flow .paynow-page .paynow-summary > .paynow-amount {
    margin-top: 24px; padding: 24px; font-size: clamp(22px, 2.2vw, 30px); font-weight: 600;
    border-color: var(--hf-brand-pink); background: var(--hf-card); letter-spacing: -.02em;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv { border: 0; }
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv:has(> p > .widgetLabelLeft),
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionForm:has(> p > .widgetLabelLeft) {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv > p,
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv #transactionForm > p {
    grid-column: 1 / -1; margin: 0; padding: 0 !important; position: relative;
}
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv p:is(#ptxtCVV,#pcmbExp) { grid-column: auto; }
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv .widgetRequiredStar { position: absolute; top: 0; right: 0; line-height: 1.5; }
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv .widgetInvalidMessage:empty { display: none; }
:is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv .widgetInvalidMessage { margin: 0; }
@media (max-width: 520px) {
    :is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv:has(> p > .widgetLabelLeft),
    :is(.horizons-flow .paynow-page, html.horizons-signup) #transactionForm:has(> p > .widgetLabelLeft) { grid-template-columns: minmax(0, 1fr); }
    :is(.horizons-flow .paynow-page, html.horizons-signup) #transactionFormDiv p:is(#ptxtCVV,#pcmbExp) { grid-column: 1; }
    .horizons-flow .paynow-page .paynow-summary > .paynow-amount { padding: 20px; margin-top: 16px; }
}


/* Signup shares PayNow's wide shell and restrained surfaces. These selectors
   are activated only by the signup-aware appearance control. */
html.horizons-signup body > form { width: 100%; max-width: 1600px; padding: clamp(16px, 3vw, 48px); }
html.horizons-signup .horizons-brand {
    max-width: none; padding: 16px 0 24px; margin-bottom: 28px;
    border: 0; border-bottom: 1px solid var(--hf-border); border-radius: 0; background: none; box-shadow: none;
}
html.horizons-signup .horizons-title { font-size: clamp(26px, 2.5vw, 36px); letter-spacing: -.025em; }
html.horizons-signup :is(.maindiv,.memberleftdiv1,.memberleftdiv,.memberrightdiv,.membertabdiv) {
    width: 100%; max-width: none !important; min-width: 0; padding: 0; border: 0; margin: 0;
}
html.horizons-signup :is(.personaldiv,.personaldivbroad,.rightbox16bug,.plandetaildiv) {
    padding: clamp(24px, 3vw, 40px); border-radius: 24px; border: 1px solid var(--hf-border);
    background: var(--hf-card); box-shadow: 0 8px 32px rgb(7 20 49 / 5%);
}
html.horizons-signup .personaldiv > .rightbox5,
html.horizons-signup .personaldiv > div > .rightbox5 { padding: 0; border: 0; background: none; box-shadow: none; }
html.horizons-signup .formdivhead { display: flow-root; }
html.horizons-signup :is(.formdivhead h2,.plandetahead h2,.rightbox18h2 h2) {
    margin: 0; width: auto; height: auto; font: 600 24px/1.35 "Horizons Geist",sans-serif; color: var(--hf-foreground);
}
html.horizons-signup .mandatorytext { font-size: 13px !important; margin-top: 8px; }
html.horizons-signup :is(.formtitle,.formtitlesec) { font-size: 14px !important; }
html.horizons-signup .formdivbinner { position: relative; }
html.horizons-signup .formdivbinner > .star { position: absolute; top: 0; right: 0; margin: 0; }
html.horizons-signup .signup-plan .w100per {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 40px; align-items: start;
}
html.horizons-signup .signup-plan .memberformright {
    background: var(--hf-muted); border-radius: 18px; padding: 24px;
}
html.horizons-signup .signup-plan .frd { display: flex; gap: 12px; justify-content: flex-end; float: none; clear: both; padding-top: 16px; }
html.horizons-signup .signup-personal {
    display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .8fr); gap: 32px; align-items: start;
}
html.horizons-signup .signup-personal .memberformleft75 {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 24px;
}
html.horizons-signup .signup-personal .memberformleft75 > .formdivbinner:has(:is([id$="ddlMonth"],[id$="rdoMale"],[id$="btnSave"])) { grid-column: 1 / -1; }
html.horizons-signup .signup-personal :is([id$="divAddress"],[id$="divEmergency"]) {
    grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 24px;
}
html.horizons-signup .signup-personal [id$="divAddress"] > .formdivbinner:has([id*="txtStreet"]) { grid-column: 1 / -1; }
html.horizons-signup .signup-personal .filddiv:has(> [id$="ddlMonth"]) { display: flex; flex-wrap: wrap; gap: 8px; }
html.horizons-signup .signup-personal .filddiv > :is([id$="ddlMonth"],[id$="ddlDays"],[id$="ddlYear"]) { flex: 1 1 70px; width: auto; margin: 0; }
html.horizons-signup .signup-personal .memberdediv { grid-column: 1 / -1; }
html.horizons-signup .signup-personal .planinerdiv { padding: 16px 0; border-bottom: 1px solid var(--hf-border); }
html.horizons-signup .signup-personal .plandivtitel { font-size: 13px; color: var(--hf-muted-foreground); margin-bottom: 4px; }
html.horizons-signup .signup-personal .plandivalue { font-size: 17px; font-weight: 550; }
html.horizons-signup [id$="btnEditPlan"] { background: var(--hf-secondary); color: var(--hf-secondary-foreground); border: 1px solid var(--hf-border); }
html.horizons-signup .RadPicker { width: 100% !important; max-width: 100%; }
html.horizons-signup .rightbox13contentbug { float: none; width: 100%; height: auto; padding: 0; border: 0; background: none; color: var(--hf-foreground); display: flow-root; }
html.horizons-signup .rightbox13headingbgbug { padding: 0 0 16px; border: 0; background: none; color: var(--hf-foreground); }
html.horizons-signup .membertabdiv { margin-top: 0 !important; }
html.horizons-signup :is(.upcomingtab,.upcomingtabsec) table { width: 100%; }
html.horizons-signup :is(.upcomingtab,.upcomingtabsec) table :is(th,td) {
    padding: 12px; border-color: var(--hf-border); background: var(--hf-card); color: var(--hf-foreground); font-family: inherit;
}
html.horizons-signup :is(.upcomingtab,.upcomingtabsec) table th { background: var(--hf-muted); font-weight: 600; }
/* Remove the old enclosing box on wide pages; retain the useful content cards. */
.horizons-flow .paynow-page :is(.membertabdiv,.rightbox19new), html.horizons-signup .maindiv { border: 0 !important; }
@media (max-width: 1000px) {
    html.horizons-signup .signup-personal { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 800px) {
    html.horizons-signup body > form { padding: 16px; }
    html.horizons-signup .signup-plan .w100per { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    html.horizons-signup :is(.personaldiv,.personaldivbroad,.rightbox16bug,.plandetaildiv) { padding: 24px; border-radius: 20px; }
}
@media (max-width: 520px) {
    html.horizons-signup body > form { padding: 12px; }
    html.horizons-signup :is(.personaldiv,.personaldivbroad,.rightbox16bug,.plandetaildiv) { padding: 18px; }
    html.horizons-signup .signup-personal .memberformleft75,
    html.horizons-signup .signup-personal :is([id$="divAddress"],[id$="divEmergency"]) { grid-template-columns: minmax(0, 1fr); }
    html.horizons-signup .signup-plan .memberformright { padding: 18px; }
}
html.horizons-signup .horizons-title { margin: 0 !important; max-width: 100%; }
html.horizons-signup :is(.singoutdiv,.homediv), html.horizons-signup :is(.singoutdiv,.homediv) a { text-indent: 0; }
html.horizons-signup :is(.singoutdiv,.homediv) a { float: none; width: auto; height: auto; padding: 8px 12px; background: none; }
html.horizons-signup .horizons-brand a:empty { display: none; }
html.horizons-signup .signup-personal .plandiv { border: 0; padding: 0; margin-top: 16px; }
html.horizons-signup .signup-personal .planinerdiv { border-top: 0; }
html.horizons-signup .signup-personal .plandetahead { float: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
html.horizons-signup .signup-personal .plandetahead h2 { float: none; }
html.horizons-signup .signup-personal .filddiv:has([id$="btnSave"]) { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; }
html.horizons-signup :is(.upcomingtab,.upcomingtabsec) table { table-layout: fixed; overflow-wrap: anywhere; }
@media(max-width:600px) {
    html.horizons-signup .horizons-brand > .headermaindiv:first-child { flex-direction: row; align-items: center; gap: 12px; }
    html.horizons-signup .horizons-title { flex: 1 1 100%; }
    html.horizons-signup .horizons-brand .welcomediv { margin-top: 12px; }
}
@media(max-width:800px) {
    html.horizons-signup :is(.upcomingtab,.upcomingtabsec) table thead { display: table-header-group; float: none; width: auto; }
    html.horizons-signup :is(.upcomingtab,.upcomingtabsec) table tbody { display: table-row-group; overflow: visible; white-space: normal; font-size: 14px; letter-spacing: normal; word-spacing: normal; background: none; }
    html.horizons-signup :is(.upcomingtab,.upcomingtabsec) table tr { display: table-row; float: none; width: auto; }
    html.horizons-signup :is(.upcomingtab,.upcomingtabsec) table :is(td,th) { display: table-cell; float: none; width: auto; white-space: normal; font-size: 12px; padding: 8px 4px; }
}

/* Invoice detail belongs to the amount summary, with one rounded table edge. */
.horizons-flow .paynow-page .paynow-invoice-toggle {
    display: flex; align-items: center; gap: 8px; margin-top: 12px;
    color: var(--hf-foreground); font: 500 14px/1.5 "Horizons Geist", sans-serif; letter-spacing: normal;
}
.horizons-flow .paynow-page .paynow-invoice-toggle #expandText { margin: 0; color: inherit; }
.horizons-flow .paynow-page .paynow-invoice-toggle .paynow-invoice-symbol {
    margin: 0; padding: 0 4px; color: inherit; font-size: 20px; line-height: 1; cursor: pointer;
}
.horizons-flow .paynow-page .paynow-amount #divExpanddues {
    margin-top: 16px; border: 1px solid var(--hf-border); border-radius: 12px;
    overflow: hidden; font-size: 14px; font-weight: 400; letter-spacing: normal;
}
.horizons-flow .paynow-page .paynow-amount #divExpanddues table { border-collapse: collapse; table-layout: fixed; }
.horizons-flow .paynow-page .paynow-amount #divExpanddues table td {
    border: 0; border-bottom: 1px solid var(--hf-border); border-radius: 0;
    padding: 12px 8px; overflow-wrap: anywhere; vertical-align: top;
}
.horizons-flow .paynow-page .paynow-amount #divExpanddues table tr:last-child td { border-bottom: 0; }
.horizons-flow .paynow-page .check-bx-wrap,
.horizons-flow .paynow-page .check-bx-wrap > span { display: flex; align-items: center; gap: 10px; }
.horizons-flow .paynow-page .check-bx-wrap input[type="checkbox"] { margin: 0; }
.horizons-flow .paynow-page .paynow-greeting { margin: 0 0 12px; font: 600 clamp(26px, 2.5vw, 36px)/1.25 "Horizons Geist", sans-serif; color: var(--hf-foreground); letter-spacing: -.025em; }
.horizons-flow .paynow-page .paynow-intro { margin: 0 0 28px; max-width: 36em; font: 400 17px/1.65 "Horizons Geist", sans-serif; color: var(--hf-muted-foreground); }

/* Shared fixed-paper receipt layout. Widths include a little renderer rounding room. */
html.horizons-flow.horizons-receipt { --hf-receipt-width: 720px; }
html.horizons-flow.horizons-signup.horizons-receipt { --hf-receipt-width: 724px; }
html.horizons-flow.horizons-receipt body { min-width: calc(var(--hf-receipt-width) + 96px); }
html.horizons-flow.horizons-receipt body > form { max-width: calc(var(--hf-receipt-width) + 96px); padding: 32px 24px 48px; }
html.horizons-flow.horizons-receipt .receipt-brand {
 display: flex; align-items: center; gap: 24px; max-width: none;
 padding: 8px 0 24px; background: transparent; border: 0;
 border-bottom: 1px solid var(--hf-border); border-radius: 0; box-shadow: none;
}
html.horizons-flow.horizons-receipt .memberleftdiv1 { max-width: none; }
html.horizons-flow.horizons-receipt .membertabdiv { border: 0; margin-top: 0 !important; }
html.horizons-flow.horizons-receipt .rightbox16bug { display: flow-root; padding: 24px; border: 0; border-radius: 20px; }
html.horizons-flow.horizons-receipt .rightbox13headingbgbug { border: 0; margin: 0; padding: 0; }
html.horizons-flow.horizons-receipt .tbl-wrpbx {
 float: none; display: flow-root; width: 100%; min-width: var(--hf-receipt-width);
 height: auto; max-height: none; overflow: visible; margin: 0; padding: 0;
}
html.horizons-flow.horizons-receipt .receipt-report-viewer { min-width: var(--hf-receipt-width); border: 0 !important; }
html.horizons-flow.horizons-receipt .reportbuttons {
 display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px;
 float: none; clear: both; width: 100%; height: auto; margin: 24px 0 0; padding: 0;
}
html.horizons-flow.horizons-receipt .reportbuttons .greenbut { float: none; margin: 0; }

/* Membership selection: aligned branding, one date field, and a clear cost summary. */
html.horizons-plan .signup-plan-details[hidden] { display: none !important; }
html.horizons-plan .signup-plan-details > .formdivbinner { margin: 0; padding: 5px 0; border-bottom: 1px solid var(--hf-border); }
html.horizons-plan .signup-plan-details .formtitlesec { color: var(--hf-muted-foreground); }
html.horizons-plan .signup-plan-details .label { font-size: 17px; font-weight: 550; }
html.horizons-plan .signup-plan-details [id$="divPaymentDetails"] > .formdivbinner { margin: 0; padding: 0; }
html.horizons-plan .signup-plan-details .padtop15 { display: none; }
html.horizons-plan .plan-signup-total { margin-top: 24px; padding-top: 24px; border-top: 2px solid var(--hf-border); display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; }
html.horizons-plan .plan-signup-total > span { flex: 1; font-size: 18px; font-weight: 600; }
html.horizons-plan .plan-signup-total strong { font-size: 28px; white-space: nowrap; }
html.horizons-plan .plan-signup-total p { flex-basis: 100%; margin: 4px 0 0; color: var(--hf-muted-foreground); font-size: 13px; line-height: 1.6; }
html.horizons-plan .plan-info { position: relative; display: inline-flex; justify-content: center; align-items: center; width: 20px; height: 20px; margin-left: 6px; border: 1px solid currentColor; border-radius: 50%; font-size: 13px; font-weight: 600; cursor: help; vertical-align: middle; }
html.horizons-plan .plan-info-text { display: none; position: absolute; right: -12px; bottom: calc(100% + 10px); width: min(280px, 65vw); padding: 12px 16px; border: 1px solid var(--hf-border); border-radius: 12px; background: var(--hf-card); color: var(--hf-foreground); box-shadow: var(--hf-shadow); font-size: 14px; font-weight: 400; line-height: 1.5; z-index: 20; }
html.horizons-plan .plan-info:is(:hover,:focus,:focus-within) .plan-info-text { display: block; }
html.horizons-plan .signup-start-picker { position: relative; width: 100% !important; max-width: 360px; background: transparent !important; border: 0 !important; padding: 0 !important; }
html.horizons-plan .signup-start-picker .rcTable { width: 100%; border: 0; background: transparent; border-collapse: collapse; }
html.horizons-plan .signup-start-picker > .rcTable > tbody > tr > td { padding: 0 !important; border: 0; background: transparent; }
html.horizons-plan .signup-start-picker .RadInput { display: block; width: 100% !important; }
html.horizons-plan .signup-start-picker input.riTextBox { color: var(--hf-foreground) !important; -webkit-text-fill-color: var(--hf-foreground); width: 100% !important; height: 48px !important; padding: 10px 48px 10px 14px !important; cursor: pointer; }
html.horizons-plan .signup-start-picker .rcCalPopup { position: absolute; right: 4px; top: 4px; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--hf-foreground); text-indent: -9999px; }
html.horizons-plan .signup-start-picker .rcCalPopup::after { content: ""; position: absolute; inset: 11px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
html.horizons-plan :is(.RadCalendar,.RadCalendarMonthView) { background: var(--hf-card) !important; color: var(--hf-foreground) !important; border: 1px solid var(--hf-border) !important; border-radius: 12px; box-shadow: var(--hf-shadow); font-family: inherit; }
html.horizons-plan :is(.RadCalendar,.RadCalendarMonthView) :is(table,tbody,tr,td,th,.rcTitlebar,.rcMain) { background-color: var(--hf-card); background-image: none; border-color: var(--hf-border); color: var(--hf-foreground); }
html.horizons-plan :is(.RadCalendar,.RadCalendarMonthView) :is(a,span) { color: var(--hf-foreground); }
html.horizons-plan .RadCalendar .rcRow td a { display: block; min-width: 32px; padding: 8px; background: transparent; color: var(--hf-foreground) !important; border-radius: 6px; }
html.horizons-plan :is(.RadCalendar,.RadCalendarMonthView) :is(.rcHover,.rcSelected,.rcSelected a,.rcHover a) { background: var(--hf-brand-pink) !important; color: var(--hf-action-text) !important; }
html.horizons-plan .RadCalendar .rcRow :is(.rcDisabled,.rcOutOfRange) span { color: var(--hf-muted-foreground); opacity: .55; }
html.horizons-plan .RadCalendar .rcRow .rcOtherMonth a { color: var(--hf-muted-foreground) !important; }
html.horizons-plan .RadCalendar .rcRow .rcToday { box-shadow: inset 0 0 0 1px var(--hf-ring); border-radius: 6px; }
@media (max-width: 800px) {
 html.horizons-plan .signup-start-picker { max-width: none; }
}

html.horizons-plan .RadCalendar .rcRow td:is(.rcSelected,.rcHover) a { background: var(--hf-brand-pink) !important; color: var(--hf-action-text) !important; }
html.horizons-plan .RadCalendar .rcTitlebar a { background: none; text-indent: 0; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--hf-foreground); font-size: 16px; }

html.horizons-plan .signup-plan-details { display: flex; flex-direction: column; }
html.horizons-plan .signup-plan-details > [id$="divPaymentDetails"] { order: 1; }
html.horizons-plan .signup-plan-details.plan-recurring > .plan-membership-amount { order: 2; }
html.horizons-plan .signup-plan-details > .plan-signup-total { order: 3; }

html.horizons-plan .signup-plan .memberformleft > .formdivbinner { margin-bottom: 24px; }
html.horizons-plan .signup-plan-details > .formdivbinner,
html.horizons-plan .signup-plan-details [id$="divPaymentDetails"] > .formdivbinner {
 display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: baseline;
}
html.horizons-plan .signup-plan-details [id$="divPaymentDetails"] > .formdivbinner { grid-column: 1 / -1; }
html.horizons-plan .signup-plan-details > [id$="divPlanDescription"] { display: block; }
html.horizons-plan .signup-plan-details .formtitlesec { margin: 0; }
html.horizons-plan .signup-plan-details .changfulldiv { text-align: right; }
html.horizons-plan .signup-plan-details [id$="divPlanDescription"] .changfulldiv { text-align: left; margin-top: 8px; }
html.horizons-plan .signup-plan-details .formdivbinner::after { display: none; }
html.horizons-plan .signup-plan-details > .plan-membership-amount { border-bottom: 0; }
html.horizons-plan .plan-signup-total { margin-top: 8px; }

html.horizons-plan .signup-plan-details > .padtop15 { display: none; }
html.horizons-plan .signup-plan-details > .formdivbinner, html.horizons-plan .signup-plan-details [id$="divPaymentDetails"] > .formdivbinner { align-items: start; }
html.horizons-plan .plan-info-text { left: 0; right: auto; }

/* Personal details: keep required markers beside captions and phone fields together. */
html.horizons-signup .signup-personal .formdivbinner > .formtitle {
 display: flex; align-items: baseline; gap: 5px;
}
html.horizons-signup .signup-personal .formtitle > .star {
 position: static; display: inline-flex; flex: 0 0 auto; float: none;
 width: auto; margin: 0; padding: 0; line-height: inherit;
}
html.horizons-signup .signup-personal .formtitle > .star > div { display: inline; }
html.horizons-signup .signup-personal .filddiv.phone_cls {
 display: grid; grid-template-columns: minmax(76px, 100px) minmax(0, 1fr);
 align-items: start; gap: 8px;
}
html.horizons-signup .signup-personal .phone_cls > :is(.drop1,.lname) {
 float: none; width: 100% !important; max-width: none !important; min-width: 0;
 margin: 0; padding: 0;
}
html.horizons-signup .signup-personal .phone_cls :is(select,input) {
 width: 100%; min-width: 0 !important; max-width: 100% !important;
}

html.horizons-signup .signup-personal .formdivbinner > .filddiv { width: 100% !important; }
html.horizons-signup .signup-personal .filddiv:has([id$="rdoGenderMale"]) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
html.horizons-signup .signup-personal .filddiv:has([id$="rdoGenderMale"]) .genderdiv { width: auto; float: none; margin: 0; }
html.horizons-signup .signup-personal .genderdiv br { display: none; }

/* Inset the select chevron without changing the native dropdown or its events. */
html.horizons-flow {
 --hf-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23071431' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark) {
 html.horizons-flow { --hf-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23f5f8fc' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
}
.horizons-flow select:not([multiple]):where(:not([size]),[size="1"]):not(#transactionFormDiv *):not([id*="ReportViewer"] *) {
 appearance: none; -webkit-appearance: none; padding-right: 40px;
 background-image: var(--hf-select-arrow); background-repeat: no-repeat;
 background-position: right 13px center; background-size: 14px 14px;
}
@media (forced-colors: active) {
 .horizons-flow select:not([multiple]):where(:not([size]),[size="1"]):not(#transactionFormDiv *):not([id*="ReportViewer"] *) {
  appearance: auto; -webkit-appearance: auto; background-image: none;
 }
}

/* Saved signup members are cards, with independent actions and readable mobile details. */
html.horizons-signup .signup-personal .signup-member-review {
 float: none; width: 100%; padding: clamp(20px, 3vw, 32px); margin: 0;
 border: 1px solid var(--hf-border); border-radius: 24px;
 background: var(--hf-card); color: var(--hf-foreground);
}
html.horizons-signup .signup-member-review > h2 {
 float: none; width: auto; margin: 0 0 8px; padding: 0;
 color: var(--hf-foreground); font: 600 24px/1.35 "Horizons Geist", sans-serif;
}
html.horizons-signup :is(#member-review,#member-entry) { scroll-margin-top: 24px; }
html.horizons-signup .member-review-count { margin: 0 0 24px; color: var(--hf-muted-foreground); font-size: 14px; }
html.horizons-signup .signup-member-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
html.horizons-signup .signup-member-card {
 min-width: 0; padding: 24px; border: 1px solid var(--hf-border); border-radius: 18px;
 background: var(--hf-background); color: var(--hf-foreground);
}
html.horizons-signup .member-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
html.horizons-signup .member-card-heading h3 { margin: 0; min-width: 0; overflow-wrap: anywhere; font-size: 21px; font-weight: 600; line-height: 1.4; color: var(--hf-foreground); }
html.horizons-signup .member-card-primary { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
html.horizons-signup .member-card-primary > span { display: inline-flex; align-items: center; gap: 8px; }
html.horizons-signup .member-card-primary input[type="radio"] { flex: 0 0 20px; margin: 0; }
html.horizons-signup .member-card-primary label { color: var(--hf-foreground); font-size: 14px; }
html.horizons-signup .member-card-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0 0; }
html.horizons-signup .member-card-details > div { min-width: 0; }
html.horizons-signup .member-card-details dt { color: var(--hf-muted-foreground); font-size: 13px; margin-bottom: 4px; }
html.horizons-signup .member-card-details dd { margin: 0; color: var(--hf-foreground); font-size: 16px; overflow-wrap: anywhere; }
html.horizons-signup .member-card-actions { display: flex; justify-content: flex-end; margin-top: 20px; }
html.horizons-signup .member-card-actions:empty { display: none; }
html.horizons-signup :is(.member-card-edit,.member-card-delete,.member-add-button) {
 display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
 min-height: 44px; padding: 10px 16px; border: 1px solid var(--hf-border) !important; border-radius: 10px;
 background: var(--hf-secondary); color: var(--hf-secondary-foreground); font: 550 15px/1.4 "Horizons Geist",sans-serif;
 cursor: pointer; text-decoration: none; white-space: normal;
}
html.horizons-signup .member-card-delete { background: transparent; color: var(--hf-destructive); }
html.horizons-signup .signup-member-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
html.horizons-signup .signup-member-actions [id$="btnCheckOut"] { margin: 0; color: var(--hf-action-text) !important; }
@media(max-width:800px) {
 html.horizons-signup .signup-member-cards { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:480px) {
 html.horizons-signup .signup-member-card { padding: 18px; }
 html.horizons-signup .member-card-details { grid-template-columns: minmax(0,1fr); gap: 16px; }
 html.horizons-signup .signup-member-actions > * { flex: 1 1 auto; }
}

/* Signup checkout: retain server controls while presenting invoice/payment information as cards. */
html.horizons-signup :is(.signup-invoice,.signup-checkout) h2 { color: var(--hf-foreground); font-size: 24px; line-height: 1.4; margin: 0 0 24px; float: none; }
html.horizons-signup :is(.signup-invoice,.signup-checkout) :is(.upcomingtab,.upcomingtabsec,.membertabdiv,.rightbox19new) { float: none; width: 100%; min-width: 0; height: auto; border: 0; background: none; padding: 0; margin: 0; overflow: visible; }
html.horizons-signup .signup-invoice .checkout-member-name { display: none; }
html.horizons-signup .signup-invoice .signup-charge-card,
html.horizons-signup .signup-checkout .checkout-method-card { padding: 24px; margin: 0 0 20px; border: 1px solid var(--hf-border); border-radius: 18px; background: var(--hf-muted); color: var(--hf-foreground); }
html.horizons-signup .checkout-card-title { margin: 0 0 20px; color: var(--hf-foreground); font-size: 20px; font-weight: 600; line-height: 1.4; }
html.horizons-signup :is(.signup-invoice,.signup-checkout) :is(.signup-charge-table,.checkout-method-table) { display: block; width: 100%; border: 0; background: none; margin: 0; }
html.horizons-signup :is(.signup-invoice,.signup-checkout) :is(.signup-charge-table,.checkout-method-table) thead { display: none; }
html.horizons-signup :is(.signup-invoice,.signup-checkout) :is(.signup-charge-table,.checkout-method-table) :is(tbody,tfoot) { display: block; width: 100%; }
html.horizons-signup :is(.signup-invoice,.signup-checkout) :is(.signup-charge-table,.checkout-method-table) :where(td) { display: block; float: none; width: auto; height: auto; padding: 0; border: 0; background: transparent !important; color: var(--hf-foreground); font-size: 15px; line-height: 1.5; text-align: left; }
html.horizons-signup .signup-charge-table .checkout-charge { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 12px 24px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--hf-border); }
html.horizons-signup .signup-charge-table :is(.charge-category,.charge-type) { display: none !important; }
html.horizons-signup .signup-charge-table .charge-name { font-weight: 600; align-self: center; }
html.horizons-signup .signup-charge-table .charge-quantity { grid-column: 1; grid-row: 2; color: var(--hf-muted-foreground); }
html.horizons-signup .signup-charge-table .charge-quantity::before { content: '\00d7'; margin-right: 4px; }
html.horizons-signup .signup-charge-table .charge-delete { grid-column: 4; }
html.horizons-signup .checkout-field-label { display: block; color: var(--hf-muted-foreground); font-size: 13px; font-weight: 400; margin-bottom: 4px; }
html.horizons-signup .signup-charge-table :is(.charge-price,.charge-tax,.charge-total) { text-align: right; }
html.horizons-signup .signup-charge-table .checkout-totals { display: flex; flex-direction: column; gap: 12px; max-width: 420px; margin: 24px 0 0 auto; }
html.horizons-signup .signup-charge-table .checkout-totals td { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
html.horizons-signup .signup-charge-table .checkout-totals td:not(:has(strong)) { display: none; }
html.horizons-signup .signup-charge-table .checkout-totals td.grand-total { padding-top: 16px; border-top: 1px solid var(--hf-border); font-size: 20px; font-weight: 600; }
html.horizons-signup .signup-checkout .checkout-payment-group { float: none; width: 100%; height: auto; margin: 0 0 24px; padding: 0; border: 0; background: none; }
html.horizons-signup .signup-checkout :is(.lightgraylt,.lightgrayrt) { display: none; }
html.horizons-signup .signup-checkout .checkout-payment-group > .formdivhead { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-bottom: 20px; }
html.horizons-signup .signup-checkout .checkout-payment-group > .formdivhead > div { float: none; width: auto; height: auto; margin: 0; color: var(--hf-foreground); }
html.horizons-signup .signup-checkout .checkout-payment-options { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; flex: 0 1 auto; min-width: 0; max-width: 100%; }
html.horizons-signup .signup-checkout .checkout-payment-options > .bluebut { float: none; width: auto; margin: 0; min-width: 0; }
html.horizons-signup .signup-checkout .checkout-payment-options > .bluebut:not(:has(a)) { display: none; }
html.horizons-signup .signup-checkout .checkout-method-card > .payment-method-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; gap: 20px; }
html.horizons-signup .signup-checkout .payment-method-name { font-weight: 600; font-size: 18px; }
html.horizons-signup .signup-checkout .checkout-delete { background: var(--hf-secondary); color: var(--hf-foreground); border: 1px solid var(--hf-border) !important; border-radius: 10px; width: auto; height: auto; min-height: 44px; padding: 10px 16px; text-indent: 0; cursor: pointer; }
html.horizons-signup .signup-checkout .checkout-method-card > :is(.payment-fee-row,.payment-grand-total) { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--hf-border); }
html.horizons-signup .signup-checkout .payment-fee-row > td:empty { display: none; }
html.horizons-signup .signup-checkout .payment-grand-total td { font-size: 20px; font-weight: 600; }
html.horizons-signup .signup-checkout .checkout-method-card > [hidden] { display: none; }
html.horizons-signup .checkout-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; width: 100%; margin-top: 24px; }
html.horizons-signup .checkout-actions > div { float: none; margin: 0; padding: 0; width: auto; }
html.horizons-signup .checkout-actions :is(input,a) { float: none; margin: 0; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
html.horizons-signup .checkout-actions [id$="hlkBackDown"] { background: var(--hf-secondary); border: 1px solid var(--hf-border); color: var(--hf-foreground); }
html.horizons-signup .checkout-options-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
html.horizons-signup .checkout-options-actions .printrec { float: none; width: auto; padding: 0; margin: 0; }

/* Center contact items and draw separators only between items sharing a line. */
html.horizons-signup .horizons-brand .horizons-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; }
html.horizons-signup .horizons-brand .horizons-contact > :is(.addressdiv,.phonediv,.maildiv,.welcomediv) { position: relative; flex: 0 1 auto; float: none; margin: 0; padding: 0; border: 0; line-height: 1.5; min-width: 0; max-width: 100%; text-align: left; background: none; }
html.horizons-signup .horizons-brand .horizons-contact a { float: none; display: inline; margin: 0; padding: 0; background: none; line-height: inherit; font: inherit; color: inherit; }
html.horizons-signup .horizons-contact > .contact-has-separator::before { content: '\00b7'; position: absolute; left: -18px; width: 8px; top: 50%; transform: translateY(-50%); text-align: center; color: var(--hf-muted-foreground); }
@media(max-width: 600px) {
 html.horizons-signup .signup-invoice .signup-charge-card, html.horizons-signup .signup-checkout .checkout-method-card { padding: 18px; }
 /* Each charge reads top to bottom on phones: name, price, tax, then total. */
 html.horizons-signup .signup-invoice .signup-charge-table .checkout-charge { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 20px 0; height: auto; }
 html.horizons-signup .signup-invoice .signup-charge-table .checkout-charge > td { grid-column: 1; grid-row: auto; width: auto; height: auto; margin: 0; padding: 0; }
 html.horizons-signup .signup-invoice .signup-charge-table .checkout-charge span { float: none; width: auto; padding: 0; margin: 0; }
 html.horizons-signup .signup-invoice .signup-charge-table .charge-name { font-size: 17px; margin-bottom: 4px; }
 html.horizons-signup .signup-invoice .signup-charge-table .charge-quantity { display: flex; align-items: baseline; gap: 4px; }
 html.horizons-signup .signup-invoice .signup-charge-table :is(.charge-price,.charge-tax,.charge-total) { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: baseline; gap: 12px; text-align: right; font-variant-numeric: tabular-nums; }
 html.horizons-signup .signup-invoice .signup-charge-table .charge-tax > span { display: contents; }
 html.horizons-signup .signup-invoice .signup-charge-table .checkout-field-label { text-align: left; font-size: 14px; }
 html.horizons-signup .signup-invoice .signup-charge-table .charge-total { font-weight: 600; }
 html.horizons-signup .signup-invoice .signup-charge-table .charge-total .checkout-field-label { color: var(--hf-foreground); font-weight: 600; }
 html.horizons-signup .signup-invoice .signup-charge-table .checkout-totals { max-width: none; margin: 20px 0 0; gap: 12px; }
 html.horizons-signup .signup-invoice .signup-charge-table .checkout-totals td { width: auto; margin: 0; padding: 0; }
 html.horizons-signup .signup-invoice .signup-charge-table .checkout-totals td.grand-total { padding-top: 16px; font-size: 18px; }
 html.horizons-signup .signup-invoice .signup-charge-table .checkout-totals strong { flex-shrink: 0; font-variant-numeric: tabular-nums; }
 html.horizons-signup .signup-checkout .checkout-method-card > .payment-method-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
 html.horizons-signup .signup-checkout .payment-method-name { grid-column: 1 / -1; }
 html.horizons-signup .signup-checkout .payment-delete { grid-column: 1 / -1; }
}

html.horizons-signup .signup-charge-table .charge-quantity[data-quantity="1"],
html.horizons-signup .signup-charge-table .charge-delete:not(:has(input[type="submit"])) { display: none !important; }
html.horizons-signup :is(.signup-charge-table,.checkout-method-table) td { min-width: 0; white-space: normal; }

/* One shared Site.Master header layout across every public signup step. */
html.horizons-flow.horizons-signup .horizons-brand {
 display: grid; grid-template-columns: clamp(160px, 15vw, 216px) minmax(0, 1fr);
 gap: 8px 28px; align-items: center; padding: 8px 0 24px;
}
html.horizons-flow.horizons-signup .horizons-brand > .headermaindiv:first-child { display: contents; }
html.horizons-flow.horizons-signup .horizons-brand .horizons-logo {
 grid-column: 1; grid-row: 1 / 3; align-self: stretch; display: flex; align-items: center;
 width: 100%; height: clamp(100px, 11vw, 160px); margin: 0; padding: 0;
}
html.horizons-flow.horizons-signup .horizons-brand .horizons-logo a { width: 100%; height: 100%; margin: 0 !important; padding: 0 !important; justify-content: flex-start; }
html.horizons-flow.horizons-signup .horizons-brand .horizons-logo img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
html.horizons-flow.horizons-signup .horizons-brand .horizons-title {
 grid-column: 2; grid-row: 1; align-self: end; width: auto; margin: 0 !important;
 font-size: clamp(24px, 2.5vw, 36px); line-height: 1.25; text-align: left;
}
html.horizons-flow.horizons-signup .horizons-brand > .headermaindiv + .headermaindiv {
 grid-column: 2; grid-row: 2; align-self: start; display: flex;
 flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 8px 28px;
 width: 100%; padding: 0; margin: 0;
}
html.horizons-flow.horizons-signup .horizons-brand :is(.addressdiv,.phonediv,.maildiv) {
 position: relative; width: 100%; min-width: 0; max-width: 100%; margin: 0; padding: 0;
 border: 0; background: none; color: var(--hf-muted-foreground); line-height: 1.5;
}
html.horizons-flow.horizons-signup .horizons-brand .addressdiv { grid-column: 1 / -1; text-align: left; }
html.horizons-flow.horizons-signup .horizons-brand .phonediv { width: auto; text-align: left; }
html.horizons-flow.horizons-signup .horizons-brand .maildiv { width: auto; text-align: left; }
html.horizons-flow.horizons-signup .horizons-brand :is(.phonediv,.maildiv) a {
 float: none; display: inline; margin: 0; padding: 0; background: none; color: inherit; font: inherit; line-height: inherit;
}
html.horizons-flow.horizons-signup .horizons-brand .welcomediv { display: none; }
html.horizons-flow.horizons-signup .horizons-brand :is(.homediv,.singoutdiv):not(:has(a:not(:empty))) { display: none; }
html.horizons-flow.horizons-signup .horizons-brand :is(.homediv,.singoutdiv) { grid-column: 2; justify-self: end; }
html.horizons-flow.horizons-signup .horizons-brand:has(.horizons-logo[hidden]) { grid-template-columns: minmax(0, 1fr); }
html.horizons-flow.horizons-signup .horizons-brand:has(.horizons-logo[hidden]) :is(.horizons-title,.headermaindiv + .headermaindiv) { grid-column: 1; }
@media (max-width: 800px) {
 html.horizons-flow.horizons-signup .horizons-brand { grid-template-columns: 128px minmax(0, 1fr); gap: 12px 16px; }
 html.horizons-flow.horizons-signup .horizons-brand .horizons-logo { grid-row: 1; height: 64px; align-self: center; }
 html.horizons-flow.horizons-signup .horizons-brand .horizons-title { align-self: center; }
 html.horizons-flow.horizons-signup .horizons-brand > .headermaindiv + .headermaindiv { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
 html.horizons-flow.horizons-signup .horizons-brand { grid-template-columns: 80px minmax(0, 1fr); }
 html.horizons-flow.horizons-signup .horizons-brand .horizons-logo { height: 56px; }
 html.horizons-flow.horizons-signup .horizons-brand > .headermaindiv + .headermaindiv { grid-template-columns: minmax(0, 1fr); }
 html.horizons-flow.horizons-signup .horizons-brand :is(.phonediv,.maildiv) { grid-column: 1; }
}

html.horizons-flow.horizons-signup .horizons-brand [hidden] { display: none !important; }

/* Keep the legacy total controls available to payment processing without repeating the card summary. */
html.horizons-signup .signup-checkout .checkout-payment-group > .checkout-legacy-total { display: none; }

/* Payment progress stays centered in the viewport, independently of page length. */
.horizons-flow .signup-processing[hidden] { display: none; }
.horizons-flow .signup-processing {
    position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center;
    background: color-mix(in srgb, var(--hf-background) 90%, transparent);
    padding: 24px; cursor: wait;
}
.horizons-flow .signup-processing-content { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; color: var(--hf-foreground); }
.horizons-flow .signup-processing img { display: block; width: 128px; height: 128px; }
.horizons-signup .signup-checkout[inert] [aria-disabled="true"] { opacity: .55; cursor: wait; }

/* Hide only missing plan values, retaining real zero amounts. */
html.horizons-flow .signup-empty-detail { display: none !important; }

/* Keep the PayNow spinner and its shared processing message together. */
.horizons-flow #loader .paynow-processing-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: calc(100% - 48px); max-width: 480px; }
.horizons-flow #loader .paynow-processing-content img { position: static; transform: none; display: block; width: 128px; height: 128px; }
