/* AfA-Rechner: Farben des bestehenden Internetauftritts, 22.10.2026. */
#afa {
    --afa-blau: #254061;
    --afa-gelb: #FFDA00;
    --color-tableHighlighter: #FFF7CC;
    --color-pflichtfelder: #FFF1A3;
    --color-relativeFelder: #F0F2F5;
    --color-optionaleFelder: #EDF3F9;
    color: var(--afa-blau);
}
#afa h3, #afa h6, #afa .table { color: var(--afa-blau); }
#afa .form-control {
    color: var(--afa-blau);
    border-color: #B5C2D0;
    border-radius: 6px;
}
#afa .form-control:focus {
    border-color: var(--afa-blau);
    box-shadow: 0 0 0 3px rgba(37, 64, 97, .16);
}
#afa .input-group-text {
    color: var(--afa-blau);
    background: #EDF3F9;
    border-color: #B5C2D0;
}
#afa .btn-outline-success, #afa .afa-tax-reset {
    color: var(--afa-blau);
    background: var(--afa-gelb);
    border: 1px solid var(--afa-gelb);
    border-radius: 8px;
    font-weight: 600;
}
#afa .btn-outline-success:hover, #afa .afa-tax-reset:hover {
    color: #FFFFFF;
    background: var(--afa-blau);
    border-color: var(--afa-blau);
}
#afa button:focus-visible {
    outline: 3px solid var(--afa-blau);
    outline-offset: 3px;
}
#afa .afa-tax-reset:disabled {
    color: #52667E;
    background: #EDF3F9;
    border-color: #B5C2D0;
    cursor: default;
    opacity: 1;
}
#afa .table thead th { border-bottom: 3px solid var(--afa-gelb); }
#afa td.tableBackgroundContainer {
    background-color: var(--color-tableHighlighter);
    --bs-table-bg: var(--color-tableHighlighter);
}
#afa .afa-tax-help {
    background: #F5F8FC;
    border-left: 4px solid var(--afa-gelb);
    border-radius: 6px;
    padding: 14px 16px;
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.5;
}
#afa .afa-tax-help p { margin: 0 0 10px; }
#afa .afa-tax-help label { display: block; font-weight: 600; margin-bottom: 5px; }
#afa .afa-tax-help input { max-width: 250px; margin-bottom: 10px; }
#afa .afa-tax-reset { padding: 8px 12px; white-space: normal; }
#afa #grunderwerbsteuerStatus { margin-top: 10px; font-size: 13px; }
#afa #rel2, #afa #abs2 { background-color: var(--color-optionaleFelder); }
#afa .form-control { font-variant-numeric: tabular-nums; }
#afa .table input[inputmode="decimal"] { min-width: 132px; }
#afa .afa-cost-table .input-group { flex-wrap: nowrap; }
#afa .afa-services { background: #F5F8FC; border-top: 4px solid var(--afa-gelb); border-radius: 10px; padding: 22px; margin: 12px 0; scroll-margin-top: 20px; }
#afa .afa-service-table { width: 100%; border-collapse: collapse; }
#afa .afa-service-table th { color: #52667E; font-size: 12px; text-align: left; }
#afa .afa-service-table th, #afa .afa-service-table td { padding: 12px 14px; border-bottom: 1px solid #D7E0EB; vertical-align: top; }
#afa .afa-service-table th:first-child { width: 50%; }
#afa .afa-service-table a { font-weight: 700; text-underline-offset: 4px; }
#afa .afa-service-table small { display: block; margin-top: 4px; color: #52667E; }
#afa .afa-services .hint { margin: 14px 14px 0; }
#afa .afa-services-link { font-weight: 600; margin: 8px 0; }
#afa .afa-rnd-control { padding: 12px; border: 1px solid #B5C2D0; border-radius: 8px; background: #F5F8FC; }
#afa .afa-rnd-value { display: flex; align-items: center; gap: 10px; }
#afa #rndAfa { width: 90px; background: var(--color-pflichtfelder); font-weight: 700; font-size: 18px; }
#afa .afa-rnd-track { margin-top: 8px; }
#afa .afa-rnd-slider { appearance: none; -webkit-appearance: none; width: 100%; height: 36px; margin: 0; background: transparent; cursor: pointer; display: block; }
#afa .afa-rnd-slider::-webkit-slider-runnable-track { height: 7px; border-radius: 8px; background: linear-gradient(to right, var(--afa-blau) var(--progress), #C8D3E0 var(--progress)); }
#afa .afa-rnd-slider::-moz-range-track { height: 7px; border-radius: 8px; background: #C8D3E0; }
#afa .afa-rnd-slider::-moz-range-progress { height: 7px; border-radius: 8px; background: var(--afa-blau); }
#afa .afa-rnd-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; margin-top: -8px; height: 23px; width: 23px; border-radius: 50%; background: var(--afa-gelb); border: 3px solid var(--afa-blau); box-shadow: 0 1px 3px #25406130; }
#afa .afa-rnd-slider::-moz-range-thumb { height: 18px; width: 18px; border-radius: 50%; background: var(--afa-gelb); border: 3px solid var(--afa-blau); }
#afa .afa-rnd-ticks { height: 7px; margin: -3px 11.5px 0; background: repeating-linear-gradient(to right, #93A5BA 0, #93A5BA 1px, transparent 1px, transparent calc(100% / 49)); border-right: 1px solid #93A5BA; }
#afa .afa-rnd-scale { position: relative; height: 25px; margin: 2px 11.5px 0; font-size: 10px; color: #52667E; }
#afa .afa-rnd-scale span { position: absolute; left: var(--position); transform: translateX(-50%); }
#afa #afa-rnd-hint { display: block; font-size: 11px; line-height: 1.5; color: #52667E; }
#afa .afa-table-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 15px; }
#afa .afa-table-heading h3 { margin: 0; }
#afa #afa-table-expand { border: 1px solid #B5C2D0; background: #EDF3F9; color: var(--afa-blau); border-radius: 7px; padding: 9px 13px; font-size: 13px; font-weight: 600; cursor: pointer; }
#afa #afa-table-expand:hover { background: var(--afa-gelb); }
#afa #afa-table-hint { margin: 12px 0; }
#afa .afa-table-scroll { max-height: 440px; overflow: auto; width: 100%; border: 1px solid #B5C2D0; border-radius: 8px; scrollbar-color: #7189A5 #EDF3F9; scrollbar-width: auto; }
#afa .afa-table-scroll.is-expanded { max-height: none; }
#afa #abt { display: table; margin: 0; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
#afa #abt td { text-align: right; padding: 10px 12px; }
#afa #abt thead th { position: sticky; top: 0; z-index: 2; color: white; background: var(--afa-blau); padding: 12px; vertical-align: bottom; line-height: 1.5; }
#afa #abt thead th:first-child { min-width: 48px; }
#afa #abt thead th:nth-child(2) { min-width: 86px; }
#afa #abt tbody tr:hover td { background: #E2EBF5; }
@media print {
    #afa .afa-table-scroll { max-height: none; overflow: visible; }
    #afa #afa-table-expand, #afa #afa-table-hint { display: none; }
    #afa #abt thead th { position: static; }
}
@media (max-width: 520px) {
    #afa .afa-services { padding: 16px 10px; }
    #afa .afa-service-table th, #afa .afa-service-table td { padding: 12px 6px; overflow-wrap: anywhere; font-size: 12px; }
    #afa .afa-services .hint { margin-inline: 6px; font-size: 11px; }
    #afa .afa-table-scroll { max-height: 390px; }
    #afa .afa-table-scroll.is-expanded { max-height: none; }
    #afa .afa-cost-table, #afa .afa-cost-table thead, #afa .afa-cost-table tbody { display: block; width: 100%; }
    #afa .afa-cost-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 0 10px; border-bottom: 1px solid #D7E0EB; }
    #afa .afa-cost-table td { border: 0; min-width: 0; }
    #afa .afa-cost-table td:first-child { grid-column: 1 / -1; text-align: left !important; }
    #afa .afa-cost-table td[colspan="2"] + td { grid-column: 1 / -1; }
    #afa .afa-cost-table .input-group { margin-bottom: 6px !important; }
}
@media (max-width: 767px) {
    #afa .row > .col { flex: 0 0 100%; min-width: 0; margin-bottom: 12px; }
    #afa .table .form-control { min-width: 66px; }
    #afa .table td { padding-left: 4px; padding-right: 4px; }
    #afa .input-group-text { padding-left: 6px; padding-right: 6px; }
    #afa .afa-tax-help { padding: 12px; }
}
