/* The calculators of the public site (modules/site/views/tools*.php). The
   hero, the fields and the cards come from lawyers.css. */
.tl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--s5); }
.site .tl-card { display: block; color: inherit; text-decoration: none; }
.site .tl-card h2 { font-size: 22px; margin: 0 0 var(--s3); }
.site .tl-card p { color: var(--ink-2); }
.site .tl-go { display: inline-block; margin-top: var(--s4); color: var(--accent); font-weight: 600; }
.tl-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: var(--s3); align-items: end; }
.tl-fields-fee { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
.tl-fields .lw-field { display: grid; gap: 6px; }
.tl-fields .lw-input { width: 100%; height: 44px; }
.tl-wide { grid-column: 1 / -1; }
.tl-check { grid-column: 1 / 3; display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--ink-2); }
.site .tl-submit { height: 44px; margin-top: 0; }
.site .tl-error { margin-top: var(--s3); color: #b42318; font-size: 14px; }
.site .tl-preset { margin-top: var(--s3); font-size: 14px; color: var(--ink-2); }
.site .tl-result-label { color: var(--ink-3); font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.site .tl-result-value { font-family: var(--serif); font-size: clamp(28px, 4vw, 40px); margin: var(--s2) 0 var(--s4); }
.site .tl-caution { margin: 0 0 var(--s4); padding: var(--s3) var(--s4); border-left: 3px solid #d97706; background: #fff7e6; font-size: 15px; color: var(--ink); }
.site .tl-line { display: block; width: 100%; }
.site .tl-step-note { display: block; color: var(--ink-3); font-size: 13px; }
.site .tl-note { margin-top: var(--s4); color: var(--ink-3); font-size: 14px; }
.site .tl-h2 { font-size: 22px; margin: var(--s7) 0 var(--s4); }
.site .tl-h3 { font-size: 18px; margin: var(--s5) 0 var(--s3); }
.tl-presets { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s5); }
.tl-presets li { display: flex; justify-content: space-between; gap: var(--s3); padding: 10px 0; border-top: 1px solid var(--line); font-size: 15px; }
.tl-presets a { color: var(--accent); }
.tl-presets span { color: var(--ink-3); font-size: 14px; white-space: nowrap; }
.tl-rules { padding-left: 1.2em; display: grid; gap: var(--s3); color: var(--ink-2); max-width: 820px; }
.tl-table { width: 100%; border-collapse: collapse; margin: var(--s3) 0; font-size: 15px; }
.tl-table th, .tl-table td { text-align: left; padding: 8px 10px; border-top: 1px solid var(--line); }
.tl-table th { color: var(--ink-3); font-weight: 500; font-size: 13px; }
@media (max-width: 760px) {
	.tl-fields, .tl-fields-fee { grid-template-columns: minmax(0, 1fr); }
	.tl-check { grid-column: auto; }
	.tl-presets { grid-template-columns: minmax(0, 1fr); }
	.tl-presets li { flex-direction: column; gap: 2px; }
}
/* The ст. 625 form: four fields, the payments under a fold, the button below. */
.tl-fields-625 { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.site .tl-hint { color: var(--ink-3); font-size: 12px; line-height: 1.35; }
.tl-pays { margin-top: var(--s3); }
.tl-pays summary { cursor: pointer; color: var(--accent); font-size: 15px; }
.tl-pay-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); margin-top: var(--s3); max-width: 560px; }
.tl-pay-grid .lw-field { display: grid; gap: 6px; }
.tl-pay-grid .lw-input { width: 100%; height: 44px; }
.site .tl-submit-625 { margin-top: var(--s4); padding: 0 var(--s6); }
.tl-scroll { overflow-x: auto; }
.tl-scroll .tl-table td { white-space: nowrap; }
@media (max-width: 760px) {
	.tl-fields-625 { grid-template-columns: minmax(0, 1fr); }
	.tl-pay-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
