/* MwSt24 v2 – Responsive */

/* <= 1020px */
@media (max-width: 1020px) {
	.card-grid, .topic-grid { grid-template-columns: repeat(2, 1fr); }
	.allrechner-grid { grid-template-columns: repeat(2, 1fr); }
	.calc-page-grid { grid-template-columns: 1fr; }
	.calc-page-grid .mwst-widget { max-width: 540px; }
	.footer-grid { grid-template-columns: 1fr 1fr; }
	.hero-grid { gap: 36px; }
}

/* <= 860px: mobiles Menü */
@media (max-width: 860px) {
	.nav-toggle { display: block; }
	.primary-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--card);
		border-bottom: 1px solid var(--border);
		box-shadow: var(--shadow-lg);
		flex-direction: column;
		align-items: stretch;
		padding: 12px 22px 20px;
		gap: 0;
	}
	.primary-nav.is-open { display: flex; }
	.nav-list { flex-direction: column; }
	.nav-list a { padding: 13px 6px; font-size: 1rem; }
	.nav-list .sub-menu {
		position: static;
		display: none;
		box-shadow: none;
		border: 0;
		border-left: 3px solid var(--green-100);
		border-radius: 0;
		padding: 0 0 0 14px;
		margin: 0 0 8px;
	}
	.nav-list .menu-item-has-children.sub-open > .sub-menu { display: block; }
	.site-header { position: sticky; }
	.header-inner { position: relative; min-height: 66px; }
	.lang-badge, .search-link { display: none; }
	.hero { padding: 48px 0 56px; }
	.hero-grid { grid-template-columns: 1fr; }
	.mwst-widget { max-width: 540px; }
	.steps { grid-template-columns: 1fr; }
	.rate-grid { grid-template-columns: 1fr; }
	.news-banner { grid-template-columns: 1fr; padding: 30px 26px; }
	.news-banner::before { font-size: 4rem; right: 18px; }
}

/* <= 640px */
@media (max-width: 640px) {
	body { font-size: 16px; }
	.section { padding: 44px 0; }
	.card-grid, .topic-grid, .allrechner-grid { grid-template-columns: 1fr; }
	.footer-grid { grid-template-columns: 1fr; gap: 26px; padding: 44px 22px 30px; }
	.mwst-widget { padding: 20px 16px; border-radius: 18px; }
	.mwst-tabs { flex-wrap: wrap; }
	.mwst-tab { font-size: 0.78rem; }
	.mwst-amount, .mwst-custom { font-size: 1.15rem; }
	.mwst-result-grid { grid-template-columns: 1fr; gap: 8px; text-align: left; }
	.mwst-result-cell { display: flex; justify-content: space-between; align-items: center; padding: 11px 15px; }
	.mwst-result-label { margin-bottom: 0; }
	table.data-table { font-size: 0.87rem; }
	table.data-table th, table.data-table td { padding: 9px 11px; }
	.table-scroll table.data-table { min-width: 540px; }
	.trust-badges li { font-size: 0.82rem; padding: 7px 13px; }
	.hero-copy .lead { font-size: 1.02rem; }
	.calc-page-grid { gap: 28px; }
}
