/* NY Family Law Calculator — branded for SuffolkDivorceLawyer.com
   Colors, fonts, and spacing matched to the PaperStreet theme. */

@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&family=Poppins:wght@400;500;600&display=swap');

/* ── Variables ─────────────────────────────────────────────────── */
#nyflc-calculator.nyflc {
  --nyflc-primary:       #103d5b;
  --nyflc-secondary:     #005e94;
  --nyflc-alternate:     #cfe4f2;
  --nyflc-light-bg:      #e9f5f7;
  --nyflc-navy:          #070b2e;
  --nyflc-gray:          #5f6272;
  --nyflc-border:        #c0c3d3;
  --nyflc-light-gray:    #efefef;
  --nyflc-white:         #ffffff;
  --nyflc-body-font:     'Poppins', sans-serif;
  --nyflc-heading-font:  'Merriweather', serif;
  --nyflc-radius:        4px;
}

/* ── Container ─────────────────────────────────────────────────── */
#nyflc-calculator.nyflc {
  font-family: var(--nyflc-body-font);
  color: var(--nyflc-gray);
  max-width: 780px;
  margin: 2rem auto;
  line-height: 1.6;
  font-size: 15px;
}

/* ── Theme insulation ──────────────────────────────────────────────
   Every rule in this file is scoped to #nyflc-calculator so a host
   theme cannot outrank it. This block strips the margins, padding,
   line-heights and font overrides themes inject on bare elements
   (div, p, li, legend, td …); the component rules below then set the
   calculator's real spacing. The selectors here are element-only, so
   they score below the plugin's own class rules and never override
   them — they only block whatever the theme is trying to impose. */
#nyflc-calculator#nyflc-calculator,
#nyflc-calculator#nyflc-calculator *,
#nyflc-calculator#nyflc-calculator *::before,
#nyflc-calculator#nyflc-calculator *::after {
  box-sizing: border-box;
}

#nyflc-calculator div,
#nyflc-calculator span,
#nyflc-calculator p,
#nyflc-calculator h2,
#nyflc-calculator h3,
#nyflc-calculator h4,
#nyflc-calculator h5,
#nyflc-calculator h6,
#nyflc-calculator ul,
#nyflc-calculator ol,
#nyflc-calculator li,
#nyflc-calculator dl,
#nyflc-calculator dt,
#nyflc-calculator dd,
#nyflc-calculator form,
#nyflc-calculator fieldset,
#nyflc-calculator legend,
#nyflc-calculator label,
#nyflc-calculator table,
#nyflc-calculator thead,
#nyflc-calculator tbody,
#nyflc-calculator tr,
#nyflc-calculator th,
#nyflc-calculator td,
#nyflc-calculator hr,
#nyflc-calculator img,
#nyflc-calculator details,
#nyflc-calculator summary,
#nyflc-calculator input,
#nyflc-calculator select,
#nyflc-calculator textarea,
#nyflc-calculator button {
  margin: 0;
  padding: 0;
}

#nyflc-calculator div,
#nyflc-calculator span,
#nyflc-calculator p,
#nyflc-calculator h2,
#nyflc-calculator h3,
#nyflc-calculator h4,
#nyflc-calculator h5,
#nyflc-calculator h6,
#nyflc-calculator ul,
#nyflc-calculator ol,
#nyflc-calculator li,
#nyflc-calculator dl,
#nyflc-calculator dt,
#nyflc-calculator dd,
#nyflc-calculator legend,
#nyflc-calculator label,
#nyflc-calculator th,
#nyflc-calculator td,
#nyflc-calculator details,
#nyflc-calculator summary {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  letter-spacing: normal;
  text-transform: none;
}

#nyflc-calculator table {
  border-collapse: collapse;
  border-spacing: 0;
  width: auto;
}

#nyflc-calculator input,
#nyflc-calculator select,
#nyflc-calculator button,
#nyflc-calculator textarea {
  font-family: inherit;
  letter-spacing: normal;
  text-transform: none;
  border-radius: 0;
}

#nyflc-calculator#nyflc-calculator legend {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  border: none;
  background: none;
  float: none !important;
  clear: none !important;
  position: static !important;
}

#nyflc-calculator ul,
#nyflc-calculator ol {
  list-style-position: outside;
}

/* ── Form control visibility ───────────────────────────────────────
   Themes routinely hide the native radio/checkbox (opacity:0, off-screen
   positioning, appearance:none) and draw a replacement via label::before,
   and they recolor form labels — often with !important. The calculator
   uses standard controls, so those overrides are reversed here. The
   doubled id outranks theme id selectors; !important covers the rest.
   Scoped to the calculator only, so the rest of the page is untouched. */
#nyflc-calculator#nyflc-calculator input[type="radio"],
#nyflc-calculator#nyflc-calculator input[type="checkbox"] {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  pointer-events: auto !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  max-width: none;
  margin: 0;
  flex: 0 0 auto;
  accent-color: var(--nyflc-secondary);
  background: none;
  border: none;
  box-shadow: none;
  transform: none;
}

#nyflc-calculator#nyflc-calculator label::before,
#nyflc-calculator#nyflc-calculator label::after {
  content: none !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-field label,
#nyflc-calculator#nyflc-calculator .nyflc-locality-field label,
#nyflc-calculator#nyflc-calculator .nyflc-addon-row label {
  color: var(--nyflc-navy) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-radio,
#nyflc-calculator#nyflc-calculator .nyflc-checkbox {
  color: var(--nyflc-navy) !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-text-fill-color: currentColor;
}

#nyflc-calculator#nyflc-calculator .nyflc-radio span,
#nyflc-calculator#nyflc-calculator .nyflc-checkbox span {
  color: inherit !important;
  -webkit-text-fill-color: currentColor;
}

/* ── Form control spacing ──────────────────────────────────────────
   The theme carries !important on its form styles (proved by it winning
   the label color against an id-scoped rule), so ordinary specificity
   cannot hold these. The calculator's own values are restated at a
   weight the theme cannot beat — same numbers as the rules above, just
   made unassailable. Scoped to the calculator only. */
#nyflc-calculator#nyflc-calculator .nyflc-field label,
#nyflc-calculator#nyflc-calculator .nyflc-locality-field label {
  display: block !important;
  float: none !important;
  margin: 0 0 0.35rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-addon-row label {
  float: none !important;
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-radio {
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-checkbox {
  margin: 0 0 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-radio-group {
  gap: 0.5rem !important;
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-row,
#nyflc-calculator#nyflc-calculator .nyflc-field,
#nyflc-calculator#nyflc-calculator .nyflc-field--narrow,
#nyflc-calculator#nyflc-calculator .nyflc-input-wrap {
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-fieldset {
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
}

#nyflc-calculator#nyflc-calculator input,
#nyflc-calculator#nyflc-calculator select,
#nyflc-calculator#nyflc-calculator textarea {
  margin: 0 !important;
}

/* The radio and checkbox rows ARE label elements, so a theme's
   "label { display: inline-block !important }" collapses their layout.
   Locked here — safe because the calculator's JS never toggles display
   on these two, only on sections and result panels (a blanket display
   lock would defeat those inline style changes). */
#nyflc-calculator#nyflc-calculator .nyflc-radio,
#nyflc-calculator#nyflc-calculator .nyflc-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  float: none !important;
}

/* ── Auto-inserted links ───────────────────────────────────────────
   A keyword auto-linking plugin turned the word "custody" inside a radio
   label into a link. Clicking it navigates away instead of selecting the
   option, so links inside form control labels are made inert. This does
   not touch links anywhere else on the page or in the disclaimer. */
#nyflc-calculator#nyflc-calculator .nyflc-radio a,
#nyflc-calculator#nyflc-calculator .nyflc-checkbox a,
#nyflc-calculator#nyflc-calculator .nyflc-field label a,
#nyflc-calculator#nyflc-calculator .nyflc-locality-field label a {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
  font-weight: inherit !important;
}

/* ── Injected pseudo-elements ──────────────────────────────────────
   Themes draw their own accordion icon with summary::before, usually
   absolutely positioned, which lands on top of the FAQ question text.
   The calculator draws its own +/- marker, so theme markers and the
   native <details> triangle are removed here and the calculator's own
   marker is restated at a weight the theme cannot beat. */
#nyflc-calculator#nyflc-calculator summary::before,
#nyflc-calculator#nyflc-calculator button::before,
#nyflc-calculator#nyflc-calculator button::after {
  content: none !important;
  display: none !important;
}

#nyflc-calculator#nyflc-calculator summary::marker {
  content: "" !important;
}

#nyflc-calculator#nyflc-calculator summary::-webkit-details-marker {
  display: none !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-item summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  list-style: none !important;
  position: relative !important;
  text-indent: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-item summary::after {
  content: "+" !important;
  display: block !important;
  position: static !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  border: none !important;
  background: none !important;
  flex-shrink: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-item[open] summary::after {
  content: "\2212" !important;
}

/* ── List markers ──────────────────────────────────────────────────
   Themes commonly hide the native bullet and draw their own with
   li::before pinned at left:0, relying on padding they add to the <li>
   to keep it clear of the text. The spacing lock strips that padding —
   the calculator does not use it — which drops the theme's caret on top
   of the disclaimer list text. The calculator wants ordinary bullets,
   so theme markers (pseudo-element and background-image styles alike)
   are removed and the native list marker is restored. */
#nyflc-calculator#nyflc-calculator li::before,
#nyflc-calculator#nyflc-calculator li::after {
  content: none !important;
  display: none !important;
}

#nyflc-calculator#nyflc-calculator ul {
  list-style: disc outside !important;
}

#nyflc-calculator#nyflc-calculator ol {
  list-style: decimal outside !important;
}

#nyflc-calculator#nyflc-calculator li {
  list-style: inherit !important;
  text-indent: 0 !important;
  background-image: none !important;
  position: static !important;
}

/* ── Header ────────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-header {
  background: var(--nyflc-primary);
  color: var(--nyflc-white);
  padding: 1.75rem 2rem;
  border-radius: var(--nyflc-radius) var(--nyflc-radius) 0 0;
  text-align: center;
}

#nyflc-calculator .nyflc-logo {
  display: block;
  max-width: 200px;
  height: auto;
  margin: 0 auto 1rem;
}

#nyflc-calculator .nyflc-header h2 {
  font-family: var(--nyflc-heading-font);
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
  color: var(--nyflc-white) !important;
}

#nyflc-calculator .nyflc-header .nyflc-subtitle {
  font-size: 0.88rem;
  color: var(--nyflc-white) !important;
  opacity: 0.9;
  margin: 0;
}

#nyflc-calculator .nyflc-header .nyflc-subtitle a {
  color: var(--nyflc-white) !important;
}

#nyflc-calculator .nyflc-area-header {
  font-family: var(--nyflc-heading-font);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--nyflc-primary);
  margin: 1.75rem 0 0.5rem;
  padding: 0.5rem 0;
  border-bottom: 2px solid var(--nyflc-primary);
}

/* ── Mode toggle ──────────────────────────────────────────────── */
#nyflc-calculator .nyflc-mode-bar {
  display: flex;
  background: var(--nyflc-white);
  border: 1px solid var(--nyflc-border);
  border-top: none;
  padding: 0.75rem 2rem;
  gap: 0.5rem;
}

#nyflc-calculator .nyflc-mode-btn {
  flex: 1;
  padding: 0.5rem 1rem;
  border: 1px solid var(--nyflc-border);
  border-radius: var(--nyflc-radius);
  background: var(--nyflc-white);
  font-family: var(--nyflc-body-font);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--nyflc-gray);
  cursor: pointer;
  transition: all 200ms ease-out;
  text-align: center;
}

#nyflc-calculator .nyflc-mode-btn:hover {
  border-color: var(--nyflc-secondary);
  color: var(--nyflc-secondary);
}

#nyflc-calculator .nyflc-mode-btn.nyflc-active {
  background: var(--nyflc-primary);
  border-color: var(--nyflc-primary);
  color: var(--nyflc-white);
}

/* ── Form ──────────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-form {
  background: var(--nyflc-white);
  border: 1px solid var(--nyflc-border);
  border-top: none;
  padding: 1.75rem 2rem;
}

#nyflc-calculator .nyflc-fieldset {
  border: none;
  margin: 0 0 1.5rem;
  padding: 0;
}

#nyflc-calculator .nyflc-fieldset legend {
  font-family: var(--nyflc-heading-font);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--nyflc-primary);
  margin-bottom: 0.75rem;
  padding: 0;
}

#nyflc-calculator .nyflc-row {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}

#nyflc-calculator .nyflc-field {
  flex: 1 1 260px;
}

#nyflc-calculator .nyflc-field--narrow {
  flex: 0 1 220px;
}

#nyflc-calculator .nyflc-field label {
  display: block;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--nyflc-navy);
  margin-bottom: 0.35rem;
}

#nyflc-calculator .nyflc-input-wrap {
  position: relative;
}

#nyflc-calculator .nyflc-dollar {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--nyflc-gray);
  font-size: 0.95rem;
  pointer-events: none;
}

#nyflc-calculator .nyflc-input-wrap input {
  width: 100%;
  padding: 0.6rem 0.75rem 0.6rem 1.75rem;
  border: 1px solid var(--nyflc-border);
  border-radius: var(--nyflc-radius);
  font-family: var(--nyflc-body-font);
  font-size: 0.95rem;
  color: var(--nyflc-navy);
  background: var(--nyflc-white);
  box-sizing: border-box;
  transition: border-color 200ms ease-out;
}

#nyflc-calculator .nyflc-input-wrap input:focus {
  outline: none;
  border-color: var(--nyflc-secondary);
  box-shadow: 0 0 0 2px rgba(0, 94, 148, 0.15);
}

#nyflc-calculator.nyflc select {
  width: 100%;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--nyflc-border);
  border-radius: var(--nyflc-radius);
  font-family: var(--nyflc-body-font);
  font-size: 0.95rem;
  color: var(--nyflc-navy);
  background: var(--nyflc-white);
  cursor: pointer;
  box-sizing: border-box;
}

#nyflc-calculator.nyflc select:focus {
  outline: none;
  border-color: var(--nyflc-secondary);
  box-shadow: 0 0 0 2px rgba(0, 94, 148, 0.15);
}

/* ── Radio group ───────────────────────────────────────────────── */
#nyflc-calculator .nyflc-help {
  font-size: 0.82rem;
  color: var(--nyflc-gray);
  margin: 0 0 0.65rem;
}

#nyflc-calculator .nyflc-radio-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#nyflc-calculator .nyflc-radio {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--nyflc-navy);
  cursor: pointer;
}

#nyflc-calculator .nyflc-radio input[type="radio"] {
  accent-color: var(--nyflc-secondary);
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* ── Checkbox ─────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--nyflc-navy);
  cursor: pointer;
  margin-bottom: 0.5rem;
}

#nyflc-calculator .nyflc-checkbox input[type="checkbox"] {
  accent-color: var(--nyflc-secondary);
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* ── Button ────────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-btn {
  display: inline-block;
  background: var(--nyflc-primary);
  color: var(--nyflc-white);
  font-family: var(--nyflc-body-font);
  font-size: 0.95rem;
  font-weight: 600;
  padding: 0.7rem 2.25rem;
  border: 2px solid var(--nyflc-primary);
  border-radius: var(--nyflc-radius);
  cursor: pointer;
  transition: background 200ms ease-out, border-color 200ms ease-out;
  margin-top: 0.25rem;
}

#nyflc-calculator .nyflc-btn:hover {
  background: var(--nyflc-secondary);
  border-color: var(--nyflc-secondary);
}

#nyflc-calculator .nyflc-btn:active {
  transform: scale(0.98);
}

#nyflc-calculator .nyflc-btn--secondary {
  background: var(--nyflc-white);
  color: var(--nyflc-primary);
  border-color: var(--nyflc-primary);
  font-size: 0.88rem;
  padding: 0.55rem 1.75rem;
}

#nyflc-calculator .nyflc-btn--secondary:hover {
  background: var(--nyflc-alternate);
}

#nyflc-calculator .nyflc-btn--outline {
  background: transparent;
  color: #666;
  border-color: #999;
  font-size: 0.85rem;
  padding: 0.55rem 1.75rem;
}
#nyflc-calculator .nyflc-btn--outline:hover {
  background: #f0f0f0;
  color: #333;
}

#nyflc-calculator #nyflc-calc-maint {
  white-space: nowrap;
}

#nyflc-calculator .nyflc-section-divider {
  border: none;
  border-top: 2px solid var(--nyflc-border);
  margin: 1rem 0;
}

#nyflc-calculator .nyflc-abovecap-row {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}

#nyflc-calculator .nyflc-abovecap-row .nyflc-abovecap-options {
  flex: 1;
  min-width: 0;
}

#nyflc-calculator .nyflc-abovecap-row .nyflc-abovecap-action {
  flex: 0 0 auto;
}
#nyflc-calculator #nyflc-maint-deviate-fieldset .nyflc-abovecap-row {
  align-items: flex-start;
}
#nyflc-calculator #nyflc-maint-deviate-fieldset .nyflc-abovecap-action {
  padding-top: 2.1rem;
}

@media (max-width: 560px) {
  #nyflc-calculator .nyflc-abovecap-row {
    flex-direction: column;
    gap: 0.75rem;
  }
  #nyflc-calculator .nyflc-abovecap-row .nyflc-abovecap-action {
    padding-top: 0;
    width: 100%;
  }
  #nyflc-calculator .nyflc-abovecap-row .nyflc-abovecap-action .nyflc-btn {
    width: 100%;
  }
}

/* ── Collapsible sections ─────────────────────────────────────── */
#nyflc-calculator .nyflc-section {
  border: 1px solid var(--nyflc-border);
  border-radius: var(--nyflc-radius);
  margin-bottom: 1rem;
  overflow: hidden;
}

#nyflc-calculator .nyflc-section-toggle {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.75rem 1rem;
  background: var(--nyflc-light-bg);
  border: none;
  cursor: pointer;
  font-family: var(--nyflc-body-font);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--nyflc-primary);
  text-align: left;
  gap: 0.5rem;
  transition: background 200ms;
}

#nyflc-calculator .nyflc-section-toggle:hover {
  background: var(--nyflc-alternate);
}

#nyflc-calculator .nyflc-section-summary {
  margin-left: auto;
  font-weight: 500;
  font-size: 0.82rem;
  color: var(--nyflc-gray);
}

#nyflc-calculator .nyflc-chevron {
  font-size: 0.75rem;
  transition: transform 200ms;
  flex-shrink: 0;
}

#nyflc-calculator .nyflc-section.nyflc-open .nyflc-chevron {
  transform: rotate(90deg);
}

#nyflc-calculator .nyflc-section-body {
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--nyflc-border);
}

/* ── Income/Deduction input table ─────────────────────────────── */
#nyflc-calculator .nyflc-item-table {
  width: 100%;
  border-collapse: collapse;
}

#nyflc-calculator .nyflc-item-table th {
  text-align: left;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nyflc-gray);
  padding: 0.35rem 0.5rem;
  border-bottom: 2px solid var(--nyflc-border);
}

#nyflc-calculator .nyflc-item-table th:not(:first-child) {
  text-align: right;
  width: 140px;
}

#nyflc-calculator .nyflc-item-table td {
  padding: 0.25rem 0.5rem;
  border-bottom: 1px solid var(--nyflc-light-gray);
  vertical-align: middle;
}

#nyflc-calculator .nyflc-item-table td:first-child {
  font-size: 0.82rem;
  color: var(--nyflc-navy);
}

#nyflc-calculator .nyflc-item-table td:not(:first-child) {
  width: 140px;
}

#nyflc-calculator .nyflc-item-table .nyflc-input-wrap {
  min-width: 100px;
}

#nyflc-calculator .nyflc-item-table .nyflc-input-wrap input {
  padding: 0.35rem 0.5rem 0.35rem 1.5rem;
  font-size: 0.85rem;
  text-align: right;
}

#nyflc-calculator .nyflc-item-table .nyflc-dollar {
  left: 8px;
  font-size: 0.82rem;
}

#nyflc-calculator .nyflc-total-row td {
  font-weight: 600;
  color: var(--nyflc-primary) !important;
  border-bottom: 2px solid var(--nyflc-border);
  border-top: 1px solid var(--nyflc-border);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

#nyflc-calculator .nyflc-total-row td:not(:first-child) {
  text-align: right;
  font-size: 0.9rem;
}

/* ── Results ───────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-results {
  background: var(--nyflc-light-bg);
  border: 1px solid var(--nyflc-border);
  border-top: none;
  padding: 1.75rem 2rem 2rem;
  border-radius: 0 0 var(--nyflc-radius) var(--nyflc-radius);
}

#nyflc-calculator .nyflc-results h3 {
  font-family: var(--nyflc-heading-font);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--nyflc-primary);
  margin: 0 0 1.25rem;
}

/* ── Cards ─────────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-cards {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

#nyflc-calculator .nyflc-card {
  flex: 1 1 300px;
  background: var(--nyflc-white);
  border: 1px solid var(--nyflc-border);
  border-top: 3px solid var(--nyflc-primary);
  border-radius: var(--nyflc-radius);
  padding: 1.25rem 1.5rem;
}

#nyflc-calculator .nyflc-card-label {
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--nyflc-gray);
  margin-bottom: 0.25rem;
}

#nyflc-calculator .nyflc-card-amount {
  font-family: var(--nyflc-heading-font);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--nyflc-primary);
  line-height: 1.2;
}

#nyflc-calculator .nyflc-card-period {
  font-size: 0.78rem;
  color: var(--nyflc-gray);
  margin-bottom: 0.5rem;
}

#nyflc-calculator .nyflc-card-periods {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--nyflc-light-gray);
}

#nyflc-calculator .nyflc-card-periods span {
  font-size: 0.82rem;
  color: var(--nyflc-gray);
}

#nyflc-calculator .nyflc-card-periods strong {
  color: var(--nyflc-navy);
}

/* ── Detail table ──────────────────────────────────────────────── */
#nyflc-calculator .nyflc-detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

#nyflc-calculator .nyflc-detail-table td {
  padding: 0.3rem 0;
  border-bottom: 1px solid var(--nyflc-light-gray);
}

#nyflc-calculator .nyflc-detail-table td:first-child {
  color: var(--nyflc-gray);
}

#nyflc-calculator .nyflc-detail-table td:last-child {
  text-align: right;
  font-weight: 500;
  color: var(--nyflc-navy);
}

#nyflc-calculator .nyflc-detail-table .nyflc-detail-subtotal td {
  font-weight: 600;
  color: var(--nyflc-primary);
  border-bottom: 2px solid var(--nyflc-border);
  padding-top: 0.4rem;
}

#nyflc-calculator .nyflc-detail-table .nyflc-detail-header td {
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nyflc-gray);
  padding-top: 0.75rem;
  border-bottom: none;
}

/* ── Summary ───────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-summary {
  background: var(--nyflc-white);
  border: 1px solid var(--nyflc-border);
  border-left: 3px solid var(--nyflc-secondary);
  border-radius: var(--nyflc-radius);
  padding: 1rem 1.25rem;
  font-size: 0.88rem;
  line-height: 1.7;
  color: var(--nyflc-navy);
  margin-bottom: 1.5rem;
}

#nyflc-calculator .nyflc-summary strong {
  color: var(--nyflc-primary);
}

/* ── Comparison / Summary table ────────────────────────────────── */
#nyflc-calculator .nyflc-comparison {
  margin-bottom: 1.5rem;
}

#nyflc-calculator .nyflc-comparison h4 {
  font-family: var(--nyflc-heading-font);
  font-size: 1rem;
  font-weight: 700;
  color: var(--nyflc-primary);
  margin: 0 0 0.75rem;
}

#nyflc-calculator .nyflc-comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

#nyflc-calculator .nyflc-comparison-table th,
#nyflc-calculator .nyflc-comparison-table td {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--nyflc-border);
  text-align: left;
  vertical-align: top;
}

#nyflc-calculator .nyflc-comparison-table th {
  font-weight: 600;
  color: var(--nyflc-primary);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

#nyflc-calculator .nyflc-comparison-table th:not(:first-child),
#nyflc-calculator .nyflc-comparison-table td:not(:first-child) {
  text-align: center;
  font-variant-numeric: tabular-nums;
}

#nyflc-calculator .nyflc-cmp-total td {
  font-weight: 700;
  color: var(--nyflc-primary);
  border-top: 2px solid var(--nyflc-primary);
}

#nyflc-calculator .nyflc-cmp-dir {
  font-size: 0.75rem;
  color: var(--nyflc-gray);
  font-weight: 400;
}

#nyflc-calculator .nyflc-cmp-note {
  font-size: 0.78rem;
  color: var(--nyflc-gray);
  margin-top: 0.5rem;
  font-style: italic;
}

#nyflc-calculator .nyflc-line-num {
  color: var(--nyflc-gray);
  font-size: 0.8rem;
  font-weight: 400;
  margin-right: 0.25rem;
}

/* ── Worksheet-style result tables ────────────────────────────── */
#nyflc-calculator .nyflc-worksheet {
  margin-bottom: 0.25rem;
}

#nyflc-calculator .nyflc-worksheet th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nyflc-gray);
  padding: 0.35rem 0;
  border-bottom: 2px solid var(--nyflc-border);
  text-align: right;
}

#nyflc-calculator .nyflc-worksheet th:first-child {
  text-align: left;
}

#nyflc-calculator .nyflc-worksheet td:not(:first-child) {
  text-align: right;
  font-weight: 500;
  color: var(--nyflc-navy);
}

#nyflc-calculator .nyflc-worksheet-sub {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--nyflc-primary);
  margin: 0.75rem 0 0.25rem;
  padding-top: 0.25rem;
}
#nyflc-calculator .nyflc-worksheet-divider {
  border-top: 2px solid var(--nyflc-primary);
  margin-top: 1rem;
  padding-top: 0.5rem;
}
#nyflc-calculator .nyflc-ssr-notice {
  background: #fef9e7;
  border-left: 4px solid #d4a017;
  padding: 0.75rem 1rem;
  margin: 0.75rem 0;
  font-size: 0.9em;
  line-height: 1.5;
  color: #5a4e1a;
}
#nyflc-calculator .nyflc-ssr-notice p { margin: 0; }

#nyflc-calculator .nyflc-no-maint-msg {
  font-weight: 600;
  color: var(--nyflc-primary);
  margin: 0.75rem 0;
  padding: 0.5rem 0;
  font-size: 0.9rem;
}

#nyflc-calculator .nyflc-ws-label td {
  font-weight: 600;
  color: var(--nyflc-primary) !important;
  text-align: left !important;
  padding-top: 0.5rem !important;
  border-bottom: none !important;
}

#nyflc-calculator .nyflc-ws-result td {
  font-weight: 600;
  color: var(--nyflc-navy) !important;
  border-bottom: 2px solid var(--nyflc-border) !important;
  padding-bottom: 0.35rem !important;
}

#nyflc-calculator .nyflc-ws-final td {
  font-weight: 700;
  color: var(--nyflc-primary) !important;
  border-bottom: 2px solid var(--nyflc-primary) !important;
  padding: 0.5rem 0 !important;
  font-size: 0.88rem;
}
#nyflc-calculator .nyflc-no-border-bottom td {
  border-bottom: none !important;
}

#nyflc-calculator .nyflc-net-income-summary {
  background: var(--nyflc-light-bg);
  border: 1px solid var(--nyflc-border);
  border-radius: var(--nyflc-radius);
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
}

#nyflc-calculator .nyflc-net-income-title {
  font-family: var(--nyflc-heading-font);
  font-size: 1rem;
  font-weight: 700;
  color: var(--nyflc-primary);
  margin: 0 0 0.5rem;
}

#nyflc-calculator .nyflc-deviate-direction {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

#nyflc-calculator .nyflc-deviate-direction-label {
  font-weight: 500;
  font-size: 0.85rem;
  color: var(--nyflc-gray);
}

/* ── Disclaimer ────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-disclaimer {
  font-size: 0.75rem;
  line-height: 1.6;
  color: var(--nyflc-gray);
  border-top: 1px solid var(--nyflc-border);
  padding-top: 1rem;
}

#nyflc-calculator .nyflc-disclaimer p {
  margin: 0 0 0.5rem;
}

#nyflc-calculator .nyflc-disclaimer ul {
  margin: 0.25rem 0 0;
  padding-left: 1.25rem;
}

#nyflc-calculator .nyflc-disclaimer li {
  margin-bottom: 0.35rem;
}

/* ── Error state ───────────────────────────────────────────────── */
#nyflc-calculator .nyflc-input-wrap input.nyflc-error {
  border-color: #cc3333;
  box-shadow: 0 0 0 2px rgba(204, 51, 51, 0.12);
}

/* ── Add-on / above-cap section ───────────────────────────────── */
#nyflc-calculator .nyflc-addon-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

#nyflc-calculator .nyflc-addon-row label {
  flex: 1;
  font-size: 0.85rem;
  color: var(--nyflc-navy);
  min-width: 180px;
}

#nyflc-calculator .nyflc-addon-row .nyflc-input-wrap {
  width: 160px;
  flex-shrink: 0;
}

#nyflc-calculator .nyflc-addon-row .nyflc-input-wrap input {
  font-size: 0.85rem;
  text-align: right;
}

#nyflc-calculator .nyflc-indent {
  margin-left: 1.5rem;
  margin-top: 0.35rem;
}

/* ── Name inputs ──────────────────────────────────────────────── */
#nyflc-calculator .nyflc-name-input {
  width: 100%;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--nyflc-border);
  border-radius: var(--nyflc-radius);
  font-family: var(--nyflc-body-font);
  font-size: 0.95rem;
  color: var(--nyflc-navy);
  background: var(--nyflc-white);
  box-sizing: border-box;
  transition: border-color 200ms ease-out;
}

#nyflc-calculator .nyflc-name-input:focus {
  outline: none;
  border-color: var(--nyflc-secondary);
  box-shadow: 0 0 0 2px rgba(0, 94, 148, 0.15);
}

#nyflc-calculator .nyflc-optional {
  font-family: var(--nyflc-body-font);
  font-size: 0.78rem;
  font-weight: 400;
  color: var(--nyflc-gray);
}

/* ── Tax estimation ──────────────────────────────────────────── */
#nyflc-calculator .nyflc-tax-mode {
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--nyflc-light-gray);
}

#nyflc-calculator .nyflc-radio-group--horizontal {
  flex-direction: row;
  gap: 1.25rem;
}

#nyflc-calculator .nyflc-locality-row {
  display: flex;
  gap: 1.25rem;
  margin-top: 0.75rem;
}

#nyflc-calculator .nyflc-locality-field {
  flex: 1;
}

#nyflc-calculator .nyflc-locality-field label {
  display: block;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--nyflc-navy);
  margin-bottom: 0.35rem;
}

#nyflc-calculator .nyflc-locality-field select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--nyflc-border);
  border-radius: var(--nyflc-radius);
  font-family: var(--nyflc-body-font);
  font-size: 0.85rem;
  color: var(--nyflc-navy);
  background: var(--nyflc-white);
  cursor: pointer;
  box-sizing: border-box;
}

#nyflc-calculator .nyflc-locality-field select:focus {
  outline: none;
  border-color: var(--nyflc-secondary);
  box-shadow: 0 0 0 2px rgba(0, 94, 148, 0.15);
}

#nyflc-calculator .nyflc-item-table .nyflc-input-wrap input.nyflc-estimated {
  background: var(--nyflc-light-bg);
  color: var(--nyflc-gray);
  font-style: italic;
  cursor: default;
}

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width: 600px) {
  #nyflc-calculator .nyflc-header,
  #nyflc-calculator .nyflc-form,
  #nyflc-calculator .nyflc-results {
    padding: 1.25rem 1.25rem;
  }

  #nyflc-calculator .nyflc-mode-bar {
    padding: 0.75rem 1.25rem;
  }

  #nyflc-calculator .nyflc-header h2 {
    font-size: 1.3rem;
  }

  #nyflc-calculator .nyflc-row {
    flex-direction: column;
    gap: 0.75rem;
  }

  #nyflc-calculator .nyflc-field,
  #nyflc-calculator .nyflc-field--narrow {
    flex: 1 1 100%;
  }

  #nyflc-calculator .nyflc-cards {
    flex-direction: column;
  }

  #nyflc-calculator .nyflc-card-amount {
    font-size: 1.5rem;
  }

  #nyflc-calculator .nyflc-card-periods {
    flex-direction: column;
    gap: 0.25rem;
  }

  /* Stack income/deduction table on mobile */
  #nyflc-calculator .nyflc-item-table th:not(:first-child),
  #nyflc-calculator .nyflc-item-table td:not(:first-child) {
    width: 90px;
  }

  #nyflc-calculator .nyflc-item-table .nyflc-input-wrap {
    min-width: 80px;
  }

  #nyflc-calculator .nyflc-item-table .nyflc-input-wrap input {
    padding-left: 1.25rem;
    font-size: 0.8rem;
  }

  #nyflc-calculator .nyflc-addon-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
  }

  #nyflc-calculator .nyflc-addon-row .nyflc-input-wrap {
    width: 100%;
  }

  #nyflc-calculator .nyflc-section-body {
    padding: 0.5rem 0.5rem;
    overflow-x: auto;
  }

  #nyflc-calculator .nyflc-radio-group--horizontal {
    flex-direction: column;
    gap: 0.5rem;
  }

  #nyflc-calculator .nyflc-locality-row {
    flex-direction: column;
    gap: 0.75rem;
  }
}

/* ── Quick summary banner ─────────────────────────────────────── */
#nyflc-calculator .nyflc-quick-summary {
  background: var(--nyflc-primary);
  color: var(--nyflc-white);
  border-radius: var(--nyflc-radius);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}

#nyflc-calculator .nyflc-qs-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.7;
  margin: 0 0 0.75rem;
}

#nyflc-calculator .nyflc-qs-grid {
  display: flex;
  text-align: center;
}

#nyflc-calculator .nyflc-qs-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

#nyflc-calculator .nyflc-qs-total {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

#nyflc-calculator .nyflc-qs-sub {
  font-size: 0.7rem;
  opacity: 0.65;
}

#nyflc-calculator .nyflc-qs-amt {
  font-family: var(--nyflc-heading-font);
  font-size: 1.25rem;
  font-weight: 700;
}

#nyflc-calculator .nyflc-qs-mo {
  font-size: 0.7rem;
  opacity: 0.65;
}

/* ── CTA block ────────────────────────────────────────────────── */
#nyflc-calculator .nyflc-cta {
  margin: 2rem 0 0;
}

#nyflc-calculator .nyflc-cta-box {
  display: flex;
  border: 2px solid #000;
  border-radius: 50px;
  overflow: hidden;
}

#nyflc-calculator .nyflc-cta-content {
  flex: 3;
  background: #005e94;
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

#nyflc-calculator .nyflc-cta-heading {
  font-family: var(--nyflc-heading-font);
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  margin: 0 0 0.75rem;
}

#nyflc-calculator .nyflc-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 60px;
  padding: 0.75rem 1.5rem;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-family: var(--nyflc-body-font);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  transition: background 200ms;
  box-sizing: border-box;
}

#nyflc-calculator .nyflc-cta-btn:hover {
  background: rgba(255, 255, 255, 0.28);
  color: #fff;
  text-decoration: none;
}

#nyflc-calculator .nyflc-cta-btn svg {
  fill: #fff;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

#nyflc-calculator .nyflc-cta-logo {
  flex: 2;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 75%;
  min-height: 200px;
}

@media (max-width: 767px) {
  #nyflc-calculator .nyflc-cta-logo { display: none; }
  #nyflc-calculator .nyflc-cta-content { border-radius: 0; }
}

/* ── FAQ accordion ───────────────────────────────────────────── */
#nyflc-calculator .nyflc-faq {
  margin: 2rem 0 0;
}
#nyflc-calculator .nyflc-faq-heading {
  font-family: var(--nyflc-heading-font);
  font-size: 1.3rem;
  color: var(--nyflc-primary);
  margin: 0 0 1rem;
}
#nyflc-calculator .nyflc-faq-item {
  border: 1px solid #d0d5dd;
  border-radius: var(--nyflc-radius);
  margin-bottom: 0.5rem;
  background: var(--nyflc-white);
}
#nyflc-calculator .nyflc-faq-item summary {
  font-family: var(--nyflc-heading-font);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--nyflc-primary);
  padding: 0.85rem 1rem;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
#nyflc-calculator .nyflc-faq-item summary::-webkit-details-marker { display: none; }
#nyflc-calculator .nyflc-faq-item summary::after {
  content: "+";
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--nyflc-secondary);
  flex-shrink: 0;
  transition: transform 200ms;
}
#nyflc-calculator .nyflc-faq-item[open] summary::after {
  content: "\2212";
}
#nyflc-calculator .nyflc-faq-body {
  padding: 0 1rem 1rem;
  font-size: 0.88rem;
  line-height: 1.65;
  color: #333;
}
#nyflc-calculator .nyflc-faq-body p { margin: 0 0 0.75rem; }
#nyflc-calculator .nyflc-faq-body p:last-child { margin-bottom: 0; }
#nyflc-calculator .nyflc-faq-body a {
  color: var(--nyflc-secondary);
  text-decoration: underline;
}
#nyflc-calculator .nyflc-faq-body a:hover { color: var(--nyflc-primary); }

/* ── Print button ─────────────────────────────────────────────── */
#nyflc-calculator .nyflc-print-wrap {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* ── Print styles ─────────────────────────────────────────────── */
@media print {
  body { background: white !important; margin: 0; padding: 0.5rem; }
  #nyflc-calculator.nyflc { max-width: 100%; margin: 0; }

  #nyflc-calculator .nyflc-fieldset,
  #nyflc-calculator .nyflc-section,
  #nyflc-calculator .nyflc-net-income-summary,
  #nyflc-calculator .nyflc-area-header,
  #nyflc-calculator .nyflc-section-divider,
  #nyflc-calculator .nyflc-btn,
  #nyflc-calculator .nyflc-print-wrap,
  #nyflc-calculator .nyflc-cta,
  #nyflc-calculator .nyflc-faq,
  #nyflc-calculator #nyflc-abovecap-section,
  #nyflc-calculator #nyflc-cs-net-income { display: none !important; }

  #nyflc-calculator .nyflc-card {
    box-shadow: none !important;
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  #nyflc-calculator #nyflc-cs-card { page-break-before: always; }
  #nyflc-calculator .nyflc-comparison { page-break-before: always; }

  #nyflc-calculator .nyflc-card,
  #nyflc-calculator .nyflc-comparison-table,
  #nyflc-calculator .nyflc-ws-final td,
  #nyflc-calculator .nyflc-ws-result td,
  #nyflc-calculator .nyflc-ws-label td,
  #nyflc-calculator .nyflc-ssr-notice {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  #nyflc-calculator .nyflc-results { padding: 0 !important; }
  #nyflc-calculator .nyflc-comparison-table { page-break-inside: avoid; }
  #nyflc-calculator .nyflc-disclaimer { font-size: 0.7rem; }
}

/* ── Spacing lock ──────────────────────────────────────────────────
   GENERATED by regen-spacing-lock.py — do not hand-edit.

   The theme applies !important to its form and layout styles, which no
   amount of ordinary specificity can outrank, and it sets a 45px
   accessibility touch-target min-height on labels. The blanket rule
   below strips theme-injected box metrics from anything the calculator
   does not style; the generated rules then restore the calculator's own
   values at a weight the theme cannot beat.

   Every value here is copied from a rule earlier in this file. After
   changing spacing above, re-run the script to regenerate this. */
#nyflc-calculator#nyflc-calculator * {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Two carve-outs from the blanket, both restoring browser defaults the
   calculator relies on rather than any theme value: <small> is meant to
   render smaller than its surroundings, and form controls size their own
   line box — inheriting the container's 1.6 would stretch every button. */
#nyflc-calculator#nyflc-calculator small {
  font-size: 0.8em !important;
}

#nyflc-calculator#nyflc-calculator input,
#nyflc-calculator#nyflc-calculator select,
#nyflc-calculator#nyflc-calculator button,
#nyflc-calculator#nyflc-calculator textarea {
  line-height: normal !important;
}

#nyflc-calculator#nyflc-calculator.nyflc {
  margin: 2rem auto !important;
  line-height: 1.6 !important;
  font-size: 15px !important;
}

#nyflc-calculator#nyflc-calculator div,
#nyflc-calculator#nyflc-calculator span,
#nyflc-calculator#nyflc-calculator p,
#nyflc-calculator#nyflc-calculator h2,
#nyflc-calculator#nyflc-calculator h3,
#nyflc-calculator#nyflc-calculator h4,
#nyflc-calculator#nyflc-calculator h5,
#nyflc-calculator#nyflc-calculator h6,
#nyflc-calculator#nyflc-calculator ul,
#nyflc-calculator#nyflc-calculator ol,
#nyflc-calculator#nyflc-calculator li,
#nyflc-calculator#nyflc-calculator dl,
#nyflc-calculator#nyflc-calculator dt,
#nyflc-calculator#nyflc-calculator dd,
#nyflc-calculator#nyflc-calculator form,
#nyflc-calculator#nyflc-calculator fieldset,
#nyflc-calculator#nyflc-calculator legend,
#nyflc-calculator#nyflc-calculator label,
#nyflc-calculator#nyflc-calculator table,
#nyflc-calculator#nyflc-calculator thead,
#nyflc-calculator#nyflc-calculator tbody,
#nyflc-calculator#nyflc-calculator tr,
#nyflc-calculator#nyflc-calculator th,
#nyflc-calculator#nyflc-calculator td,
#nyflc-calculator#nyflc-calculator hr,
#nyflc-calculator#nyflc-calculator img,
#nyflc-calculator#nyflc-calculator details,
#nyflc-calculator#nyflc-calculator summary,
#nyflc-calculator#nyflc-calculator input,
#nyflc-calculator#nyflc-calculator select,
#nyflc-calculator#nyflc-calculator textarea,
#nyflc-calculator#nyflc-calculator button {
  margin: 0 !important;
  padding: 0 !important;
}

#nyflc-calculator#nyflc-calculator div,
#nyflc-calculator#nyflc-calculator span,
#nyflc-calculator#nyflc-calculator p,
#nyflc-calculator#nyflc-calculator h2,
#nyflc-calculator#nyflc-calculator h3,
#nyflc-calculator#nyflc-calculator h4,
#nyflc-calculator#nyflc-calculator h5,
#nyflc-calculator#nyflc-calculator h6,
#nyflc-calculator#nyflc-calculator ul,
#nyflc-calculator#nyflc-calculator ol,
#nyflc-calculator#nyflc-calculator li,
#nyflc-calculator#nyflc-calculator dl,
#nyflc-calculator#nyflc-calculator dt,
#nyflc-calculator#nyflc-calculator dd,
#nyflc-calculator#nyflc-calculator legend,
#nyflc-calculator#nyflc-calculator label,
#nyflc-calculator#nyflc-calculator th,
#nyflc-calculator#nyflc-calculator td,
#nyflc-calculator#nyflc-calculator details,
#nyflc-calculator#nyflc-calculator summary {
  font-size: inherit !important;
  line-height: inherit !important;
}

#nyflc-calculator#nyflc-calculator input[type="radio"],
#nyflc-calculator#nyflc-calculator input[type="checkbox"] {
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-field label,
#nyflc-calculator#nyflc-calculator .nyflc-locality-field label {
  margin: 0 0 0.35rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-addon-row label {
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-radio {
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-checkbox {
  margin: 0 0 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-radio-group {
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-row,
#nyflc-calculator#nyflc-calculator .nyflc-field,
#nyflc-calculator#nyflc-calculator .nyflc-field--narrow,
#nyflc-calculator#nyflc-calculator .nyflc-input-wrap {
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-fieldset {
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
}

#nyflc-calculator#nyflc-calculator input,
#nyflc-calculator#nyflc-calculator select,
#nyflc-calculator#nyflc-calculator textarea {
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-item summary::after {
  height: auto !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-header {
  padding: 1.75rem 2rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-logo {
  height: auto !important;
  margin: 0 auto 1rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-header h2 {
  font-size: 1.6rem !important;
  margin: 0 0 0.35rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-header .nyflc-subtitle {
  font-size: 0.88rem !important;
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-area-header {
  font-size: 1.1rem !important;
  margin: 1.75rem 0 0.5rem !important;
  padding: 0.5rem 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-mode-bar {
  padding: 0.75rem 2rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-mode-btn {
  padding: 0.5rem 1rem !important;
  font-size: 0.82rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-form {
  padding: 1.75rem 2rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-fieldset {
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-fieldset legend {
  font-size: 1.05rem !important;
  margin-bottom: 0.75rem !important;
  padding: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-field label {
  font-size: 0.82rem !important;
  margin-bottom: 0.35rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-dollar {
  font-size: 0.95rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-input-wrap input {
  padding: 0.6rem 0.75rem 0.6rem 1.75rem !important;
  font-size: 0.95rem !important;
}

#nyflc-calculator#nyflc-calculator.nyflc select {
  padding: 0.6rem 0.75rem !important;
  font-size: 0.95rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-help {
  font-size: 0.82rem !important;
  margin: 0 0 0.65rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-radio {
  font-size: 0.9rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-radio input[type="radio"] {
  height: 16px !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-checkbox {
  font-size: 0.9rem !important;
  margin-bottom: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-checkbox input[type="checkbox"] {
  height: 16px !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-btn {
  font-size: 0.95rem !important;
  padding: 0.7rem 2.25rem !important;
  margin-top: 0.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-btn--secondary {
  font-size: 0.88rem !important;
  padding: 0.55rem 1.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-btn--outline {
  font-size: 0.85rem !important;
  padding: 0.55rem 1.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-section-divider {
  margin: 1rem 0 !important;
}

#nyflc-calculator#nyflc-calculator #nyflc-maint-deviate-fieldset .nyflc-abovecap-action {
  padding-top: 2.1rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-section {
  margin-bottom: 1rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-section-toggle {
  padding: 0.75rem 1rem !important;
  font-size: 0.88rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-section-summary {
  margin-left: auto !important;
  font-size: 0.82rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-chevron {
  font-size: 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-section-body {
  padding: 0.75rem 1rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-item-table th {
  font-size: 0.75rem !important;
  padding: 0.35rem 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-item-table td {
  padding: 0.25rem 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-item-table td:first-child {
  font-size: 0.82rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-item-table .nyflc-input-wrap input {
  padding: 0.35rem 0.5rem 0.35rem 1.5rem !important;
  font-size: 0.85rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-item-table .nyflc-dollar {
  font-size: 0.82rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-total-row td {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-total-row td:not(:first-child) {
  font-size: 0.9rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-results {
  padding: 1.75rem 2rem 2rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-results h3 {
  font-size: 1.2rem !important;
  margin: 0 0 1.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cards {
  margin-bottom: 1.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-card {
  padding: 1.25rem 1.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-card-label {
  font-size: 0.78rem !important;
  margin-bottom: 0.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-card-amount {
  font-size: 1.8rem !important;
  line-height: 1.2 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-card-period {
  font-size: 0.78rem !important;
  margin-bottom: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-card-periods {
  margin-bottom: 1rem !important;
  padding-bottom: 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-card-periods span {
  font-size: 0.82rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-detail-table {
  font-size: 0.82rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-detail-table td {
  padding: 0.3rem 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-detail-table .nyflc-detail-subtotal td {
  padding-top: 0.4rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-detail-table .nyflc-detail-header td {
  font-size: 0.75rem !important;
  padding-top: 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-summary {
  padding: 1rem 1.25rem !important;
  font-size: 0.88rem !important;
  line-height: 1.7 !important;
  margin-bottom: 1.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-comparison {
  margin-bottom: 1.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-comparison h4 {
  font-size: 1rem !important;
  margin: 0 0 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-comparison-table {
  font-size: 0.88rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-comparison-table th,
#nyflc-calculator#nyflc-calculator .nyflc-comparison-table td {
  padding: 0.5rem 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-comparison-table th {
  font-size: 0.8rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cmp-dir {
  font-size: 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cmp-note {
  font-size: 0.78rem !important;
  margin-top: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-line-num {
  font-size: 0.8rem !important;
  margin-right: 0.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-worksheet {
  margin-bottom: 0.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-worksheet th {
  font-size: 0.75rem !important;
  padding: 0.35rem 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-worksheet-sub {
  font-size: 0.82rem !important;
  margin: 0.75rem 0 0.25rem !important;
  padding-top: 0.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-worksheet-divider {
  margin-top: 1rem !important;
  padding-top: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-ssr-notice {
  padding: 0.75rem 1rem !important;
  margin: 0.75rem 0 !important;
  font-size: 0.9em !important;
  line-height: 1.5 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-ssr-notice p {
  margin: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-no-maint-msg {
  margin: 0.75rem 0 !important;
  padding: 0.5rem 0 !important;
  font-size: 0.9rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-ws-label td {
  padding-top: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-ws-result td {
  padding-bottom: 0.35rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-ws-final td {
  padding: 0.5rem 0 !important;
  font-size: 0.88rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-net-income-summary {
  padding: 1rem 1.5rem !important;
  margin: 1.5rem 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-net-income-title {
  font-size: 1rem !important;
  margin: 0 0 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-deviate-direction {
  margin-top: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-deviate-direction-label {
  font-size: 0.85rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-disclaimer {
  font-size: 0.75rem !important;
  line-height: 1.6 !important;
  padding-top: 1rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-disclaimer p {
  margin: 0 0 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-disclaimer ul {
  margin: 0.25rem 0 0 !important;
  padding-left: 1.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-disclaimer li {
  margin-bottom: 0.35rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-addon-row {
  margin-bottom: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-addon-row label {
  font-size: 0.85rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-addon-row .nyflc-input-wrap input {
  font-size: 0.85rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-indent {
  margin-left: 1.5rem !important;
  margin-top: 0.35rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-name-input {
  padding: 0.6rem 0.75rem !important;
  font-size: 0.95rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-optional {
  font-size: 0.78rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-tax-mode {
  margin-bottom: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-locality-row {
  margin-top: 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-locality-field label {
  font-size: 0.82rem !important;
  margin-bottom: 0.35rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-locality-field select {
  padding: 0.5rem 0.75rem !important;
  font-size: 0.85rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-quick-summary {
  padding: 1.25rem !important;
  margin-bottom: 1.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-qs-label {
  font-size: 0.75rem !important;
  margin: 0 0 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-qs-sub {
  font-size: 0.7rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-qs-amt {
  font-size: 1.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-qs-mo {
  font-size: 0.7rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cta {
  margin: 2rem 0 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cta-content {
  padding: 2.5rem 2rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cta-heading {
  font-size: 1.4rem !important;
  margin: 0 0 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cta-btn {
  min-height: 60px !important;
  padding: 0.75rem 1.5rem !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cta-btn svg {
  height: 32px !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-cta-logo {
  min-height: 200px !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq {
  margin: 2rem 0 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-heading {
  font-size: 1.3rem !important;
  margin: 0 0 1rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-item {
  margin-bottom: 0.5rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-item summary {
  font-size: 0.95rem !important;
  padding: 0.85rem 1rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-item summary::after {
  font-size: 1.25rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-body {
  padding: 0 1rem 1rem !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-body p {
  margin: 0 0 0.75rem !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-faq-body p:last-child {
  margin-bottom: 0 !important;
}

#nyflc-calculator#nyflc-calculator .nyflc-print-wrap {
  margin-bottom: 1rem !important;
}

@media (max-width: 560px) {
  #nyflc-calculator#nyflc-calculator .nyflc-abovecap-row .nyflc-abovecap-action {
    padding-top: 0 !important;
  }
}

@media (max-width: 600px) {
  #nyflc-calculator#nyflc-calculator .nyflc-header,
  #nyflc-calculator#nyflc-calculator .nyflc-form,
  #nyflc-calculator#nyflc-calculator .nyflc-results {
    padding: 1.25rem 1.25rem !important;
  }

  #nyflc-calculator#nyflc-calculator .nyflc-mode-bar {
    padding: 0.75rem 1.25rem !important;
  }

  #nyflc-calculator#nyflc-calculator .nyflc-header h2 {
    font-size: 1.3rem !important;
  }

  #nyflc-calculator#nyflc-calculator .nyflc-card-amount {
    font-size: 1.5rem !important;
  }

  #nyflc-calculator#nyflc-calculator .nyflc-item-table .nyflc-input-wrap input {
    padding-left: 1.25rem !important;
    font-size: 0.8rem !important;
  }

  #nyflc-calculator#nyflc-calculator .nyflc-section-body {
    padding: 0.5rem 0.5rem !important;
  }
}

@media print {
  #nyflc-calculator#nyflc-calculator.nyflc {
    margin: 0 !important;
  }

  #nyflc-calculator#nyflc-calculator .nyflc-results {
    padding: 0 !important;
  }

  #nyflc-calculator#nyflc-calculator .nyflc-disclaimer {
    font-size: 0.7rem !important;
  }
}
