/* ==========================================================================
   Maxwise Calculator – plugin stylesheet
   Everything is scoped to .mw-calc (calculator) and .mw-toast, and every class is
   prefixed "mw-", so the active WordPress theme cannot restyle the calculator.
   To re-skin: change the design tokens in the first rule below.
   ========================================================================== */
.mw-calc,
.mw-toast,
.mw-print-root {
  /* Brand (defaults follow the site brief; override any of these in Elementor custom CSS) */
  --mw-ink: #111315; --mw-ink-2: #1a1d21; --mw-accent: #b7f000; --mw-accent-hover: #c8ff33;
  /* Surfaces */
  --mw-surface: #ffffff; --mw-surface-2: #f5f6f3; --mw-line: #e1e4dc; --mw-line-strong: #c3c8bd; --mw-dark-line: #2b3036;
  /* Text */
  --mw-text: #111315; --mw-text-2: #3a4047; --mw-text-3: #5c636b; --mw-muted: #a7adb5;
  /* Feedback */
  --mw-danger: #b42318;
  /* Spacing, radius, shadow */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px;
  --r-sm: 10px; --r: 16px; --r-lg: 20px;
  --mw-shadow: none;
  /* Type */
  --font: var(--mw-font-body, ui-sans-serif), system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

/* Root + defensive resets so theme typography/forms do not leak in */
.mw-calc {
  container: mwcalc / inline-size;
  display: block; max-width: 1160px; margin: 0 auto; padding: 0; text-align: left;
  font: 400 1rem/1.6 var(--font); color: var(--mw-text); text-transform: none; letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
}
.mw-calc.mw-calc h2, .mw-calc.mw-calc h3 { font-family: inherit; font-weight: 800; line-height: 1.15; letter-spacing: -.02em; text-transform: none; color: var(--mw-ink); margin: 0 0 var(--s-2); padding: 0; border: 0; }
.mw-calc.mw-calc p, .mw-calc.mw-calc ul, .mw-calc.mw-calc li, .mw-calc.mw-calc table { font-family: inherit; text-transform: none; }
.mw-calc.mw-calc button, .mw-calc.mw-calc input, .mw-calc.mw-calc select {
  font-family: inherit; font-size: inherit; line-height: normal; letter-spacing: normal; text-transform: none;
  margin: 0; box-shadow: none; text-shadow: none; -webkit-appearance: none; appearance: none;
}
.mw-calc.mw-calc button { background: none; border: 0; padding: 0; border-radius: 0; color: inherit; font-weight: inherit; }
.mw-calc.mw-calc input[type="text"] { max-width: none; }
.mw-calc.mw-calc input[type="radio"], .mw-calc.mw-calc input[type="checkbox"] { appearance: none; -webkit-appearance: none; }
.mw-calc.mw-calc fieldset { border: 0; padding: 0; margin: 0; min-width: 0; background: none; }
.mw-calc.mw-calc legend { float: none; width: auto; }
.mw-calc.mw-calc table { border-spacing: 0; margin: 0; background: none; border: 0; table-layout: auto; }
.mw-calc.mw-calc th, .mw-calc.mw-calc td { background: none; }
.mw-calc.mw-calc ul { list-style: disc; }
.mw-calc.mw-calc code { color: inherit; white-space: normal; }
.mw-calc.mw-calc summary { list-style: revert; }
.mw-calc.mw-calc svg { display: inline-block; vertical-align: middle; }

.mw-calc.mw-calc *,
.mw-calc.mw-calc *::before,
.mw-calc.mw-calc *::after { box-sizing: border-box; }
.mw-calc.mw-calc button { cursor: pointer; }
.mw-calc.mw-calc :focus-visible { outline: 3px solid var(--mw-ink); outline-offset: 2px; }
.mw-calc.mw-calc .mw-sr-only {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.mw-calc.mw-calc .mw-i { flex: none; }
.mw-calc.mw-calc .mw-card { background: var(--mw-surface); border: 1px solid var(--mw-line); border-radius: var(--r-lg); box-shadow: var(--mw-shadow); }
.mw-calc.mw-calc .mw-grid { display: grid; gap: var(--s-4); grid-template-columns: minmax(0, 1fr); align-items: stretch; }
@container mwcalc (min-width: 900px) {
.mw-calc.mw-calc .mw-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s-5); }
}
.mw-calc.mw-calc .mw-form { padding: var(--s-4); display: grid; gap: var(--s-4); align-content: start; }
@container mwcalc (min-width: 720px) {
.mw-calc.mw-calc .mw-form { padding: var(--s-5); }
}
.mw-calc.mw-calc .mw-field { border: 0; padding: 0; margin: 0; min-width: 0; }
.mw-calc.mw-calc .mw-field > label,
.mw-calc.mw-calc .mw-field-head label,
.mw-calc.mw-calc legend { font-weight: 700; font-size: .95rem; color: var(--mw-ink); }
.mw-calc.mw-calc legend { padding: 0; margin-bottom: var(--s-2); }
.mw-calc.mw-calc .mw-opt { font-weight: 500; color: var(--mw-text-3); font-size: .85rem; margin-left: 4px; }
.mw-calc.mw-calc .mw-field-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-2); min-height: 44px; }
.mw-calc.mw-calc .mw-hint { font-size: .88rem; color: var(--mw-text-3); margin: var(--s-2) 0 0; }
.mw-calc.mw-calc .mw-error { color: var(--mw-danger); font-size: .9rem; font-weight: 600; margin: var(--s-2) 0 0; }
.mw-calc.mw-calc .mw-error[hidden] { display: none; }
.mw-calc.mw-calc .mw-seg { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 2px; padding: 3px; background: var(--mw-surface-2); border: 1px solid var(--mw-line); border-radius: 13px; }
.mw-calc.mw-calc .mw-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.mw-calc.mw-calc .mw-seg label { display: grid; place-items: center; min-height: 44px; padding: 0 var(--s-2); border-radius: 10px; font-weight: 650; font-size: .92rem; color: var(--mw-text-2); cursor: pointer; user-select: none; text-align: center; transition: background .15s, color .15s; }
.mw-calc.mw-calc .mw-seg label:hover { background: rgba(17, 19, 21, .05); }
.mw-calc.mw-calc .mw-seg input:checked + label { background: var(--mw-accent); color: var(--mw-ink); box-shadow: inset 0 0 0 1px rgba(17,19,21,.12); }
.mw-calc.mw-calc .mw-seg input:focus-visible + label { outline: 3px solid var(--mw-ink); outline-offset: 2px; }
.mw-calc.mw-calc .mw-seg-sm label { min-height: 44px; padding: 0 var(--s-5); }
.mw-calc.mw-calc .mw-num-input { display: grid; grid-template-columns: 56px minmax(0, 1fr) 56px; gap: var(--s-2); }
.mw-calc.mw-calc .mw-step { height: 56px; border-radius: 14px; border: 1.5px solid var(--mw-line-strong); background: var(--mw-surface); display: grid; place-items: center; color: var(--mw-ink); transition: background .15s, border-color .15s, transform .1s; }
.mw-calc.mw-calc .mw-step:hover { background: var(--mw-surface-2); border-color: var(--mw-ink); }
.mw-calc.mw-calc .mw-step:active { transform: scale(.96); }
.mw-calc.mw-calc .mw-num-wrap { position: relative; }
.mw-calc.mw-calc .mw-num-wrap input { width: 100%; height: 56px; border: 1.5px solid var(--mw-line-strong); border-radius: 14px; background: var(--mw-surface); padding: 0 62px 0 var(--s-4); font-size: 1.5rem; font-weight: 750; letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: var(--mw-ink); transition: border-color .15s, box-shadow .15s; }
.mw-calc.mw-calc .mw-num-wrap input:hover { border-color: var(--mw-ink); }
.mw-calc.mw-calc .mw-num-wrap input:focus { outline: none; border-color: var(--mw-ink); box-shadow: 0 0 0 4px rgba(183, 240, 0, .4); }
.mw-calc.mw-calc .mw-num-wrap input[aria-invalid="true"] { border-color: var(--mw-danger); box-shadow: 0 0 0 4px rgba(180, 35, 24, .14); }
.mw-calc.mw-calc .mw-suffix { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--mw-text-3); font-weight: 650; font-size: .95rem; pointer-events: none; }
.mw-calc.mw-calc select {
  width: 100%; height: 48px; padding: 0 40px 0 var(--s-3); border: 1.5px solid var(--mw-line-strong); border-radius: 12px; background-color: var(--mw-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%2318211c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; appearance: none; -webkit-appearance: none; font-weight: 600; color: var(--mw-ink); cursor: pointer;
}
.mw-calc.mw-calc .mw-effort { margin-top: var(--s-3); }
.mw-calc.mw-calc .mw-effort[hidden] { display: none; }
.mw-calc.mw-calc .mw-adv { border-top: 1px solid var(--mw-line); padding-top: var(--s-3); }
.mw-calc.mw-calc .mw-adv summary { cursor: pointer; font-weight: 650; font-size: .93rem; color: var(--mw-text-2); min-height: 32px; display: flex; align-items: center; }
.mw-calc.mw-calc .mw-adv .mw-field { margin-top: var(--s-3); display: grid; gap: 6px; }
.mw-calc.mw-calc .mw-form-actions { display: grid; grid-template-columns: 1fr auto; gap: var(--s-3); }
.mw-calc.mw-calc .mw-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-height: 52px; padding: 0 var(--s-5); border-radius: 14px; border: 1.5px solid transparent; font-weight: 700; font-size: 1rem; text-decoration: none; transition: background .15s, transform .1s, border-color .15s, opacity .15s; }
.mw-calc.mw-calc .mw-btn:active { transform: scale(.98); }
.mw-calc.mw-calc .mw-btn-primary { background: var(--mw-accent); color: var(--mw-ink); border-color: var(--mw-accent); }
.mw-calc.mw-calc .mw-btn-primary:hover { background: var(--mw-accent-hover); border-color: var(--mw-accent-hover); }
.mw-calc.mw-calc .mw-btn-primary .mw-i { color: var(--mw-ink); }
.mw-calc.mw-calc .mw-btn-ghost { background: transparent; border-color: var(--mw-line-strong); color: var(--mw-ink); padding: 0 var(--s-4); }
.mw-calc.mw-calc .mw-btn-ghost:hover { border-color: var(--mw-ink); background: var(--mw-surface-2); }
.mw-calc.mw-calc .mw-hero-result {
  background: radial-gradient(110% 80% at 100% 0%, rgba(183, 240, 0, .10), transparent 58%), var(--mw-ink-2);
  color: #fff; border: 1px solid var(--mw-dark-line); padding: var(--s-5) var(--s-4) var(--s-4);
  display: flex; flex-direction: column; justify-content: space-between; gap: var(--s-4);
}
@container mwcalc (min-width: 720px) {
.mw-calc.mw-calc .mw-hero-result { padding: var(--s-6) var(--s-6) var(--s-5); }
}
@container mwcalc (min-width: 900px) { .mw-calc.mw-calc .mw-hero-result { min-height: 360px; } }
.mw-calc.mw-calc .mw-eyebrow { margin: 0 0 var(--s-2); font-size: .8rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--mw-muted); }
.mw-calc.mw-calc .mw-big { margin: 0; display: flex; align-items: baseline; gap: var(--s-2); line-height: 1; }
.mw-calc.mw-calc .mw-big-num { font-size: clamp(3.6rem, 2.3rem + 6.5vw, 6rem); font-weight: 800; letter-spacing: -.045em; color: var(--mw-accent); font-variant-numeric: tabular-nums; }
.mw-calc.mw-calc .mw-big-unit { font-size: clamp(1.4rem, 1rem + 1.6vw, 2rem); font-weight: 700; color: rgba(255, 255, 255, .8); }
.mw-calc.mw-calc .mw-alt { margin: var(--s-2) 0 0; color: rgba(255, 255, 255, .78); font-weight: 600; font-variant-numeric: tabular-nums; }
.mw-calc.mw-calc .mw-basis { margin: var(--s-3) 0 0; font-size: .92rem; color: rgba(255, 255, 255, .78); max-width: 52ch; }
.mw-calc.mw-calc .mw-range { position: relative; height: 22px; margin: var(--s-5) 0 var(--s-1); }
.mw-calc.mw-calc .mw-track { position: absolute; left: 0; right: 0; top: 50%; height: 6px; transform: translateY(-50%); border-radius: 6px; background: rgba(255, 255, 255, .18); }
.mw-calc.mw-calc .mw-dot { position: absolute; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: rgba(255, 255, 255, .8); }
.mw-calc.mw-calc .mw-dot-main { width: 22px; height: 22px; margin: -11px 0 0 -11px; background: var(--mw-accent); box-shadow: 0 0 0 5px rgba(183, 240, 0, .25); }
.mw-calc.mw-calc .mw-range-labels { display: flex; justify-content: space-between; margin: 0; font-size: .82rem; color: rgba(255, 255, 255, .72); font-variant-numeric: tabular-nums; }
.mw-calc.mw-calc .mw-agree { margin: var(--s-4) 0 0; color: rgba(255, 255, 255, .8); font-size: .92rem; }
.mw-calc.mw-calc .mw-warn { display: flex; gap: var(--s-2); align-items: flex-start; margin: var(--s-4) 0 0; padding: 10px var(--s-3); border-radius: var(--r-sm); background: rgba(255, 205, 96, .14); color: #ffe7b0; font-size: .88rem; line-height: 1.45; }
.mw-calc.mw-calc .mw-warn .mw-i { margin-top: 2px; }
.mw-calc.mw-calc .mw-empty { padding: var(--s-4) 0; }
.mw-calc.mw-calc .mw-empty-msg { font-size: 1.25rem; font-weight: 650; max-width: 30ch; color: rgba(255, 255, 255, .92); line-height: 1.35; }
.mw-calc.mw-calc .mw-headline.mw-pulse .mw-big-num { animation: mw-pop .35s ease-out; }
@keyframes mw-pop { from { opacity: .55; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.mw-calc.mw-calc .mw-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: var(--s-2); }
.mw-calc.mw-calc .mw-btn-solid { min-height: 46px; padding: 0 var(--s-3); font-size: .92rem; background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .2); color: #fff; }
.mw-calc.mw-calc .mw-btn-solid:hover:not(:disabled) { background: rgba(255, 255, 255, .2); }
.mw-calc.mw-calc .mw-btn-solid:disabled { opacity: .4; cursor: not-allowed; }
.mw-calc.mw-calc .mw-disclaimer-s { margin: 0; font-size: .8rem; color: var(--mw-muted); }
.mw-calc.mw-calc .mw-results { display: grid; gap: var(--s-4); margin-top: var(--s-4); grid-template-columns: minmax(0, 1fr); }
@container mwcalc (min-width: 900px) {
.mw-calc.mw-calc .mw-results { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--s-5); margin-top: var(--s-5); }
.mw-calc.mw-calc .mw-block { grid-column: span 6; }
.mw-calc.mw-calc .mw-block-wide { grid-column: 1 / -1; }
.mw-calc.mw-calc .mw-block.mw-tm-card { grid-column: span 5; }
.mw-calc.mw-calc .mw-block.mw-warm-card { grid-column: span 7; }
}
.mw-calc.mw-calc .mw-block { padding: var(--s-4); container-type: inline-size; }
@container mwcalc (min-width: 720px) {
.mw-calc.mw-calc .mw-block { padding: var(--s-5); }
}
.mw-calc.mw-calc .mw-block h2 { font-size: 1.35rem; margin-bottom: var(--s-2); }
.mw-calc.mw-calc .mw-intro { color: var(--mw-text-2); font-size: .95rem; margin-bottom: var(--s-4); max-width: 70ch; }
.mw-calc.mw-calc .mw-foot { color: var(--mw-text-3); font-size: .88rem; margin: var(--s-3) 0 0; }
.mw-calc.mw-calc .mw-results.mw-is-stale .mw-table-scroll,
.mw-calc.mw-calc .mw-results.mw-is-stale .mw-tm { opacity: .4; filter: grayscale(.6); pointer-events: none; }
.mw-calc.mw-calc .mw-field-row { display: grid; gap: var(--s-3); margin-bottom: var(--s-3); }
@container mwcalc (min-width: 560px) {
.mw-calc.mw-calc .mw-field-row { grid-template-columns: 1fr 1fr; }
}
.mw-calc.mw-calc .mw-field.mw-inline { display: grid; gap: 6px; margin-bottom: var(--s-3); }
.mw-calc.mw-calc .mw-field.mw-inline label { font-weight: 700; font-size: .9rem; }
.mw-calc.mw-calc .mw-table-scroll { position: relative; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mw-calc.mw-calc .mw-tbl { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: .98rem; }
.mw-calc.mw-calc .mw-tbl th,
.mw-calc.mw-calc .mw-tbl td { padding: 10px 8px; text-align: left; border-bottom: 1px solid var(--mw-line); vertical-align: middle; }
.mw-calc.mw-calc .mw-tbl thead th { font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; color: var(--mw-text-3); font-weight: 750; white-space: nowrap; }
.mw-calc.mw-calc .mw-tbl tbody th,
.mw-calc.mw-calc .mw-tbl tfoot th { font-weight: 650; color: var(--mw-ink); }
.mw-calc.mw-calc .mw-tbl .mw-num { text-align: right; white-space: nowrap; }
.mw-calc.mw-calc .mw-tbl .mw-strong { font-weight: 750; color: var(--mw-ink); }
.mw-calc.mw-calc .mw-tbl .mw-u { font-weight: 500; color: var(--mw-text-3); font-size: .85em; }
.mw-calc.mw-calc .mw-tbl tbody tr:last-child th,
.mw-calc.mw-calc .mw-tbl tbody tr:last-child td { border-bottom: 0; }
.mw-calc.mw-calc .mw-tbl tfoot th,
.mw-calc.mw-calc .mw-tbl tfoot td { border-top: 2px solid var(--mw-ink); border-bottom: 0; padding-top: 12px; font-weight: 750; }
.mw-calc.mw-calc .mw-is-yours { background: rgba(183, 240, 0, .3); }
.mw-calc.mw-calc .mw-is-yours th { border-radius: 8px 0 0 8px; }
.mw-calc.mw-calc .mw-tag { margin-left: var(--s-2); padding: 2px 8px; border-radius: 99px; background: var(--mw-ink); color: var(--mw-accent); font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; vertical-align: 2px; }
.mw-calc.mw-calc .mw-is-top th,
.mw-calc.mw-calc .mw-is-top td { background: rgba(183, 240, 0, .3); font-weight: 750; }
.mw-calc.mw-calc .mw-zone-col { display: none; color: var(--mw-text-2); }
.mw-calc.mw-calc .mw-zone-inline { display: block; font-size: .75rem; font-weight: 500; color: var(--mw-text-3); }
@container (min-width: 500px) {
.mw-calc.mw-calc .mw-zone-col { display: table-cell; }
.mw-calc.mw-calc .mw-zone-inline { display: none; }
}
.mw-calc.mw-calc .mw-tbl .mw-zone-col { font-size: .9rem; }
.mw-calc.mw-calc .mw-formulas { min-width: 300px; }
.mw-calc.mw-calc .mw-formulas .mw-delta { color: var(--mw-text-2); font-size: .92rem; }
.mw-calc.mw-calc .mw-formulas .mw-tog { width: 52px; text-align: right; padding-right: 0; }
.mw-calc.mw-calc .mw-f-row.mw-is-off .mw-num { opacity: .5; }
.mw-calc.mw-calc .mw-f-row.mw-is-off .mw-fname { color: var(--mw-text-3); }
.mw-calc.mw-calc .mw-check { position: relative; display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.mw-calc.mw-calc .mw-check input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.mw-calc.mw-calc .mw-box { width: 22px; height: 22px; border-radius: 7px; border: 2px solid var(--mw-line-strong); background: var(--mw-surface); flex: none; display: grid; place-items: center; transition: background .12s, border-color .12s; }
.mw-calc.mw-calc .mw-check input:checked + .mw-box { background: var(--mw-ink); border-color: var(--mw-ink); }
.mw-calc.mw-calc .mw-check input:checked + .mw-box::after { content: ""; width: 6px; height: 11px; margin-top: -2px; border: solid var(--mw-accent); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.mw-calc.mw-calc .mw-check input:focus-visible + .mw-box { outline: 3px solid var(--mw-ink); outline-offset: 2px; }
.mw-calc.mw-calc .mw-icon-btn { width: 44px; height: 44px; border-radius: 12px; border: 1px solid transparent; background: transparent; display: inline-grid; place-items: center; color: var(--mw-ink); }
.mw-calc.mw-calc .mw-icon-btn:hover { background: var(--mw-surface-2); border-color: var(--mw-line); }
.mw-calc.mw-calc .mw-icon-btn .mw-i { transition: transform .2s; }
.mw-calc.mw-calc .mw-icon-btn[aria-expanded="true"] .mw-i { transform: rotate(180deg); }
.mw-calc.mw-calc .mw-math-row td { background: var(--mw-surface-2); padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--mw-line); }
.mw-calc.mw-calc .mw-math-row[hidden] { display: none; }
.mw-calc.mw-calc .mw-math-row p { margin: 0 0 var(--s-2); font-size: .92rem; }
.mw-calc.mw-calc .mw-math-row p:last-child { margin: 0; }
.mw-calc.mw-calc .mw-math-row code { font-family: var(--font-mono); font-size: .86rem; background: var(--mw-surface); border: 1px solid var(--mw-line); padding: 2px 6px; border-radius: 6px; overflow-wrap: anywhere; }
.mw-calc.mw-calc .mw-where { color: var(--mw-text-3); font-size: .85rem; }
.mw-calc.mw-calc .mw-fnote { color: var(--mw-text-2); }
.mw-calc.mw-calc .mw-tm { padding: var(--s-4); border-radius: var(--r); background: var(--mw-surface-2); border: 1px solid var(--mw-line); }
.mw-calc.mw-calc .mw-tm-num { margin: 0; font-size: 3rem; line-height: 1.05; font-weight: 800; letter-spacing: -.035em; color: var(--mw-ink); font-variant-numeric: tabular-nums; }
.mw-calc.mw-calc .mw-tm-num .mw-u { font-size: 1.2rem; font-weight: 650; color: var(--mw-text-3); letter-spacing: 0; }
.mw-calc.mw-calc .mw-tm-sub { margin: var(--s-2) 0 0; color: var(--mw-text-2); font-size: .93rem; }
.mw-calc.mw-calc .mw-tm-use { margin: var(--s-4) 0 0; padding-left: 1.1em; color: var(--mw-text-2); font-size: .93rem; }
.mw-calc.mw-calc .mw-tm-use li { margin-bottom: 6px; }
.mw-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); background: var(--mw-ink); color: #fff; padding: 12px 20px; border-radius: 99px; font-weight: 650; font-size: .93rem; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; z-index: 60; box-shadow: 0 8px 30px rgba(0, 0, 0, .3); max-width: calc(100vw - 32px); text-align: center; }
.mw-toast.mw-show { opacity: 1; transform: translate(-50%, 0); }
@media (prefers-reduced-motion: reduce) {
.mw-calc *, .mw-calc *::before, .mw-calc *::after, .mw-toast { animation: none !important; transition: none !important; }
}
@container mwcalc (max-width: 380px) {
.mw-calc.mw-calc .mw-num-input { grid-template-columns: 48px minmax(0, 1fr) 48px; }
.mw-calc.mw-calc .mw-step { height: 52px; }
.mw-calc.mw-calc .mw-num-wrap input { height: 52px; font-size: 1.35rem; padding-right: 54px; }
.mw-calc.mw-calc .mw-seg label { font-size: .85rem; padding: 0 4px; }
.mw-calc.mw-calc .mw-tbl th,
.mw-calc.mw-calc .mw-tbl td { padding: 10px 5px; }
.mw-calc.mw-calc .mw-tbl { font-size: .93rem; }
}
/* Select hover/focus */
.mw-calc.mw-calc select:hover { border-color: var(--mw-ink); }
.mw-calc.mw-calc select:focus { outline: none; border-color: var(--mw-ink); box-shadow: 0 0 0 4px rgba(183, 240, 0, .4); }
.mw-calc.mw-calc .mw-hero-result :focus-visible { outline-color: var(--mw-accent); }
.mw-calc.mw-calc .mw-block h2 { margin-bottom: var(--s-2); }

/* ---- Hardening against aggressive theme CSS (found by testing against a deliberately hostile theme) ---- */
.mw-calc.mw-calc p { font-size: inherit; line-height: inherit; text-align: left; color: inherit; letter-spacing: normal; margin: 0 0 var(--s-3); }
.mw-calc.mw-calc label { margin: 0; font-size: inherit; font-weight: inherit; color: inherit; letter-spacing: normal; text-transform: none; line-height: inherit; }
.mw-calc.mw-calc legend { font-size: .95rem; line-height: 1.3; }
.mw-calc.mw-calc li { font-size: inherit; line-height: inherit; margin: 0 0 6px; padding: 0; }
.mw-calc.mw-calc ul { margin: var(--s-4) 0 0; padding: 0 0 0 1.1em; }
.mw-calc.mw-calc .mw-i { width: 18px; height: 18px; max-width: none; min-width: 0; fill: none; flex: none; }
.mw-calc.mw-calc .mw-step .mw-i { width: 20px; height: 20px; }
.mw-calc.mw-calc svg { fill: none; }
.mw-calc.mw-calc summary { background: none; padding: 0; margin: 0; font-size: .93rem; line-height: 1.4; letter-spacing: normal; text-transform: none; border: 0; }
.mw-calc.mw-calc details { background: none; padding: 0; margin: 0; border: 0; font-size: inherit; }
.mw-calc.mw-calc .mw-adv { border-top: 1px solid var(--mw-line); padding-top: var(--s-3); }
.mw-calc.mw-calc .mw-tbl th, .mw-calc.mw-calc .mw-tbl td { border: 0; border-bottom: 1px solid var(--mw-line); font-size: 1em; line-height: 1.4; text-align: left; background: none; width: auto; letter-spacing: normal; text-transform: none; }
.mw-calc.mw-calc .mw-tbl .mw-num { text-align: right; }
.mw-calc.mw-calc .mw-tbl tbody tr:last-child th, .mw-calc.mw-calc .mw-tbl tbody tr:last-child td { border-bottom: 0; }
.mw-calc.mw-calc .mw-tbl tfoot th, .mw-calc.mw-calc .mw-tbl tfoot td { border-top: 2px solid var(--mw-ink); border-bottom: 0; }
.mw-calc.mw-calc .mw-tbl thead th { font-size: .72rem; line-height: 1.3; }
.mw-calc.mw-calc .mw-tbl .mw-is-yours, .mw-calc.mw-calc .mw-tbl .mw-is-top th, .mw-calc.mw-calc .mw-tbl .mw-is-top td { background: rgba(183, 240, 0, .3); }
.mw-calc.mw-calc .mw-math-row td { background: var(--mw-surface-2); border-bottom: 1px solid var(--mw-line); }
.mw-calc.mw-calc .mw-math-row code { padding: 2px 6px; font-size: .86rem; line-height: 1.5; background: var(--mw-surface); color: var(--mw-text); border: 1px solid var(--mw-line); border-radius: 6px; }
.mw-calc.mw-calc select { font-size: 1rem; line-height: normal; border-style: solid; padding-top: 0; padding-bottom: 0; }
.mw-calc.mw-calc input[type="text"] { border-style: solid; background-image: none; }
.mw-calc.mw-calc .mw-num-wrap input { font-size: 1.5rem; line-height: normal; padding-top: 0; padding-bottom: 0; }
.mw-calc.mw-calc .mw-seg input { width: 1px; height: 1px; opacity: 0; position: absolute; margin: 0; padding: 0; border: 0; }
.mw-calc.mw-calc .mw-seg label { font-size: .92rem; font-weight: 650; line-height: 1.2; margin: 0; }
.mw-calc.mw-calc .mw-check input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; padding: 0; border: 0; }
.mw-calc.mw-calc .mw-btn, .mw-calc.mw-calc .mw-step, .mw-calc.mw-calc .mw-icon-btn { line-height: 1.2; text-transform: none; letter-spacing: normal; text-shadow: none; }
.mw-calc.mw-calc .mw-btn { font-size: 1rem; font-weight: 700; }
.mw-calc.mw-calc .mw-btn-solid { font-size: .92rem; }
.mw-calc.mw-calc .mw-step { padding: 0; }
.mw-calc.mw-calc .mw-field > label, .mw-calc.mw-calc .mw-field-head label { font-weight: 700; font-size: .95rem; color: var(--mw-ink); }
.mw-calc.mw-calc .mw-field.mw-inline label { font-weight: 700; font-size: .9rem; color: var(--mw-ink); }
.mw-calc.mw-calc .mw-block h2, .mw-calc.mw-calc .mw-block h3, .mw-calc.mw-calc .mw-block h4 { font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; border: 0; color: var(--mw-ink); margin: 0 0 var(--s-2); text-transform: none; }
.mw-calc.mw-calc .mw-tm-use { margin: var(--s-4) 0 0; padding-left: 1.1em; font-size: .93rem; color: var(--mw-text-2); }
.mw-calc.mw-calc .mw-tm-use li { font-size: .93rem; margin-bottom: 6px; }

/* Form column must never be wider than its card (grid items default to min-width:auto) */
.mw-calc.mw-calc .mw-form { grid-template-columns: minmax(0, 1fr); }
.mw-calc.mw-calc .mw-form-actions { grid-template-columns: minmax(0, 1fr) auto; }
.mw-calc.mw-calc .mw-btn { min-width: 0; }
@container mwcalc (max-width: 380px) {
  .mw-calc.mw-calc .mw-form-actions { grid-template-columns: minmax(0, 1fr); }
}

/* Optional extras ------------------------------------------------------- */
.mw-calc.mw-calc.mw-elevated .mw-card:not(.mw-hero-result) { box-shadow: 0 24px 60px rgba(0, 0, 0, .28); }
.mw-calc.mw-calc.mw-elevated .mw-hero-result { box-shadow: 0 24px 60px rgba(0, 0, 0, .28); }
/* Put class "mw-reveal-section" on the Elementor container that wraps the results so the whole band appears after Calculate.
   Results revealed only after the visitor calculates (still in the HTML for crawlers) */
html.mw-reveal-armed:not(.mw-results-revealed) .mw-reveal-section,
html.mw-reveal-armed:not(.mw-results-revealed) .mw-calc.mw-calc .mw-results { display: none !important; }
html.mw-results-revealed .mw-calc.mw-calc[data-mw-reveal] .mw-results { animation: mw-rise .4s ease-out; }
@keyframes mw-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
/* On-screen the print clone never shows */
.mw-print-root { display: none; }

/* Print / Save as PDF: JS clones the result into .mw-print-root and adds body.mw-printing */
@media print {
  @page { margin: 14mm; }
  body.mw-printing > *:not(.mw-print-root) { display: none !important; }
  body.mw-printing .mw-print-root { display: block !important; color: #000; background: #fff; font: 400 11pt/1.45 var(--font); }
  .mw-print-root .mw-card { box-shadow: none; border: 1px solid #999; border-radius: 8px; break-inside: avoid; margin: 0 0 8mm; padding: 6mm; background: #fff; }
  .mw-print-root .mw-hero-result { background: #fff !important; color: #000; }
  .mw-print-root .mw-hero-result * { color: #000 !important; }
  .mw-print-root .mw-actions, .mw-print-root .mw-disclaimer-s, .mw-print-root .mw-intro, .mw-print-root .mw-tog,
  .mw-print-root .mw-field, .mw-print-root .mw-field-row, .mw-print-root .mw-tm-use, .mw-print-root .mw-math-row,
  .mw-print-root .mw-range, .mw-print-root .mw-box, .mw-print-root svg { display: none !important; }
  .mw-print-root .mw-big-num { font-size: 40pt; font-weight: 800; }
  .mw-print-root .mw-tbl { width: 100%; border-collapse: collapse; font-size: 10pt; }
  .mw-print-root .mw-tbl th, .mw-print-root .mw-tbl td { padding: 4px 6px; border-bottom: 1px solid #ccc; text-align: left; }
  .mw-print-root .mw-tbl .mw-num { text-align: right; }
  .mw-print-root .mw-zone-col { display: table-cell; }
  .mw-print-root .mw-zone-inline { display: none; }
  .mw-print-root .mw-is-yours, .mw-print-root .mw-is-top th, .mw-print-root .mw-is-top td { background: #eee !important; }
  .mw-print-root h2 { font-size: 14pt; margin: 0 0 3mm; }
  .mw-print-root .mw-print-note { font-size: 9pt; color: #444; }
}

/* Optional heading block + safety note inside the form card */
.mw-calc.mw-calc .mw-form-head { margin: 0 0 var(--s-1); }
.mw-calc.mw-calc .mw-form-title { margin: 0 0 6px; font-size: 1.4rem; line-height: 1.2; font-weight: 800; letter-spacing: -.02em; color: var(--mw-ink); }
.mw-calc.mw-calc .mw-form-intro { margin: 0; color: var(--mw-text-2); font-size: .98rem; }
.mw-calc.mw-calc .mw-safety { margin: 0; padding-top: var(--s-3); border-top: 1px solid var(--mw-line); font-size: .8rem; line-height: 1.5; color: var(--mw-text-3); }
/* Reveal mode: the headline result card also waits for the first calculation */
html.mw-reveal-armed:not(.mw-results-revealed) .mw-calc.mw-calc .mw-hero-result { display: none !important; }
html.mw-results-revealed .mw-calc.mw-calc .mw-hero-result { animation: mw-rise .4s ease-out; }
.mw-calc.mw-calc .mw-tbl thead th.mw-zone-col { font-size: .72rem; }
.mw-calc.mw-calc .mw-adv summary { list-style: none; justify-content: space-between; }
.mw-calc.mw-calc .mw-adv summary::-webkit-details-marker { display: none; }
.mw-calc.mw-calc .mw-adv summary::after { content: ""; width: 16px; height: 16px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23111315' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); transition: transform .2s; }
.mw-calc.mw-calc .mw-adv[open] summary::after { transform: rotate(180deg); }
@container mwcalc (max-width: 480px) { .mw-calc.mw-calc .mw-form-title { font-size: 1.25rem; } }

/* ---------- Light theme (default): white page, #111315 text, #B7F000 accents ---------- */
.mw-calc.mw-calc.mw-theme-light .mw-hero-result { background: var(--mw-surface); color: var(--mw-ink); border: 1px solid var(--mw-line-strong); box-shadow: inset 0 4px 0 var(--mw-accent); }
.mw-calc.mw-calc.mw-theme-light .mw-eyebrow { color: var(--mw-text-3); }
.mw-calc.mw-calc.mw-theme-light .mw-big-num { color: var(--mw-ink); background: linear-gradient(transparent 64%, var(--mw-accent) 64%, var(--mw-accent) 92%, transparent 92%); padding: 0 .06em; }
.mw-calc.mw-calc.mw-theme-light .mw-big-unit { color: var(--mw-text-2); }
.mw-calc.mw-calc.mw-theme-light .mw-alt { color: var(--mw-text-2); }
.mw-calc.mw-calc.mw-theme-light .mw-basis, .mw-calc.mw-calc.mw-theme-light .mw-agree, .mw-calc.mw-calc.mw-theme-light .mw-range-labels { color: var(--mw-text-3); }
.mw-calc.mw-calc.mw-theme-light .mw-empty-msg { color: var(--mw-ink); }
.mw-calc.mw-calc.mw-theme-light .mw-dot { background: var(--mw-text-3); }
.mw-calc.mw-calc.mw-theme-light .mw-dot-main { background: var(--mw-accent); box-shadow: 0 0 0 2px var(--mw-ink), 0 0 0 7px rgba(183, 240, 0, .35); }
.mw-calc.mw-calc.mw-theme-light .mw-track { background: var(--mw-line); }
.mw-calc.mw-calc.mw-theme-light .mw-btn-solid { background: var(--mw-surface-2); border-color: var(--mw-line-strong); color: var(--mw-ink); }
.mw-calc.mw-calc.mw-theme-light .mw-btn-solid:hover:not(:disabled) { background: var(--mw-accent); border-color: var(--mw-accent); }
.mw-calc.mw-calc.mw-theme-light .mw-warn { background: #fff6d6; color: #5a4300; }
.mw-calc.mw-calc.mw-theme-light .mw-hero-result :focus-visible { outline-color: var(--mw-ink); }
.mw-calc.mw-calc.mw-theme-light.mw-elevated .mw-hero-result, .mw-calc.mw-calc.mw-theme-light.mw-elevated .mw-card:not(.mw-hero-result) { box-shadow: 0 18px 44px rgba(17, 19, 21, .12); }
.mw-calc.mw-calc.mw-theme-light.mw-elevated .mw-hero-result { box-shadow: inset 0 4px 0 var(--mw-accent), 0 18px 44px rgba(17, 19, 21, .12); }

/* ---------- Simple / Coach view ---------- */
.mw-calc.mw-calc .mw-mode-field { margin-bottom: var(--s-3); }
.mw-calc.mw-calc .mw-mode { max-width: 240px; }
.mw-calc.mw-calc .mw-mode-hint { margin: var(--s-2) 0 0; }
html.mw-mode-simple .mw-calc .mw-effort-field, html.mw-mode-simple .mw-calc .mw-round-field,
html.mw-mode-simple .mw-calc .mw-block-wide, html.mw-mode-simple .mw-calc .mw-tm-card,
html.mw-mode-simple .mw-calc .mw-warm-card { display: none !important; }
