/* NY Custody Calculator: branded for SuffolkDivorceLawyer.com.
   Colors, fonts and theme defenses follow the support calculator
   (ny-family-law-calc). Every rule is scoped to #nycc-calculator. */

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

/* ── Variables ─────────────────────────────────────────────────── */
#nycc-calculator.nycc {
  --nycc-primary:      #103d5b;
  --nycc-secondary:    #005e94;
  --nycc-alternate:    #cfe4f2;
  --nycc-light-bg:     #e9f5f7;
  --nycc-navy:         #070b2e;
  --nycc-gray:         #5f6272;
  --nycc-border:       #c0c3d3;
  --nycc-light-gray:   #efefef;
  --nycc-white:        #ffffff;
  --nycc-a:            #103d5b;   /* Parent A: brand navy */
  --nycc-a-text:       #ffffff;
  --nycc-b:            #cfe4f2;   /* Parent B: brand light blue */
  --nycc-b-text:       #103d5b;
  --nycc-b-edge:       #9fc3dc;   /* border so light blue holds against white */
  --nycc-body-font:    'Poppins', sans-serif;
  --nycc-heading-font: 'Merriweather', serif;
  --nycc-radius:       4px;
}

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

/* ── Theme insulation (same approach as the support calculator) ── */
#nycc-calculator#nycc-calculator,
#nycc-calculator#nycc-calculator *,
#nycc-calculator#nycc-calculator *::before,
#nycc-calculator#nycc-calculator *::after {
  box-sizing: border-box;
}

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

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

#nycc-calculator table {
  border-collapse: collapse;
  border-spacing: 0;
}

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

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

#nycc-calculator#nycc-calculator input[type="radio"],
#nycc-calculator#nycc-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;
  margin: 0;
  flex: 0 0 auto;
  accent-color: var(--nycc-secondary);
}

#nycc-calculator#nycc-calculator label::before,
#nycc-calculator#nycc-calculator label::after,
#nycc-calculator#nycc-calculator button::before,
#nycc-calculator#nycc-calculator button::after,
#nycc-calculator#nycc-calculator li::before,
#nycc-calculator#nycc-calculator li::after,
#nycc-calculator#nycc-calculator summary::before {
  content: none !important;
  display: none !important;
}

#nycc-calculator#nycc-calculator ul { list-style: disc outside !important; }
#nycc-calculator#nycc-calculator li {
  list-style: inherit !important;
  background-image: none !important;
  position: static !important;
}

#nycc-calculator#nycc-calculator .nycc-check,
#nycc-calculator#nycc-calculator .nycc-radio {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  float: none !important;
  color: var(--nycc-navy) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#nycc-calculator#nycc-calculator .nycc-field > label,
#nycc-calculator#nycc-calculator .nycc-lbl {
  color: var(--nycc-navy) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

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

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

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

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

#nycc-calculator .nycc-privacy {
  background: var(--nycc-light-bg);
  border: 1px solid var(--nycc-border);
  border-top: none;
  text-align: center;
  font-size: 0.82rem;
  color: var(--nycc-primary);
  padding: 0.5rem 1rem;
}

/* ── App panel and sections ────────────────────────────────────── */
#nycc-calculator .nycc-app {
  background: var(--nycc-white);
  border: 1px solid var(--nycc-border);
  border-top: none;
  padding: 1.5rem 2rem 2rem;
}

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

#nycc-calculator .nycc-area-header:first-child { margin-top: 0; }

#nycc-calculator .nycc-fieldset {
  border: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

#nycc-calculator .nycc-legend {
  font-family: var(--nycc-heading-font);
  font-size: 1rem;
  font-weight: 700;
  color: var(--nycc-primary);
  margin: 0 0 0.6rem;
}

#nycc-calculator .nycc-help {
  font-size: 0.82rem;
  color: var(--nycc-gray);
  margin: 0 0 0.65rem;
}

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

#nycc-calculator .nycc-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 0.75rem;
}

#nycc-calculator .nycc-field { flex: 1 1 200px; min-width: 0; }
#nycc-calculator .nycc-field--narrow { flex: 0 1 170px; }

#nycc-calculator .nycc-field > label,
#nycc-calculator .nycc-lbl {
  display: block;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--nycc-navy);
  margin-bottom: 0.3rem;
}

#nycc-calculator.nycc input[type="text"],
#nycc-calculator.nycc input[type="date"],
#nycc-calculator.nycc input[type="number"],
#nycc-calculator.nycc select {
  width: 100%;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--nycc-border);
  border-radius: var(--nycc-radius);
  font-family: var(--nycc-body-font);
  font-size: 0.9rem;
  color: var(--nycc-navy);
  background: var(--nycc-white);
  height: auto;
}

#nycc-calculator.nycc input:focus,
#nycc-calculator.nycc select:focus,
#nycc-calculator.nycc button:focus-visible {
  outline: none;
  border-color: var(--nycc-secondary);
  box-shadow: 0 0 0 2px rgba(0, 94, 148, 0.25);
}

#nycc-calculator .nycc-name-row { display: flex; align-items: center; gap: 0.5rem; }

#nycc-calculator .nycc-swatch {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 2px;
  flex: 0 0 14px;
}

#nycc-calculator .nycc-swatch.is-A { background: var(--nycc-a); }
#nycc-calculator .nycc-swatch.is-B { background: var(--nycc-b); box-shadow: inset 0 0 0 1px var(--nycc-b-edge); }

#nycc-calculator .nycc-check,
#nycc-calculator .nycc-radio {
  font-size: 0.88rem;
  color: var(--nycc-navy);
  cursor: pointer;
  margin: 0 0 0.4rem;
}

#nycc-calculator .nycc-inline { display: inline-flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; }
#nycc-calculator.nycc .nycc-inline input[type="date"] { width: 150px; }
#nycc-calculator .nycc-table .nycc-inline { margin: 0.1rem 0.4rem 0.1rem 0; }

/* ── Buttons ───────────────────────────────────────────────────── */
#nycc-calculator .nycc-btn {
  display: inline-block;
  background: var(--nycc-primary);
  color: var(--nycc-white);
  font-family: var(--nycc-body-font);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.6rem 1.5rem;
  border: 2px solid var(--nycc-primary);
  border-radius: var(--nycc-radius);
  cursor: pointer;
  text-decoration: none;
  transition: background 200ms ease-out, border-color 200ms ease-out;
}

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

#nycc-calculator .nycc-btn--secondary {
  background: var(--nycc-white);
  color: var(--nycc-primary);
  border-color: var(--nycc-primary);
}

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

#nycc-calculator .nycc-btn--small {
  font-size: 0.78rem;
  font-weight: 500;
  padding: 0.3rem 0.75rem;
  border-width: 1px;
}

#nycc-calculator .nycc-btn--outline {
  background: transparent;
  color: #555;
  border-color: #999;
}

#nycc-calculator .nycc-btn--outline:hover { background: #f0f0f0; color: #333; }
#nycc-calculator .nycc-btn:disabled,
#nycc-calculator .nycc-btn:disabled:hover { opacity: 0.45; cursor: not-allowed; background: var(--nycc-white); color: var(--nycc-primary); border-color: var(--nycc-border); }

#nycc-calculator .nycc-link {
  background: none;
  border: none;
  color: var(--nycc-secondary);
  font: inherit;
  font-size: 0.8rem;
  line-height: inherit;   /* stated so the spacing lock keeps it (buttons default to normal) */
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}

/* ── Preset gallery ────────────────────────────────────────────── */
#nycc-calculator .nycc-gallery,
#nycc-calculator .nycc-gallery-cards { position: relative; }

#nycc-calculator .nycc-chips { position: relative; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 0.9rem; }

#nycc-calculator .nycc-chip {
  position: relative;
  z-index: 1;
  font-family: var(--nycc-body-font);
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--nycc-primary);
  background: var(--nycc-white);
  border: 1px solid var(--nycc-border);
  border-radius: 999px;
  padding: 0.25rem 0.8rem;
  cursor: pointer;
  /* Leaving the active state: the label turns back to navy as the highlight
     slides away. Entering it (.is-on below): it turns white as the highlight
     arrives. Timed to the 380 ms slide in custody-form.js. */
  transition: color 140ms ease 100ms, border-color 180ms ease;
}

#nycc-calculator .nycc-chips.has-pill .nycc-chip.is-on { transition: color 160ms ease 210ms, border-color 180ms ease; }

#nycc-calculator .nycc-chip:hover { border-color: var(--nycc-secondary); }
#nycc-calculator .nycc-chip.is-on { background: var(--nycc-primary); border-color: var(--nycc-primary); color: var(--nycc-white); }

/* The sliding highlight. Chips go transparent only once the script has placed
   the pill (.has-pill), so the active chip never loses its background. */
#nycc-calculator .nycc-chip-pill {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  z-index: 0;
  border-radius: 999px;
  background: var(--nycc-primary);
  pointer-events: none;
}

#nycc-calculator .nycc-chips.has-pill .nycc-chip { background: transparent; }
#nycc-calculator .nycc-chips.has-pill .nycc-chip.is-on { background: transparent; }

#nycc-calculator .nycc-ghost { z-index: 0; }

#nycc-calculator .nycc-group-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--nycc-gray);
  margin: 0.9rem 0 0.4rem;
}

#nycc-calculator .nycc-presets {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 0.6rem;
}

#nycc-calculator .nycc-preset {
  display: block;
  width: 100%;
  text-align: left;
  background: var(--nycc-white);
  border: 1px solid var(--nycc-border);
  border-radius: var(--nycc-radius);
  padding: 0.65rem 0.75rem;
  cursor: pointer;
  font-family: var(--nycc-body-font);
  color: var(--nycc-gray);
  transition: border-color 150ms, background 150ms;
}

#nycc-calculator .nycc-preset:hover { border-color: var(--nycc-secondary); }
#nycc-calculator .nycc-preset.is-active { border: 2px solid var(--nycc-primary); background: var(--nycc-light-bg); padding: calc(0.65rem - 1px) calc(0.75rem - 1px); }

#nycc-calculator .nycc-preset-name {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--nycc-primary);
  line-height: 1.35;
  margin-bottom: 0.2rem;
}

#nycc-calculator .nycc-preset-note { display: block; font-size: 0.75rem; line-height: 1.45; margin-bottom: 0.4rem; }

#nycc-calculator .nycc-mini {
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  gap: 1px;
  margin-bottom: 0.3rem;
}

#nycc-calculator .nycc-mini span { height: 8px; border-radius: 1px; }
#nycc-calculator .nycc-mini .is-A { background: var(--nycc-a); }
#nycc-calculator .nycc-mini .is-B { background: var(--nycc-b); box-shadow: inset 0 0 0 1px var(--nycc-b-edge); }

#nycc-calculator .nycc-preset-meta { display: block; font-size: 0.72rem; color: var(--nycc-gray); }

/* ── Pattern editor ────────────────────────────────────────────── */
#nycc-calculator .nycc-grid {
  display: grid;
  grid-template-columns: 56px repeat(7, minmax(0, 1fr));
  gap: 3px;
  margin: 0.4rem 0 0.6rem;
}

#nycc-calculator .nycc-grid-head,
#nycc-calculator .nycc-grid-week {
  font-size: 0.72rem;
  color: var(--nycc-gray);
  text-align: center;
  align-self: center;
}

#nycc-calculator .nycc-grid-week { text-align: left; }

#nycc-calculator .nycc-cell {
  height: 34px;
  border: 1px solid transparent;
  border-radius: 3px;
  font-family: var(--nycc-body-font);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
}

#nycc-calculator .nycc-cell.is-A { background: var(--nycc-a); color: var(--nycc-a-text); }
#nycc-calculator .nycc-cell.is-B { background: var(--nycc-b); color: var(--nycc-b-text); border-color: var(--nycc-b-edge); }
#nycc-calculator .nycc-cell.is-empty { background: transparent; cursor: default; }

#nycc-calculator .nycc-tools { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-bottom: 0.75rem; }

/* ── Tables (holidays, breaks, stats, worksheet) ───────────────── */
#nycc-calculator .nycc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  margin: 0.25rem 0 0.75rem;
}

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

#nycc-calculator .nycc-table td {
  padding: 0.35rem 0.4rem;
  border-bottom: 1px solid var(--nycc-light-gray);
  vertical-align: middle;
  color: var(--nycc-navy);
}

#nycc-calculator .nycc-table td.num,
#nycc-calculator .nycc-table th.num { text-align: right; font-variant-numeric: tabular-nums; }

#nycc-calculator .nycc-table select { padding: 0.3rem 0.4rem; font-size: 0.8rem; }
#nycc-calculator .nycc-table input[type="date"] { padding: 0.3rem 0.4rem; font-size: 0.8rem; }

#nycc-calculator .nycc-table .nycc-ws-final td {
  font-weight: 700;
  color: var(--nycc-primary);
  border-top: 2px solid var(--nycc-primary);
  border-bottom: 2px solid var(--nycc-primary);
}

#nycc-calculator .nycc-muted { color: var(--nycc-gray); font-size: 0.75rem; }

#nycc-calculator .nycc-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b5a12;
  background: #fef9e7;
  border: 1px solid #e8d48a;
  border-radius: 3px;
  padding: 0 0.35rem;
  margin-left: 0.35rem;
}

#nycc-calculator .nycc-times-edit { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; margin-top: 0.3rem; }
#nycc-calculator .nycc-times-edit select { width: auto; }

/* ── Results ───────────────────────────────────────────────────── */
#nycc-calculator .nycc-results {
  background: var(--nycc-light-bg);
  border: 1px solid var(--nycc-border);
  border-radius: var(--nycc-radius);
  padding: 1.25rem 1.5rem 1.5rem;
  margin-top: 1.5rem;
}

#nycc-calculator .nycc-results-title {
  font-family: var(--nycc-heading-font);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--nycc-primary);
  margin: 0 0 0.9rem;
}

#nycc-calculator .nycc-cards { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.75rem; }

#nycc-calculator .nycc-card {
  flex: 1 1 240px;
  background: var(--nycc-white);
  border: 1px solid var(--nycc-border);
  border-top: 3px solid var(--nycc-primary);
  padding: 0.9rem 1.1rem;
}

#nycc-calculator .nycc-card-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--nycc-gray);
}

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

#nycc-calculator .nycc-card-unit { font-family: var(--nycc-body-font); font-size: 0.8rem; font-weight: 400; color: var(--nycc-gray); }
#nycc-calculator .nycc-card-line { font-size: 0.8rem; color: var(--nycc-navy); }

#nycc-calculator .nycc-split { font-size: 0.85rem; color: var(--nycc-navy); margin: 0 0 0.3rem; }
#nycc-calculator .nycc-checkline { font-size: 0.75rem; color: var(--nycc-gray); margin: 0 0 1rem; }

#nycc-calculator .nycc-ny {
  background: var(--nycc-white);
  border: 1px solid var(--nycc-border);
  border-left: 4px solid var(--nycc-secondary);
  padding: 0.85rem 1.1rem;
  margin: 0 0 1.25rem;
}

#nycc-calculator .nycc-ny-title {
  font-family: var(--nycc-heading-font);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--nycc-primary);
  margin: 0 0 0.4rem;
}

#nycc-calculator .nycc-ny p { font-size: 0.85rem; color: var(--nycc-navy); margin: 0 0 0.5rem; }

#nycc-calculator .nycc-sub {
  font-family: var(--nycc-heading-font);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--nycc-primary);
  margin: 1.4rem 0 0.5rem;
}

#nycc-calculator .nycc-legend-row { display: flex; gap: 1rem; flex-wrap: wrap; font-size: 0.78rem; color: var(--nycc-navy); margin: 0 0 0.6rem; }
#nycc-calculator .nycc-legend-row span { display: inline-flex; align-items: center; gap: 0.35rem; }

/* ── Calendar ──────────────────────────────────────────────────── */
#nycc-calculator .nycc-months {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 0.9rem;
}

#nycc-calculator .nycc-month { background: var(--nycc-white); border: 1px solid var(--nycc-border); border-radius: var(--nycc-radius); padding: 0.5rem; }
#nycc-calculator .nycc-month-title { font-size: 0.8rem; font-weight: 600; color: var(--nycc-primary); margin: 0 0 0.3rem; }
#nycc-calculator .nycc-mgrid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
#nycc-calculator .nycc-dow { font-size: 0.65rem; color: var(--nycc-gray); text-align: center; }

#nycc-calculator .nycc-day {
  position: relative;
  height: 24px;
  border-radius: 2px;
  border: 1px solid transparent;
  font-family: var(--nycc-body-font);
  font-size: 0.68rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

#nycc-calculator .nycc-day.is-A { background: var(--nycc-a); color: var(--nycc-a-text); }
#nycc-calculator .nycc-day.is-B { background: var(--nycc-b); color: var(--nycc-b-text); border-color: var(--nycc-b-edge); }
#nycc-calculator .nycc-day.is-out { background: transparent; color: #bbb; cursor: default; }
#nycc-calculator .nycc-day.is-special::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 2px;
  right: 2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d4a017;
}
#nycc-calculator .nycc-day.is-exception { outline: 2px solid #d4a017; outline-offset: -2px; }
#nycc-calculator .nycc-day.is-selected { box-shadow: 0 0 0 2px var(--nycc-secondary); }
#nycc-calculator .nycc-month-total { font-size: 0.68rem; color: var(--nycc-gray); margin-top: 0.3rem; }

#nycc-calculator .nycc-night-panel {
  background: var(--nycc-white);
  border: 1px solid var(--nycc-border);
  border-left: 4px solid #d4a017;
  padding: 0.7rem 1rem;
  margin: 0.8rem 0 0;
  font-size: 0.85rem;
  color: var(--nycc-navy);
}

#nycc-calculator .nycc-summary-text { font-size: 0.85rem; color: var(--nycc-navy); }
#nycc-calculator .nycc-sum-sec { margin: 0 0 0.8rem; }
#nycc-calculator .nycc-sum-sec:last-child { margin-bottom: 0; }
#nycc-calculator#nycc-calculator .nycc-sum-h {
  font-family: var(--nycc-body-font);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--nycc-primary);
  margin: 0 0 0.25rem;
}
#nycc-calculator .nycc-sum-list { padding-left: 1.25rem; margin: 0; }
#nycc-calculator .nycc-sum-list li { padding-left: 0.2rem; margin: 0 0 0.2rem; }
#nycc-calculator .nycc-sum-list li:last-child { margin-bottom: 0; }
#nycc-calculator .nycc-sum-list li::marker { color: var(--nycc-secondary); }
#nycc-calculator .nycc-sum-k { font-weight: 600; }

#nycc-calculator .nycc-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; margin-top: 1.25rem; }

/* ── Method, disclaimer, reviewed line ─────────────────────────── */
#nycc-calculator .nycc-method {
  border: 1px solid var(--nycc-border);
  border-top: none;
  background: var(--nycc-white);
  padding: 1rem 2rem 1.25rem;
  font-size: 0.82rem;
}

#nycc-calculator .nycc-method-heading {
  font-family: var(--nycc-heading-font);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--nycc-primary);
  margin: 0 0 0.5rem;
}

#nycc-calculator .nycc-method ul { padding-left: 1.2rem; margin: 0 0 0.6rem; }
#nycc-calculator .nycc-method li { margin-bottom: 0.25rem; }
#nycc-calculator .nycc-reviewed { font-size: 0.78rem; color: var(--nycc-primary); font-weight: 500; margin: 0; }

#nycc-calculator .nycc-disclaimer {
  font-size: 0.75rem;
  line-height: 1.6;
  color: var(--nycc-gray);
  border: 1px solid var(--nycc-border);
  border-top: none;
  border-radius: 0 0 var(--nycc-radius) var(--nycc-radius);
  background: var(--nycc-white);
  padding: 0.9rem 2rem 1rem;
}

#nycc-calculator .nycc-disclaimer p { margin: 0; }
#nycc-calculator .nycc-print-footer { display: none; }

/* ── CTA (same design as the support calculator) ───────────────── */
#nycc-calculator .nycc-cta { margin: 2rem 0 0; }
#nycc-calculator .nycc-cta-box { display: flex; border: 2px solid #000; border-radius: 50px; overflow: hidden; }
#nycc-calculator .nycc-cta-content {
  flex: 3;
  background: #005e94;
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
#nycc-calculator .nycc-cta-heading { font-family: var(--nycc-heading-font); color: #fff !important; text-align: center; font-size: 1.4rem; margin: 0 0 0.75rem; }
#nycc-calculator .nycc-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(--nycc-body-font);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
#nycc-calculator .nycc-cta-btn:hover { background: rgba(255, 255, 255, 0.28); color: #fff; text-decoration: none; }
#nycc-calculator .nycc-cta-btn svg { fill: #fff; width: 32px; height: 32px; flex-shrink: 0; }
#nycc-calculator .nycc-cta-logo { flex: 2; background-position: center center; background-repeat: no-repeat; background-size: 75%; min-height: 200px; }

/* ── FAQ accordion (same design as the support calculator) ─────── */
#nycc-calculator .nycc-faq { margin: 2rem 0 0; }
#nycc-calculator .nycc-faq-heading {
  font-family: var(--nycc-heading-font);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--nycc-primary);
  margin: 0 0 1rem;
}
#nycc-calculator .nycc-faq-item {
  border: 1px solid #d0d5dd;
  border-radius: var(--nycc-radius);
  margin-bottom: 0.5rem;
  background: var(--nycc-white);
}
#nycc-calculator .nycc-faq-item summary {
  font-family: var(--nycc-heading-font);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--nycc-primary);
  padding: 0.85rem 1rem;
  cursor: pointer;
}
#nycc-calculator#nycc-calculator .nycc-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;
}
#nycc-calculator#nycc-calculator .nycc-faq-item summary::-webkit-details-marker { display: none !important; }
#nycc-calculator#nycc-calculator .nycc-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;
  font-family: var(--nycc-body-font);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--nycc-secondary);
}
#nycc-calculator#nycc-calculator .nycc-faq-item[open] summary::after { content: "\2212" !important; }
#nycc-calculator .nycc-faq-body { padding: 0 1rem 1rem; font-size: 0.88rem; line-height: 1.65; color: #333; }
#nycc-calculator .nycc-faq-body p { margin: 0 0 0.75rem; }
#nycc-calculator .nycc-faq-body p:last-child { margin-bottom: 0; }
#nycc-calculator .nycc-faq-body a { color: var(--nycc-secondary); text-decoration: underline; }
#nycc-calculator .nycc-faq-body a:hover { color: var(--nycc-primary); }
#nycc-calculator .nycc-faq-table { margin: 0 0 0.75rem; font-size: 0.85rem; }
#nycc-calculator .nycc-faq-table th,
#nycc-calculator .nycc-faq-table td { border: 1px solid var(--nycc-border); padding: 0.3rem 0.75rem; text-align: right; }
#nycc-calculator .nycc-faq-table th:first-child,
#nycc-calculator .nycc-faq-table td:first-child { text-align: left; }
#nycc-calculator .nycc-faq-table th { background: var(--nycc-alternate); color: var(--nycc-primary); font-weight: 600; }
#nycc-calculator .nycc-nowrap { white-space: nowrap; }

/* ── Review revisions (decisions.md build decision L) ──────────────
   Expandable optional sections with one-line summaries, field errors,
   the notice under the schedule editor, and the "not final yet" banner. */

/* Optional sections (item 12) */
#nycc-calculator .nycc-sections-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 2px solid var(--nycc-primary);
  margin: 1.75rem 0 0.75rem;
  padding: 0.5rem 0;
}
#nycc-calculator .nycc-sections-head .nycc-area-header { border: none; margin: 0; padding: 0; }
#nycc-calculator .nycc-sections-head .nycc-link { font-size: 0.85rem; white-space: nowrap; }
#nycc-calculator .nycc-section {
  border: 1px solid var(--nycc-border);
  border-radius: var(--nycc-radius);
  background: var(--nycc-white);
  margin: 0 0 0.5rem;
}
#nycc-calculator .nycc-section-head {
  padding: 0.7rem 1rem;
  cursor: pointer;
  font-family: var(--nycc-body-font);
}
#nycc-calculator#nycc-calculator .nycc-section-head {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  list-style: none !important;
  position: relative !important;
  text-indent: 0 !important;
}
#nycc-calculator#nycc-calculator .nycc-section-head::-webkit-details-marker { display: none !important; }
#nycc-calculator#nycc-calculator .nycc-section-head::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;
  margin-left: auto !important;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--nycc-secondary);
}
#nycc-calculator#nycc-calculator .nycc-section[open] > .nycc-section-head::after { content: "\2212" !important; }
#nycc-calculator .nycc-section-head:focus-visible { outline: 3px solid var(--nycc-secondary); outline-offset: 2px; }
#nycc-calculator .nycc-section-title { font-weight: 600; color: var(--nycc-primary); font-size: 0.95rem; }
#nycc-calculator .nycc-section-sum { font-size: 0.8rem; color: var(--nycc-gray); }
#nycc-calculator .nycc-section-sum.is-set { color: var(--nycc-secondary); font-weight: 500; }
#nycc-calculator .nycc-section-sum.is-error { color: #b42318; font-weight: 600; }
#nycc-calculator .nycc-section-sum.is-error::before { content: "\26A0\FE0E  "; }
#nycc-calculator .nycc-section-body { padding: 0.25rem 1rem 1rem; border-top: 1px solid var(--nycc-light-gray); }

/* Field errors (items 3, 6 and 9) */
#nycc-calculator .nycc-error { color: #b42318; font-size: 0.78rem; font-weight: 500; margin: 0.25rem 0 0.35rem; }
#nycc-calculator input[aria-invalid="true"],
#nycc-calculator select[aria-invalid="true"] { border-color: #b42318; box-shadow: 0 0 0 1px #b42318; }

/* Notice under the schedule editor (items 1 and 8) */
#nycc-calculator .nycc-notice {
  border: 1px solid var(--nycc-border);
  border-left: 4px solid var(--nycc-secondary);
  background: var(--nycc-white);
  border-radius: 0;
  padding: 0.7rem 1rem;
  margin: 0 0 1rem;
  font-size: 0.85rem;
  color: var(--nycc-navy);
}
#nycc-calculator .nycc-notice.is-warn,
#nycc-calculator .nycc-notice.is-confirm { border-left-color: #d4a017; }
#nycc-calculator .nycc-notice p { margin: 0 0 0.5rem; }
#nycc-calculator .nycc-notice .nycc-tools { margin: 0; }

/* "Not final yet" banner and dimmed results (items 3, 6 and 9) */
#nycc-calculator .nycc-issues {
  border: 1px solid #f1b5ae;
  border-left: 4px solid #b42318;
  background: #fef3f2;
  border-radius: 0;
  padding: 0.75rem 1rem;
  margin: 0 0 1rem;
  font-size: 0.85rem;
  color: var(--nycc-navy);
}
#nycc-calculator .nycc-issues p { margin: 0 0 0.35rem; }
#nycc-calculator .nycc-issues ul { padding-left: 1.2rem; margin: 0; }
#nycc-calculator .nycc-issues li { margin: 0 0 0.2rem; }
#nycc-calculator .nycc-issues .nycc-link { font-size: 0.85rem; text-align: left; }
#nycc-calculator .nycc-results.is-stale > :not(.nycc-issues):not(.nycc-results-title):not(.nycc-actions):not(.nycc-print-blocked) { opacity: 0.55; }
#nycc-calculator .nycc-print-blocked { margin: 0.5rem 0 0; text-align: right; }

/* Gallery and editor details */
#nycc-calculator .nycc-gallery-note { margin: 0.25rem 0 0; }
#nycc-calculator .nycc-preset-plan {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--nycc-secondary);
  margin: 0 0 0.4rem;
}
#nycc-calculator .nycc-badge.is-edited { color: var(--nycc-primary); background: var(--nycc-alternate); border-color: var(--nycc-b-edge); }
#nycc-calculator .nycc-badge.is-estimated { color: #6b5a12; background: #fef9e7; border-color: #e8d48a; }
#nycc-calculator .nycc-visits,
#nycc-calculator .nycc-oneoff { padding-left: 1.2rem; margin: 0.25rem 0 0.5rem; font-size: 0.85rem; color: var(--nycc-navy); }
#nycc-calculator .nycc-visits li,
#nycc-calculator .nycc-oneoff li { margin: 0 0 0.2rem; }
#nycc-calculator .nycc-vac { margin: 0 0 0.35rem; }
#nycc-calculator .nycc-vac-note { margin: -0.25rem 0 0.5rem; }

/* ── Inside-the-tool changes (decisions.md build decision M) ───────── */
/* Calendar: visible keyboard focus and a skip link that appears on focus (item 1) */
#nycc-calculator .nycc-day:focus-visible { outline: 3px solid var(--nycc-navy); outline-offset: 1px; }
#nycc-calculator .nycc-skip { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#nycc-calculator .nycc-skip:focus {
  position: static;
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0 0 0.5rem;
  padding: 0.3rem 0.6rem;
  background: var(--nycc-white);
  border: 2px solid var(--nycc-secondary);
  color: var(--nycc-primary);
  font-size: 0.85rem;
}
#nycc-calculator #nycc-after-cal:focus { outline: none; }
/* Rounded typical-year cards with the exact period totals beside them (item 4) */
#nycc-calculator .nycc-cards-caption { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--nycc-gray); margin: 0 0 0.35rem; }
#nycc-calculator .nycc-card-exact { font-size: 0.78rem; color: var(--nycc-navy); border-top: 1px solid var(--nycc-light-gray); margin-top: 0.45rem; padding-top: 0.35rem; }
#nycc-calculator .nycc-change { font-size: 0.85rem; font-weight: 500; color: var(--nycc-primary); background: var(--nycc-alternate); border-radius: var(--nycc-radius); padding: 0.35rem 0.7rem; margin: 0 0 0.75rem; }
/* Plain link to the separate support calculator (item 6) */
#nycc-calculator .nycc-related { margin: 0 0 0.5rem; }
#nycc-calculator .nycc-related a { color: var(--nycc-secondary); text-decoration: underline; font-weight: 500; }
#nycc-calculator .nycc-related a:focus-visible { outline: 3px solid var(--nycc-secondary); outline-offset: 2px; }

/* ── Spacing helpers used by the form script ───────────────────────
   Kept here, not inline, so the spacing lock below can protect them
   (inline spacing loses to the theme's !important rules). Placed after
   the component rules so they win at equal specificity. */
#nycc-calculator .nycc-mt-05 { margin-top: 0.5rem; }
#nycc-calculator .nycc-mt-09 { margin-top: 0.9rem; }
#nycc-calculator .nycc-mt-1 { margin-top: 1rem; }
#nycc-calculator .nycc-mt-11 { margin-top: 1.1rem; }
#nycc-calculator .nycc-ml-15 { margin-left: 1.5rem; }
#nycc-calculator .nycc-m0 { margin: 0; }
#nycc-calculator .nycc-cols { columns: 2 200px; }

/* ── Pinned results bar on phones (Row 27) ─────────────────────── */
#nycc-calculator .nycc-mbar { display: none; }

@media (max-width: 767px) {
  #nycc-calculator .nycc-cta-logo { display: none; }
  #nycc-calculator.nycc-has-mbar { padding-bottom: 4.5rem; }
  /* Title and +/- on the first line, the summary under the title. */
  #nycc-calculator#nycc-calculator .nycc-section-head { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 0.75rem; row-gap: 0.1rem; }
  #nycc-calculator#nycc-calculator .nycc-section-head::after { grid-column: 2; grid-row: 1; }
  #nycc-calculator .nycc-section-title { grid-column: 1; grid-row: 1; }
  #nycc-calculator .nycc-section-sum { grid-column: 1; grid-row: 2; }

  #nycc-calculator .nycc-mbar.is-visible {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    background: var(--nycc-primary);
    color: var(--nycc-white);
    padding: 0.6rem 1rem calc(0.6rem + env(safe-area-inset-bottom));
    font-size: 0.85rem;
    border: none;
    width: 100%;
    font-family: var(--nycc-body-font);
    cursor: pointer;
    text-align: left;
  }
}

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width: 700px) {
  #nycc-calculator .nycc-header,
  #nycc-calculator .nycc-app,
  #nycc-calculator .nycc-method,
  #nycc-calculator .nycc-disclaimer { padding-left: 1rem; padding-right: 1rem; }
  #nycc-calculator .nycc-results { padding: 1rem; }
  #nycc-calculator .nycc-header h2 { font-size: 1.3rem; }
  #nycc-calculator .nycc-months { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #nycc-calculator .nycc-grid { grid-template-columns: 44px repeat(7, minmax(0, 1fr)); }
  #nycc-calculator .nycc-table { font-size: 0.78rem; }
  #nycc-calculator .nycc-hol-table thead { display: none; }
  #nycc-calculator .nycc-hol-table tr { display: block; border-bottom: 1px solid var(--nycc-light-gray); padding: 0.35rem 0; }
  #nycc-calculator .nycc-hol-table td { display: block; border: none; padding: 0.15rem 0; }
}

@media (max-width: 420px) {
  #nycc-calculator .nycc-months { grid-template-columns: minmax(0, 1fr); }
}

/* ── Print (Row 18) ────────────────────────────────────────────── */
@media print {
  body { background: #fff !important; }
  #nycc-calculator.nycc { max-width: 100%; margin: 0; font-size: 11px; }
  #nycc-calculator .nycc-editor,
  #nycc-calculator .nycc-privacy,
  #nycc-calculator .nycc-actions,
  #nycc-calculator .nycc-night-panel,
  #nycc-calculator .nycc-cta,
  #nycc-calculator .nycc-faq,
  #nycc-calculator .nycc-method,
  #nycc-calculator .nycc-mbar,
  #nycc-calculator .nycc-noprint { display: none !important; }
  #nycc-calculator .nycc-app { border: none; padding: 0; }
  #nycc-calculator .nycc-results { border: none; background: #fff; padding: 0; margin: 0; }
  #nycc-calculator .nycc-print-footer { display: block; font-size: 9px; color: #555; border-top: 1px solid #999; margin-top: 0.75rem; padding-top: 0.35rem; }
  #nycc-calculator .nycc-calendar-block { page-break-before: always; }
  #nycc-calculator .nycc-math-block { page-break-before: always; }
  #nycc-calculator .nycc-months { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
  #nycc-calculator .nycc-month { page-break-inside: avoid; }
  #nycc-calculator .nycc-sum-sec { page-break-inside: avoid; break-inside: avoid; }
  #nycc-calculator .nycc-day, #nycc-calculator .nycc-card, #nycc-calculator .nycc-header,
  #nycc-calculator .nycc-swatch, #nycc-calculator .nycc-mini span, #nycc-calculator .nycc-ny {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ── 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. */
#nycc-calculator#nycc-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. */
#nycc-calculator#nycc-calculator small {
  font-size: 0.8em !important;
}

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

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

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

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

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

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

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

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

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

#nycc-calculator#nycc-calculator .nycc-privacy {
  font-size: 0.82rem !important;
  padding: 0.5rem 1rem !important;
}

#nycc-calculator#nycc-calculator .nycc-app {
  padding: 1.5rem 2rem 2rem !important;
}

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

#nycc-calculator#nycc-calculator .nycc-area-header:first-child {
  margin-top: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-fieldset {
  margin: 0 0 1.25rem !important;
  padding: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-legend {
  font-size: 1rem !important;
  margin: 0 0 0.6rem !important;
}

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

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

#nycc-calculator#nycc-calculator .nycc-row {
  margin-bottom: 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-field > label,
#nycc-calculator#nycc-calculator .nycc-lbl {
  font-size: 0.82rem !important;
  margin-bottom: 0.3rem !important;
}

#nycc-calculator#nycc-calculator.nycc input[type="text"],
#nycc-calculator#nycc-calculator.nycc input[type="date"],
#nycc-calculator#nycc-calculator.nycc input[type="number"],
#nycc-calculator#nycc-calculator.nycc select {
  padding: 0.5rem 0.65rem !important;
  font-size: 0.9rem !important;
  height: auto !important;
}

#nycc-calculator#nycc-calculator .nycc-swatch {
  height: 14px !important;
}

#nycc-calculator#nycc-calculator .nycc-check,
#nycc-calculator#nycc-calculator .nycc-radio {
  font-size: 0.88rem !important;
  margin: 0 0 0.4rem !important;
}

#nycc-calculator#nycc-calculator .nycc-table .nycc-inline {
  margin: 0.1rem 0.4rem 0.1rem 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-btn {
  font-size: 0.9rem !important;
  padding: 0.6rem 1.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-btn--small {
  font-size: 0.78rem !important;
  padding: 0.3rem 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-link {
  font-size: 0.8rem !important;
  line-height: inherit !important;
  padding: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-chips {
  margin: 0 0 0.9rem !important;
}

#nycc-calculator#nycc-calculator .nycc-chip {
  font-size: 0.78rem !important;
  padding: 0.25rem 0.8rem !important;
}

#nycc-calculator#nycc-calculator .nycc-group-label {
  font-size: 0.75rem !important;
  margin: 0.9rem 0 0.4rem !important;
}

#nycc-calculator#nycc-calculator .nycc-preset {
  padding: 0.65rem 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-preset.is-active {
  padding: calc(0.65rem - 1px) calc(0.75rem - 1px) !important;
}

#nycc-calculator#nycc-calculator .nycc-preset-name {
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
  margin-bottom: 0.2rem !important;
}

#nycc-calculator#nycc-calculator .nycc-preset-note {
  font-size: 0.75rem !important;
  line-height: 1.45 !important;
  margin-bottom: 0.4rem !important;
}

#nycc-calculator#nycc-calculator .nycc-mini {
  margin-bottom: 0.3rem !important;
}

#nycc-calculator#nycc-calculator .nycc-mini span {
  height: 8px !important;
}

#nycc-calculator#nycc-calculator .nycc-preset-meta {
  font-size: 0.72rem !important;
}

#nycc-calculator#nycc-calculator .nycc-grid {
  margin: 0.4rem 0 0.6rem !important;
}

#nycc-calculator#nycc-calculator .nycc-grid-head,
#nycc-calculator#nycc-calculator .nycc-grid-week {
  font-size: 0.72rem !important;
}

#nycc-calculator#nycc-calculator .nycc-cell {
  height: 34px !important;
  font-size: 0.75rem !important;
  line-height: 1.1 !important;
}

#nycc-calculator#nycc-calculator .nycc-tools {
  margin-bottom: 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-table {
  font-size: 0.82rem !important;
  margin: 0.25rem 0 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-table th {
  font-size: 0.72rem !important;
  padding: 0.35rem 0.4rem !important;
}

#nycc-calculator#nycc-calculator .nycc-table td {
  padding: 0.35rem 0.4rem !important;
}

#nycc-calculator#nycc-calculator .nycc-table select {
  padding: 0.3rem 0.4rem !important;
  font-size: 0.8rem !important;
}

#nycc-calculator#nycc-calculator .nycc-table input[type="date"] {
  padding: 0.3rem 0.4rem !important;
  font-size: 0.8rem !important;
}

#nycc-calculator#nycc-calculator .nycc-muted {
  font-size: 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-badge {
  font-size: 0.68rem !important;
  padding: 0 0.35rem !important;
  margin-left: 0.35rem !important;
}

#nycc-calculator#nycc-calculator .nycc-times-edit {
  margin-top: 0.3rem !important;
}

#nycc-calculator#nycc-calculator .nycc-results {
  padding: 1.25rem 1.5rem 1.5rem !important;
  margin-top: 1.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-results-title {
  font-size: 1.15rem !important;
  margin: 0 0 0.9rem !important;
}

#nycc-calculator#nycc-calculator .nycc-cards {
  margin-bottom: 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-card {
  padding: 0.9rem 1.1rem !important;
}

#nycc-calculator#nycc-calculator .nycc-card-label {
  font-size: 0.75rem !important;
}

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

#nycc-calculator#nycc-calculator .nycc-card-unit {
  font-size: 0.8rem !important;
}

#nycc-calculator#nycc-calculator .nycc-card-line {
  font-size: 0.8rem !important;
}

#nycc-calculator#nycc-calculator .nycc-split {
  font-size: 0.85rem !important;
  margin: 0 0 0.3rem !important;
}

#nycc-calculator#nycc-calculator .nycc-checkline {
  font-size: 0.75rem !important;
  margin: 0 0 1rem !important;
}

#nycc-calculator#nycc-calculator .nycc-ny {
  padding: 0.85rem 1.1rem !important;
  margin: 0 0 1.25rem !important;
}

#nycc-calculator#nycc-calculator .nycc-ny-title {
  font-size: 0.95rem !important;
  margin: 0 0 0.4rem !important;
}

#nycc-calculator#nycc-calculator .nycc-ny p {
  font-size: 0.85rem !important;
  margin: 0 0 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-sub {
  font-size: 0.95rem !important;
  margin: 1.4rem 0 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-legend-row {
  font-size: 0.78rem !important;
  margin: 0 0 0.6rem !important;
}

#nycc-calculator#nycc-calculator .nycc-month {
  padding: 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-month-title {
  font-size: 0.8rem !important;
  margin: 0 0 0.3rem !important;
}

#nycc-calculator#nycc-calculator .nycc-dow {
  font-size: 0.65rem !important;
}

#nycc-calculator#nycc-calculator .nycc-day {
  height: 24px !important;
  font-size: 0.68rem !important;
  padding: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-day.is-special::after {
  height: 5px !important;
}

#nycc-calculator#nycc-calculator .nycc-month-total {
  font-size: 0.68rem !important;
  margin-top: 0.3rem !important;
}

#nycc-calculator#nycc-calculator .nycc-night-panel {
  padding: 0.7rem 1rem !important;
  margin: 0.8rem 0 0 !important;
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-summary-text {
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-sum-sec {
  margin: 0 0 0.8rem !important;
}

#nycc-calculator#nycc-calculator .nycc-sum-sec:last-child {
  margin-bottom: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-sum-h {
  font-size: 0.85rem !important;
  margin: 0 0 0.25rem !important;
}

#nycc-calculator#nycc-calculator .nycc-sum-list {
  padding-left: 1.25rem !important;
  margin: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-sum-list li {
  padding-left: 0.2rem !important;
  margin: 0 0 0.2rem !important;
}

#nycc-calculator#nycc-calculator .nycc-sum-list li:last-child {
  margin-bottom: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-actions {
  margin-top: 1.25rem !important;
}

#nycc-calculator#nycc-calculator .nycc-method {
  padding: 1rem 2rem 1.25rem !important;
  font-size: 0.82rem !important;
}

#nycc-calculator#nycc-calculator .nycc-method-heading {
  font-size: 0.95rem !important;
  margin: 0 0 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-method ul {
  padding-left: 1.2rem !important;
  margin: 0 0 0.6rem !important;
}

#nycc-calculator#nycc-calculator .nycc-method li {
  margin-bottom: 0.25rem !important;
}

#nycc-calculator#nycc-calculator .nycc-reviewed {
  font-size: 0.78rem !important;
  margin: 0 !important;
}

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

#nycc-calculator#nycc-calculator .nycc-disclaimer p {
  margin: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#nycc-calculator#nycc-calculator .nycc-faq-table {
  margin: 0 0 0.75rem !important;
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-faq-table th,
#nycc-calculator#nycc-calculator .nycc-faq-table td {
  padding: 0.3rem 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-sections-head {
  margin: 1.75rem 0 0.75rem !important;
  padding: 0.5rem 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-sections-head .nycc-area-header {
  margin: 0 !important;
  padding: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-sections-head .nycc-link {
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-section {
  margin: 0 0 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-section-head {
  padding: 0.7rem 1rem !important;
}

#nycc-calculator#nycc-calculator .nycc-section-head::after {
  height: auto !important;
  margin-left: auto !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
}

#nycc-calculator#nycc-calculator .nycc-section-title {
  font-size: 0.95rem !important;
}

#nycc-calculator#nycc-calculator .nycc-section-sum {
  font-size: 0.8rem !important;
}

#nycc-calculator#nycc-calculator .nycc-section-body {
  padding: 0.25rem 1rem 1rem !important;
}

#nycc-calculator#nycc-calculator .nycc-error {
  font-size: 0.78rem !important;
  margin: 0.25rem 0 0.35rem !important;
}

#nycc-calculator#nycc-calculator .nycc-notice {
  padding: 0.7rem 1rem !important;
  margin: 0 0 1rem !important;
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-notice p {
  margin: 0 0 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-notice .nycc-tools {
  margin: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-issues {
  padding: 0.75rem 1rem !important;
  margin: 0 0 1rem !important;
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-issues p {
  margin: 0 0 0.35rem !important;
}

#nycc-calculator#nycc-calculator .nycc-issues ul {
  padding-left: 1.2rem !important;
  margin: 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-issues li {
  margin: 0 0 0.2rem !important;
}

#nycc-calculator#nycc-calculator .nycc-issues .nycc-link {
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-print-blocked {
  margin: 0.5rem 0 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-gallery-note {
  margin: 0.25rem 0 0 !important;
}

#nycc-calculator#nycc-calculator .nycc-preset-plan {
  font-size: 0.7rem !important;
  margin: 0 0 0.4rem !important;
}

#nycc-calculator#nycc-calculator .nycc-visits,
#nycc-calculator#nycc-calculator .nycc-oneoff {
  padding-left: 1.2rem !important;
  margin: 0.25rem 0 0.5rem !important;
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-visits li,
#nycc-calculator#nycc-calculator .nycc-oneoff li {
  margin: 0 0 0.2rem !important;
}

#nycc-calculator#nycc-calculator .nycc-vac {
  margin: 0 0 0.35rem !important;
}

#nycc-calculator#nycc-calculator .nycc-vac-note {
  margin: -0.25rem 0 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-skip {
  height: 1px !important;
}

#nycc-calculator#nycc-calculator .nycc-skip:focus {
  height: auto !important;
  margin: 0 0 0.5rem !important;
  padding: 0.3rem 0.6rem !important;
  font-size: 0.85rem !important;
}

#nycc-calculator#nycc-calculator .nycc-cards-caption {
  font-size: 0.7rem !important;
  margin: 0 0 0.35rem !important;
}

#nycc-calculator#nycc-calculator .nycc-card-exact {
  font-size: 0.78rem !important;
  margin-top: 0.45rem !important;
  padding-top: 0.35rem !important;
}

#nycc-calculator#nycc-calculator .nycc-change {
  font-size: 0.85rem !important;
  padding: 0.35rem 0.7rem !important;
  margin: 0 0 0.75rem !important;
}

#nycc-calculator#nycc-calculator .nycc-related {
  margin: 0 0 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-mt-05 {
  margin-top: 0.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-mt-09 {
  margin-top: 0.9rem !important;
}

#nycc-calculator#nycc-calculator .nycc-mt-1 {
  margin-top: 1rem !important;
}

#nycc-calculator#nycc-calculator .nycc-mt-11 {
  margin-top: 1.1rem !important;
}

#nycc-calculator#nycc-calculator .nycc-ml-15 {
  margin-left: 1.5rem !important;
}

#nycc-calculator#nycc-calculator .nycc-m0 {
  margin: 0 !important;
}

@media (max-width: 767px) {
  #nycc-calculator#nycc-calculator.nycc-has-mbar {
    padding-bottom: 4.5rem !important;
  }

  #nycc-calculator#nycc-calculator .nycc-mbar.is-visible {
    padding: 0.6rem 1rem calc(0.6rem + env(safe-area-inset-bottom)) !important;
    font-size: 0.85rem !important;
  }
}

@media (max-width: 700px) {
  #nycc-calculator#nycc-calculator .nycc-header,
  #nycc-calculator#nycc-calculator .nycc-app,
  #nycc-calculator#nycc-calculator .nycc-method,
  #nycc-calculator#nycc-calculator .nycc-disclaimer {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  #nycc-calculator#nycc-calculator .nycc-results {
    padding: 1rem !important;
  }

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

  #nycc-calculator#nycc-calculator .nycc-table {
    font-size: 0.78rem !important;
  }

  #nycc-calculator#nycc-calculator .nycc-hol-table tr {
    padding: 0.35rem 0 !important;
  }

  #nycc-calculator#nycc-calculator .nycc-hol-table td {
    padding: 0.15rem 0 !important;
  }
}

@media print {
  #nycc-calculator#nycc-calculator.nycc {
    margin: 0 !important;
    font-size: 11px !important;
  }

  #nycc-calculator#nycc-calculator .nycc-app {
    padding: 0 !important;
  }

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

  #nycc-calculator#nycc-calculator .nycc-print-footer {
    font-size: 9px !important;
    margin-top: 0.75rem !important;
    padding-top: 0.35rem !important;
  }
}
