/* DETABIT brand. Shared by the catalog, editors and methodology pages. */
body {
	font-family: var(--ds-font);
	-webkit-font-smoothing: antialiased;
	font-variant-numeric: lining-nums tabular-nums;
}
::selection { background: var(--ds-accent); color: #fff; }
body .site-header {
	background: var(--ds-bg);
	color: var(--ds-text-inverse);
	border-bottom: 1px solid rgb(245 245 242 / 25%);
}
body .header-inner { min-height: var(--ds-header-height); gap: 24px; }
body .brand { gap: 15px; min-height: 44px; font-size: 28px; letter-spacing: -.025em; }
body .brand img { width: 37px; height: 40px; object-fit: contain; }
body .brand-product { color: var(--ds-text-inverse-muted); font-size: 19px; font-weight: 400; margin-left: 4px; letter-spacing: .04em; }
.tools-top-link { margin-left: auto; font-size: 16px; }
body .button, .ds-button, .seo-start {
	border-radius: 0;
	box-shadow: none;
	min-height: 44px;
	transition: background-color .18s ease, color .18s ease;
}
body .button-primary, .ds-button--primary, .seo-start {
	background: var(--ds-accent);
	border-color: var(--ds-accent);
	color: #fff;
}
body .button-primary:hover:not(:disabled), .ds-button--primary:hover:not(:disabled), .seo-start:hover {
	background: var(--ds-accent-hover);
	border-color: var(--ds-accent-hover);
}
:focus-visible { outline: 2px solid var(--ds-focus); outline-offset: 4px; }
body main[detabit_gauss_home] { background: var(--ds-bg); color: var(--ds-text-inverse); }
body .tool-catalog { padding-block: clamp(40px, 5vw, 80px) 70px; }
body .tool-catalog h1 { font-size: clamp(40px, 4.8vw, 72px); line-height: 1.05; letter-spacing: -.03em; }
body .catalog-lead { margin-top: 16px; max-width: 50ch; font-size: 22px; color: var(--ds-text-inverse-muted); }
body .tool-entry {
	display: grid;
	grid-template-columns: minmax(200px, .85fr) minmax(260px, 1fr) auto;
	align-items: center;
	gap: clamp(22px, 4vw, 64px);
	margin: 0;
	padding: 34px 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgb(245 245 242 / 25%);
}
body .tool-entry:first-of-type { margin-top: 42px; border-top: 1px solid rgb(245 245 242 / 25%); }
body .tool-entry > div { display: contents; }
body .tool-entry h2 { font-size: clamp(27px, 2.5vw, 40px); line-height: 1.12; letter-spacing: -.025em; }
body .tool-description { max-width: 40ch; margin: 0; color: var(--ds-text-inverse-muted); font-size: 18px; line-height: 1.4; }
body .tool-open { min-width: 112px; padding: 12px 22px; font-size: 17px; }

.gauss-tools-page, .seo-page { background: var(--ds-canvas); color: var(--ds-text); color-scheme: light; }
.tool-page { padding-top: 28px; }
.tool-intro { margin-block: 22px 32px; align-items: center; }
.tool-intro h1 { font-size: clamp(34px, 3.8vw, 56px); line-height: 1.08; letter-spacing: -.03em; }
.tool-intro p { max-width: 66ch; font-size: 18px; }
.tool-panel { border: 0; border-top: 1px solid var(--ds-border-strong); background: transparent; padding: 22px 0; }
.tool-panel h2 { font-size: 24px; margin-bottom: 8px; }
.tool-guide { border: 0; background: var(--ds-surface); padding: 17px 20px; }
.ds-input, .ds-select, .ds-textarea, .map-title, .property input, .property textarea, .link-add select {
	border-radius: 0;
	background: var(--ds-surface);
	border-color: var(--ds-border-strong);
}
.tool-stat { background: var(--ds-surface); border: 0; padding: 20px; }
.tool-stat strong { font-size: 28px; line-height: 1.15; }
.tool-stat span { line-height: 1.35; }
.tool-note { line-height: 1.5; max-width: 80ch; }
.tool-section-title { font-size: 28px; margin-top: 30px; }
.tax-page #tax-form { max-width: 1200px; }
.tax-page .tax-fields { margin-top: 16px; }
.tax-page .tax-options { border-top: 1px solid var(--ds-border); padding: 16px 0; }
.tax-page .tax-options summary { cursor: pointer; width: fit-content; font-size: 19px; font-weight: 700; }
.tax-page .tax-options[open] summary { margin-bottom: 16px; }
.tax-page .tax-options p { margin-block: 10px; }
.tax-page #advanced-fields { padding: 0; border: 0; }
.tax-page .tax-controls { margin-top: 24px; padding-bottom: 24px; gap: 10px; }
.tax-page .tax-report { border: 0; border-top: 3px solid var(--ds-text); background: var(--ds-surface); padding: 30px; }
.tax-page .tax-report h2 { font-size: 32px; letter-spacing: -.025em; }
.tax-page .tax-report-title { margin-top: 8px; color: var(--ds-text-muted); }
.tax-page .tax-totals { margin-block: 24px; }
.tax-page .tax-totals .tool-stat { padding: 14px 0; border-top: 1px solid var(--ds-border); }
.tax-page .tax-vat-summary { background: var(--ds-canvas); border: 0; padding: 18px; }
.tax-page .tax-table th, .tax-page .tax-table td { padding-block: 12px; border-bottom: 1px solid var(--ds-border); }
.tax-page .tax-table th { font-weight: 400; }
.tax-page .tax-report h3 { margin-top: 22px; font-size: 20px; }
.tax-page .tax-warnings { padding-left: 22px; line-height: 1.5; color: var(--ds-text-muted); }
.tax-page .tax-warnings li + li { margin-top: 8px; }
.tax-page .tax-history { border-top: 1px solid var(--ds-border-strong); margin-top: 24px; padding-top: 24px; }
.seo-page .seo-hero { border-bottom-color: var(--ds-border-strong); }
.seo-page .seo-note { border: 0; background: var(--ds-surface); }
.seo-page .seo-start { font-size: 18px; padding: 15px 24px; }

@media (max-width: 900px) {
	body .tool-entry { grid-template-columns: 1fr auto; gap: 10px 24px; }
	body .tool-entry > div { display: block; }
	body .tool-description { margin-top: 10px; }
}
@media (max-width: 620px) {
	body .brand { font-size: 22px; gap: 11px; }
	body .brand img { width: 29px; height: 32px; }
	body .brand-product { font-size: 15px; }
	.tools-top-link { font-size: 14px; }
	body .tool-entry { grid-template-columns: 1fr; gap: 20px; padding-block: 28px; }
	body .tool-entry h2 { font-size: 28px; }
	body .tool-open { justify-self: start; }
	body .catalog-lead { font-size: 19px; }
	.tool-intro { margin-top: 16px; }
	.tax-page .tax-report { padding: 22px 18px; }
	.tax-page .tax-totals { grid-template-columns: 1fr; gap: 10px; }
}
@media print {
	body, .gauss-tools-page, .seo-page { background: #fff; color: #000; }
	.site-header, .tool-actions, .tax-controls, .tax-history, #tax-form { display: none !important; }
	.tax-page .tax-report { border: 0; padding: 0; }
	.tax-page .tax-report h2 { font-size: 24px; }
	.tool-page { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
	body .button, .ds-button, .seo-start { transition: none; }
}
