/* DOSIGNY — Tool kosten-rechner: Logik unverändert aus tools/kosten-rechner.php übernommen (umgewandelt von werkzeuge_umbauen.py). */
.dz-tool .tool-container {
            padding: calc(80px + var(--spacing-xl)) 0 var(--spacing-xl);
            min-height: 100vh;
        }
.dz-tool .tool-header {
            text-align: center;
            margin-bottom: var(--spacing-xl);
        }
.dz-tool .tool-header__title {
            font-size: clamp(1.75rem, 4vw, 2.5rem);
            margin-bottom: var(--spacing-sm);
        }
.dz-tool .tool-header__desc {
            color: var(--color-text-muted);
            max-width: 600px;
            margin: 0 auto;
        }
.dz-tool .tool-back {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            color: var(--color-text-muted);
            text-decoration: none;
            margin-bottom: var(--spacing-md);
            font-size: 0.9rem;
        }
.dz-tool .tool-back:hover { color: var(--color-primary); }
.dz-tool .calculator {
            max-width: 800px;
            margin: 0 auto;
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: var(--radius-lg);
            padding: var(--spacing-lg);
        }
.dz-tool .calc-section {
            margin-bottom: var(--spacing-lg);
            padding-bottom: var(--spacing-lg);
            border-bottom: 1px solid rgba(255,255,255,0.08);
        }
.dz-tool .calc-section:last-of-type {
            border-bottom: none;
            margin-bottom: 0;
            padding-bottom: 0;
        }
.dz-tool .calc-section__title {
            font-size: 1.1rem;
            margin-bottom: var(--spacing-md);
            color: var(--color-primary);
        }
.dz-tool .calc-options {
            display: grid;
            gap: var(--spacing-sm);
        }
.dz-tool .calc-option {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            padding: var(--spacing-sm) var(--spacing-md);
            background: rgba(255,255,255,0.02);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: var(--radius-sm);
            cursor: pointer;
            transition: all 0.2s ease;
        }
.dz-tool .calc-option:hover {
            background: rgba(255,255,255,0.05);
        }
.dz-tool .calc-option.selected {
            border-color: var(--color-primary);
            background: rgba(99, 102, 241, 0.1);
        }
.dz-tool .calc-option input {
            display: none;
        }
.dz-tool .calc-option__radio {
            width: 20px;
            height: 20px;
            border: 2px solid rgba(255,255,255,0.3);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
.dz-tool .calc-option.selected .calc-option__radio {
            border-color: var(--color-primary);
        }
.dz-tool .calc-option.selected .calc-option__radio::after {
            content: '';
            width: 10px;
            height: 10px;
            background: var(--color-primary);
            border-radius: 50%;
        }
.dz-tool .calc-option__checkbox {
            width: 20px;
            height: 20px;
            border: 2px solid rgba(255,255,255,0.3);
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
.dz-tool .calc-option.selected .calc-option__checkbox {
            border-color: var(--color-primary);
            background: var(--color-primary);
        }
.dz-tool .calc-option.selected .calc-option__checkbox::after {
            content: '✓';
            color: white;
            font-size: 12px;
        }
.dz-tool .calc-option__content {
            flex: 1;
        }
.dz-tool .calc-option__name {
            font-weight: 500;
            margin-bottom: 2px;
        }
.dz-tool .calc-option__desc {
            font-size: 0.85rem;
            color: var(--color-text-muted);
        }
.dz-tool .calc-option__price {
            font-weight: 600;
            color: var(--color-primary);
            white-space: nowrap;
        }
.dz-tool .calc-result {
            background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
            border-radius: var(--radius-md);
            padding: var(--spacing-lg);
            text-align: center;
            margin-top: var(--spacing-lg);
        }
.dz-tool .calc-result__label {
            font-size: 0.9rem;
            opacity: 0.9;
            margin-bottom: var(--spacing-xs);
        }
.dz-tool .calc-result__price {
            font-size: clamp(2rem, 5vw, 3rem);
            font-weight: 800;
        }
.dz-tool .calc-result__range {
            font-size: 0.9rem;
            opacity: 0.8;
            margin-top: var(--spacing-xs);
        }
.dz-tool .calc-result__note {
            font-size: 0.85rem;
            opacity: 0.7;
            margin-top: var(--spacing-md);
            padding-top: var(--spacing-md);
            border-top: 1px solid rgba(255,255,255,0.2);
        }
.dz-tool .calc-cta {
            text-align: center;
            margin-top: var(--spacing-lg);
        }

    /* Prüfung 03.11.2026: Auswahlfelder per Tastatur erreichbar (vorher display:none → Tab übersprang den Rechner)
   und Karten am Handy lesbar (vorher 194 px breit, Preis über dem Text). */
.dz-tool .calc-option { position: relative; }
.dz-tool .calc-option input { display: block; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.dz-tool .calc-option:has(input:focus-visible) { outline: 3px solid var(--color-primary); outline-offset: 2px; }
@media (max-width: 600px) {
  .dz-tool .calculator { padding: 1.1rem; }
  .dz-tool .calc-option { flex-wrap: wrap; padding: .75rem .8rem; }
  .dz-tool .calc-option__content { flex: 1 1 0; min-width: 0; }
  .dz-tool .calc-option__price { flex-basis: 100%; padding-left: calc(20px + var(--spacing-sm)); white-space: normal; }
}
/* Titel und Beschreibung immer untereinander (sonst liefen kurze Titel mit der Beschreibung in eine Zeile) */
.dz-tool .calc-option__name, .dz-tool .calc-option__desc { display: block; }
