/* Tax calculators page. Theme tokens, header, buttons and fonts come from /library/library.css; shell from /guides/advice.css. */
.calc-wrap{display:block;}
.calc-wrap > section,.calc-wrap > div{min-width:0;}
.calc-h,.tables-block h2,.about-calcs h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,1vw + 1rem,1.8rem);line-height:1.2;margin:0 0 16px;text-wrap:balance;}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--text);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.svc-hero .btn-ghost{border-color:var(--line-on-inverse);color:var(--text-on-inverse);}
.svc-hero .btn-ghost:hover{border-color:var(--accent-on-inverse);color:var(--accent-on-inverse);}
.card .btn-primary,.calc-form .btn-primary{color:#fff;}

/* picker */
.picker{display:grid;gap:24px;margin:0 0 28px;}
.pick-group h3{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-weight:400;}
.pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;}
.pick{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--bg-raised);border:1px solid var(--line);border-radius:2px;border-top:3px solid var(--line-strong);transition:border-color .15s,box-shadow .15s;}
.pick strong{font-family:var(--font-display);font-size:1.08rem;font-weight:600;line-height:1.25;color:var(--text);}
.pick span{font-size:.88rem;color:var(--text-muted);line-height:1.45;}
.pick:hover{border-color:var(--accent);}
.pick:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.pick[aria-pressed="true"]{border-color:var(--accent);border-top-color:var(--accent);box-shadow:0 1px 2px rgba(0,40,48,.10),0 10px 26px -18px rgba(0,40,48,.5);}
.pick[aria-pressed="true"] strong{color:var(--accent);}

/* form and result */
.calc-layout{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:clamp(20px,3vw,36px);align-items:start;margin-bottom:56px;scroll-margin-top:90px;}
.calc-layout.wide{grid-template-columns:minmax(0,1fr);}
.calc-layout.wide .calc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 24px;}
.calc-layout.wide .calc-form h2,.calc-layout.wide .calc-form .actions{grid-column:1/-1;}
#calc-panel{scroll-margin-top:90px;}
.calc-form h2{font-family:var(--font-display);font-weight:600;font-size:1.3rem;margin:0 0 14px;}
.field{margin:0 0 14px;}
.field label{display:block;font-size:.9rem;font-weight:600;margin-bottom:5px;line-height:1.35;}
.field small{display:block;color:var(--text-muted);font-size:.82rem;margin-top:4px;line-height:1.4;}
.field input[type="text"],.field select{width:100%;font:inherit;font-size:1rem;padding:10px 12px;border:1px solid var(--line-strong);border-radius:2px;background:var(--bg);color:var(--text);min-height:44px;}
.field select{appearance:auto;}
.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);}
.money-wrap{display:flex;align-items:stretch;}
.money-wrap .pound{display:flex;align-items:center;padding:0 12px;border:1px solid var(--line-strong);border-right:0;border-radius:2px 0 0 2px;background:var(--bg-raised);color:var(--text-muted);font-weight:600;}
.money-wrap input{border-radius:0 2px 2px 0 !important;}
.field.check{display:flex;gap:10px;align-items:flex-start;}
.field.check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--accent);}
.field.check label{margin:0;font-weight:400;}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.calc-result{padding:clamp(18px,2.4vw,28px);}
.headline{display:flex;flex-direction:column;gap:2px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px;}
.hl-label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
.hl-value{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,3vw + .8rem,3rem);line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums;}
.hl-sub{color:var(--text-muted);font-size:.95rem;}
.splitbar{display:flex;height:16px;border-radius:2px;overflow:hidden;background:var(--line);margin:0 0 10px;}
.seg{display:block;height:100%;min-width:2px;}
.seg.keep,.sw.keep{background:#016c7c;}
.seg.tax,.sw.tax{background:#0d2a30;}
.seg.ni,.sw.ni{background:#46a37a;}
.seg.other,.sw.other{background:#e0a458;}
.seg.pen,.sw.pen{background:#9fc4c8;}
.legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:0;margin:0 0 20px;font-size:.88rem;color:var(--text-muted);}
.legend li{display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums;}
.sw{display:inline-block;width:11px;height:11px;border-radius:2px;}
.tbl{margin:0 0 22px;}
.tbl h4{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:400;margin:0 0 6px;}
.tbl-scroll{overflow-x:auto;}
.tbl table{width:100%;border-collapse:collapse;font-size:.95rem;font-variant-numeric:tabular-nums;}
.tbl th,.tbl td{padding:8px 10px 8px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.tbl thead th{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:400;border-bottom:1px solid var(--line-strong);}
.tbl tbody th{font-weight:400;}
.tbl .num{text-align:right;padding-right:0;padding-left:10px;white-space:nowrap;}
.tbl tr.strong th,.tbl tr.strong td{font-weight:700;border-bottom:1px solid var(--line-strong);}
.tbl.wide table{min-width:640px;}
.tbl.wide .num{padding-left:14px;}
.calc-notes{margin:0 0 14px;padding-left:1.2em;color:var(--text-muted);font-size:.92rem;}
.calc-notes li{margin-bottom:.5em;}
.calc-assume{font-size:.85rem;color:var(--text-muted);margin:0;padding-top:12px;border-top:1px solid var(--line);}

/* tax tables */
.tables-block{margin:0 0 56px;scroll-margin-top:90px;}
.tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:18px;}
.tables-grid h3{font-family:var(--font-display);font-weight:600;font-size:1.25rem;margin:0 0 8px;}
.tables-grid p{margin:0 0 14px;color:var(--text-muted);}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 !important;}

.about-calcs{max-width:78ch;margin-bottom:40px;}
.calc-index{list-style:none;padding:0;margin:0 0 28px;}
.calc-index li{padding:12px 0;border-top:1px solid var(--line);}
.calc-index li:last-child{border-bottom:1px solid var(--line);}
.calc-index h3{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin:0 0 4px;}
.calc-index p{margin:0;color:var(--text-muted);}
.calc-wrap .contact-card{max-width:520px;}

@media (max-width:900px){
  .calc-layout{grid-template-columns:minmax(0,1fr);}
  .pick-list{grid-template-columns:minmax(0,1fr);}
}
@media print{
  header.site,.svc-hero .cta-row,#calc-picker,.tables-block,.about-calcs,.contact-card,.svc-foot,.actions,.calc-h,noscript{display:none !important;}
  body{background:#fff;color:#000;}
  .calc-layout{display:block;margin:0;}
  .calc-form{border:0;padding:0;}
  .calc-result{border:0;box-shadow:none;}
  .field small{display:none;}
}
