/* Cheque bounce deadline calculator */
.calc-card { background: #fff; border: 1px solid var(--rule); border-top: 4px solid var(--brass); border-radius: 14px; box-shadow: var(--shadow); padding: 1.75rem 1.75rem 1.5rem; }
.calc.form { max-width: none; }
.calc fieldset { border: 0; padding: 0 0 1.25rem; margin: 0 0 1.25rem; border-bottom: 1px solid var(--rule); }
.calc legend { display: flex; align-items: center; gap: .65rem; font: 600 1.2rem var(--serif); margin-bottom: .9rem; padding: 0; }
.calc legend .n { width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--green); color: var(--brass-light); font: 600 .85rem/1.8rem var(--sans); text-align: center; flex: none; }
.calc .hint { display: block; font-weight: 400; color: var(--muted); font-size: .85rem; margin-top: .3rem; }
.calc .req { color: #A3322A; }
.calc-buttons { display: flex; gap: .75rem; flex-wrap: wrap; }
.calc-error { margin-top: 1.25rem; }
.calc-error p { margin: 0 0 .3rem; }
.calc-error[hidden], .calc-result[hidden], .calc-summary[hidden], #calc-wa[hidden] { display: none; }
.calc-result { margin-top: 2rem; scroll-margin-top: 100px; }
.calc-summary { background: linear-gradient(140deg, var(--green) 0%, #0E2A22 100%); color: #C9D6CF; border-radius: 14px; padding: 1.4rem 1.6rem; margin-bottom: 1.5rem; }
.calc-summary .k { font: 700 .7rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--brass-light); margin: 0 0 .6rem; }
.calc-summary .d { font: 600 clamp(1.5rem, 3.4vw, 2rem)/1.2 var(--serif); color: #fff; margin: 0 0 .35rem; }
.calc-summary .s { margin: 0; font-weight: 600; }
.cs-list { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .9rem; }
.cs-step { border: 1px solid var(--rule); border-left: 4px solid var(--rule); border-radius: 10px; padding: 1rem 1.2rem; background: #fff; }
.cs-top { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; }
.cs-title { font-weight: 600; font-size: .95rem; color: var(--muted); }
.cs-date { font: 600 1.3rem/1.3 var(--serif); color: var(--ink); margin: .3rem 0 .35rem; font-variant-numeric: tabular-nums; }
.cs-note { margin: 0; font-size: .93rem; color: var(--muted); line-height: 1.55; }
.cs-badge { font: 700 .72rem/1 var(--sans); letter-spacing: .04em; padding: .4rem .6rem; border-radius: 999px; white-space: nowrap; }
.cs-ok { border-left-color: #2F6B45; } .cs-ok .cs-badge { background: #E6F0E8; color: #23573A; }
.cs-due { border-left-color: var(--brass); } .cs-due .cs-badge { background: #F6EBCF; color: #7A5812; }
.cs-late { border-left-color: #A3322A; } .cs-late .cs-badge { background: #F7E9E7; color: #8E2B24; }
.cs-info { border-left-color: var(--green-3); } .cs-info .cs-badge { background: var(--tint); color: var(--green); }
.calc-today { font-size: .88rem; color: var(--muted); margin: 0 0 1rem; }
.calc-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.calc-explain { margin-top: 3rem; }
@media (max-width: 680px) {
  .calc-card { padding: 1.25rem 1.1rem; }
  .calc-buttons .btn { flex: 1 1 100%; }
}
@media print {
  .topbar, .site-header, .crumbs, .site-footer, .whatsapp, .to-top, .aside-contact, .progress, .modal, .toast,
  .calc fieldset, .calc-buttons, .calc-actions, .calc-explain { display: none !important; }
  .practice { display: block; }
  .calc-card { box-shadow: none; border: 0; padding: 0; }
}
