.box:has(.rechner-container),
.rechnerbox:has(.rechner-container),
#grunderwerbsteuerrechner:has(.rechner-container) {
width: auto !important;
max-width: none !important;
background: transparent !important;
padding: 0 !important;
border: none !important;
box-shadow: none !important;
margin: 0 !important;
border-radius: 0 !important;
} .rechner-container {
max-width: 600px;
margin: 15px auto 30px;
padding: 28px;
background: var(--bg-color, #fff);
border-radius: 16px;
box-shadow: 0 10px 30px var(--shadow, rgba(0,0,0,0.08));
font-family: Inter, sans-serif;
color: var(--text-color, #0a1b33);
box-sizing: border-box;
}
.rechner-container *,
.rechner-container *::before,
.rechner-container *::after { box-sizing: border-box; }
.rechner-container h3,
.rechner-container h4 {
margin: 0 0 12px;
font-family: Inter, sans-serif;
font-weight: 700;
color: var(--text-color, #0a1b33);
text-align: center;
} .rechner-hint {
margin: 0 0 16px;
padding: 10px 14px;
background: var(--secondary-color, #dfeaf9);
border-radius: 10px;
font-size: 14px;
line-height: 1.45;
color: var(--text-color, #0a1b33);
}
.rechner-hint strong { font-weight: 700; } .rechner-switch {
display: flex;
justify-content: center;
gap: 8px;
margin: 0 auto 18px;
flex-wrap: wrap;
}
.rechner-switch button {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
background: var(--secondary-color, #dfeaf9);
border: 2px solid transparent;
border-radius: 30px;
cursor: pointer;
font-family: Inter, sans-serif;
font-size: 14px;
font-weight: 600;
color: var(--text-color, #0a1b33);
transition: all 0.2s ease;
line-height: 1.2;
}
.rechner-switch button:hover { background: #c8dcf6; }
.rechner-switch button.active {
border-color: var(--primary-color, #215dbf);
background: #eff5ff;
color: var(--primary-color, #215dbf);
} .rechner-equation,
.rechner-stack {
display: flex;
gap: 12px;
margin-bottom: 16px;
align-items: flex-end;
}
.rechner-equation { flex-wrap: nowrap; }
.rechner-stack { flex-direction: column; align-items: stretch; }
.rechner-equation .input-group,
.rechner-stack .input-group {
display: flex;
flex-direction: column;
flex: 1;
min-width: 0;
}
.rechner-equation .input-group label,
.rechner-stack .input-group label {
font-size: 13px;
font-weight: 700;
margin-bottom: 6px;
color: var(--text-color, #0a1b33);
text-align: left;
}
.rechner-equation .input-group input[type="text"],
.rechner-equation .input-group input[type="number"],
.rechner-equation .input-group input[type="time"],
.rechner-stack .input-group input[type="text"],
.rechner-stack .input-group input[type="number"],
.rechner-stack .input-group input[type="time"],
.rechner-stack .input-group select {
padding: 12px 16px;
font-size: 17px;
font-family: Inter, sans-serif;
border: 1px solid var(--border-color, #ccc);
border-radius: 30px;
height: 48px; width: 100% !important;
min-width: 0 !important;
max-width: 100%;
background: var(--input-bg, #fff);
color: var(--text-color, #0a1b33);
transition: border-color 0.2s ease, box-shadow 0.2s ease;
appearance: none;
box-sizing: border-box;
margin: 0;
}
.rechner-equation .input-group input:focus,
.rechner-stack .input-group input:focus,
.rechner-stack .input-group select:focus {
border-color: var(--primary-color, #215dbf);
box-shadow: 0 0 0 3px rgba(33,93,191,0.15);
outline: none;
}
.rechner-stack .input-group select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23215dbf' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 18px center;
padding-right: 40px;
} .rechner-equation .operator {
flex: 0 0 auto;
font-size: 22px;
font-weight: 400;
color: var(--text-color, #0a1b33);
padding: 0 2px;
align-self: center;
margin-bottom: 10px;
} .rechner-container input.calculated {
background-color: #f0f9ff;
border-color: #a0d3f5;
font-weight: 700;
} .rechner-vat { margin: 14px 0; }
.rechner-vat .vat-label {
display: block;
font-size: 13px;
font-weight: 700;
margin-bottom: 6px;
color: var(--text-color, #0a1b33);
}
.buttongroup {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.buttongroup button {
flex: 1 1 80px;
padding: 11px 14px;
background: var(--secondary-color, #dfeaf9);
border: 2px solid transparent;
border-radius: 30px;
height: 46px;
cursor: pointer;
font-family: Inter, sans-serif;
font-size: 15px;
font-weight: 700;
color: var(--text-color, #0a1b33);
transition: all 0.2s ease;
line-height: 1;
}
.buttongroup button:hover { background: #c8dcf6; }
.buttongroup button.active {
background: #eff5ff;
border-color: var(--primary-color, #215dbf);
color: var(--primary-color, #215dbf);
} .rechner-button {
text-align: center;
margin: 18px 0 14px;
}
.rechner-button button {
padding: 14px 30px;
background: var(--primary-color, #215dbf);
border: none;
color: #fff;
border-radius: 30px;
cursor: pointer;
font-family: Inter, sans-serif;
font-size: 17px;
font-weight: 700;
width: 100%;
height: 52px;
transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
box-shadow: 0 4px 14px rgba(33,93,191,0.25);
}
.rechner-button button:hover {
background: #1a4ea1;
transform: translateY(-1px);
box-shadow: 0 6px 18px rgba(33,93,191,0.32);
}
.rechner-button button:active { transform: translateY(0); } .rechner-clear {
text-align: center;
margin-top: 10px;
}
.rechner-clear button {
padding: 11px 22px;
background: transparent;
border: 2px solid var(--danger-color, #dc2626);
color: var(--danger-color, #dc2626);
border-radius: 30px;
cursor: pointer;
font-size: 14px;
font-weight: 700;
transition: all 0.2s ease;
}
.rechner-clear button:hover {
background: var(--danger-color, #dc2626);
color: #fff;
} .rechner-result {
margin-top: 6px;
padding: 18px 20px;
background: #f4f7fb;
border-radius: 14px;
font-size: 16px;
color: var(--text-color, #0a1b33);
border: 1px solid #e6ecf4;
}
.rechner-result.is-empty { color: #6b7280; }
.rechner-result .result-heading {
display: block;
font-size: 13px;
font-weight: 700;
color: var(--primary-color, #215dbf);
text-transform: uppercase;
letter-spacing: 0.04em;
margin-bottom: 10px;
}
.rechner-result .rechner-result-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 6px 0;
border-bottom: 1px dashed #dde4ef;
gap: 10px;
}
.rechner-result .rechner-result-row:last-child { border-bottom: none; }
.rechner-result .rechner-result-row.is-total {
margin-top: 4px;
padding-top: 10px;
border-top: 2px solid #d3deeb;
border-bottom: none;
font-weight: 700;
}
.rechner-result .rechner-result-label {
color: #4b5563;
font-size: 14px;
}
.rechner-result .rechner-result-value {
font-weight: 700;
font-variant-numeric: tabular-nums;
text-align: right;
}
.rechner-result.is-total-only { text-align: center; }
.rechner-result .big-result {
display: block;
font-size: 28px;
font-weight: 700;
color: var(--primary-color, #215dbf);
margin: 4px 0 2px;
font-variant-numeric: tabular-nums;
}
.rechner-result .big-result-sub {
display: block;
font-size: 13px;
color: #6b7280;
}
.rechner-result .rechner-error {
color: var(--danger-color, #dc2626);
font-size: 14px;
margin-top: 4px;
text-align: center;
} .rechner-copy-btn {
background: transparent;
border: 1px solid #d3deeb;
border-radius: 6px;
cursor: pointer;
padding: 3px 8px;
margin-left: 8px;
font-size: 13px;
line-height: 1;
color: #4b5563;
transition: all 0.15s ease;
}
.rechner-copy-btn:hover {
background: #fff;
border-color: var(--primary-color, #215dbf);
color: var(--primary-color, #215dbf);
}
.rechner-copy-btn.copied {
background: #d1fae5;
border-color: #10b981;
color: #065f46;
} .rechner-history {
margin-top: 22px;
padding-top: 16px;
border-top: 1px solid #e6ecf4;
}
.rechner-history-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.rechner-history-header h4 { margin: 0; font-size: 14px; }
.rechner-history-list p {
font-size: 13px;
color: #4b5563;
border-bottom: 1px solid #f1f5f9;
padding: 5px 0;
margin: 0;
} @media (max-width: 600px) {
.rechner-container {
padding: 22px 18px;
border-radius: 14px;
margin: 10px auto 24px;
}
.rechner-equation {
flex-wrap: wrap;
gap: 8px;
}
.rechner-equation .input-group { flex: 1 1 100%; }
.rechner-equation .operator { display: none; }
.rechner-equation .input-group input[type="text"],
.rechner-equation .input-group input[type="number"] {
font-size: 16px;
height: 46px;
}
.buttongroup button { font-size: 14px; }
.rechner-result .big-result { font-size: 24px; }
}
@media (max-width: 380px) {
.rechner-container { padding: 18px 14px; }
.rechner-button button { font-size: 16px; padding: 13px 20px; }
}