/* ── Kurkarten-Kalkulator ─────────────────────────────────────────────────── */
.taxe-card--mt { margin-top: 2rem; }
.taxe-card { padding: 1.5rem; }
.taxe-row { display: flex; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.taxe-row .form-group { flex: 1; min-width: 120px; }
.taxe-info-val { font-size: 1rem; font-weight: 700; padding: .45rem 0; color: var(--body-text); }

/* Personen */
.taxe-personen { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1.5rem; max-width: 300px; }
.taxe-person-row { display: flex; align-items: center; gap: 1rem; }
.taxe-person-label { flex: 1; font-weight: 600; }
.taxe-person-controls { display: flex; align-items: center; gap: .5rem; }
.taxe-btn-count {
    width: 30px; height: 30px; border-radius: 50%;
    border: 1px solid var(--border); background: var(--bg-white);
    font-size: 1.1rem; line-height: 1; cursor: pointer; color: var(--body-text);
    display: flex; align-items: center; justify-content: center;
}
.taxe-btn-count:hover { background: var(--sidebar-hover); }
.taxe-count { min-width: 24px; text-align: center; font-weight: 700; }
.taxe-person-preis { font-size: .85rem; color: var(--muted); min-width: 90px; text-align: right; }

/* Ergebnis */
.taxe-ergebnis { display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; border-top: 1px solid var(--border); margin-top: .5rem; }
.taxe-ergebnis-label { font-weight: 600; font-size: 1rem; }
.taxe-ergebnis-betrag { font-size: 1.6rem; font-weight: 800; color: var(--accent); }
.taxe-details { margin-top: 1rem; }

/* Tabellen */
.taxe-detail-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.taxe-detail-table th, .taxe-detail-table td { padding: .45rem .5rem; border-bottom: 1px solid var(--border); text-align: left; }
.taxe-detail-table th { color: var(--muted); font-weight: 600; }
.taxe-detail-table tfoot td { border-top: 2px solid var(--border); border-bottom: none; padding-top: .6rem; }
.taxe-detail-table td:last-child, .taxe-detail-table th:last-child { text-align: right; }

/* Gruppen-Tabelle */
.taxe-gruppen-table { margin-bottom: 1rem; }
.taxe-gruppen-table .form-control--sm { width: 70px; }

/* Preismatrix */
.taxe-matrix-table th { white-space: nowrap; }
.taxe-matrix-input { width: 90px; }
.taxe-preismatrix-form { padding: .75rem 0 .25rem; }

/* inputs wie bei /preise */
.taxe-gruppen-table input,
.taxe-matrix-table input,
.taxe-saison-form input[type=text] {
    padding: .5rem; font-size: .9rem;
    border: 1px solid var(--border-input);
    border-radius: 4px;
    font-family: 'Mulish', system-ui, sans-serif;
}
.taxe-gruppen-table .input-addon,
.taxe-matrix-table .input-addon { width: 110px; flex-shrink: 0; }
.taxe-gruppen-table .input-addon input,
.taxe-matrix-table .input-addon input {
    width: 70px; border-left: none; border-radius: 0 4px 4px 0;
}

/* Saisonen-Formular */
.taxe-tarif-betrag { font-size: .85rem; color: var(--muted); }
.taxe-inline-form { display: inline; }
.taxe-saison-row { margin-bottom: .75rem; }
.taxe-bez-group { flex: 2; }
.taxe-saison-form { margin-top: .75rem; border-top: 1px solid var(--border); padding-top: .75rem; }
.taxe-saison-form-actions { display: flex; gap: .75rem; }
.taxe-form-actions { display: flex; gap: .75rem; margin-top: .75rem; }
.taxe-saison-add-wrap { padding: .25rem 0; }