/* Existing rechner panels, fields, tables and site controls supply the base UI. */
.rent-buy-rechner {
    min-width:0
}

.rent-buy-rechner [hidden] {
    display:none!important
}

.rent-buy-rechner fieldset {
    border:0;
    padding:0;
    margin:0;
    min-width:0;
    display:grid;
    gap:16px
}

.rent-buy-rechner .rent-buy-hint {
    font-size:.84rem;
    line-height:1.55;
    font-weight:400;
    color:var(--text-2);
    margin:5px 0
}

.rent-buy-rechner .rent-buy-error {
    color:#9b2929;
    font-size:.83rem;
    font-weight:500
}

.rent-buy-rechner [aria-invalid=true] {
    border-color:#9b2929
}

.rent-buy-rechner button:focus-visible,.rent-buy-rechner a:focus-visible,.rent-buy-rechner summary:focus-visible,.rent-buy-rechner input:focus-visible,.rent-buy-rechner select:focus-visible,.rent-buy-rechner textarea:focus-visible,.rent-buy-rechner [tabindex]:focus-visible {
    outline:3px solid #94700c;
    outline-offset:3px
}

.rent-buy-rechner .rent-buy-visually-hidden {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap
}

.rent-buy-rechner .rent-buy-segmented {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    border-radius:8px;
    padding:4px;
    background:var(--bg-2,#f3f3f3)
}

.rent-buy-rechner .rent-buy-segmented button {
    min-height:44px;
    background:transparent;
    border:1px solid transparent;
    border-radius:6px;
    font:inherit;
    color:var(--text-1);
    cursor:pointer;
    padding:6px
}

.rent-buy-rechner .rent-buy-segmented button[aria-pressed=true] {
    background:#fff;
    border-color:var(--border-1);
    box-shadow:var(--shadow-soft)
}

.rent-buy-rechner .rent-buy-notice {
    padding:12px 15px;
    border-radius:8px;
    background:#f8f7f3;
    border:1px solid var(--border-1);
    line-height:1.55;
    margin:12px 0 0
}

.rent-buy-rechner .rent-buy-notice--warning {
    background:#fff8e2;
    border-color:#e4cf8c;
    color:#634d14
}

.rent-buy-rechner .rent-buy-rate-strip {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:16px;
    flex-wrap:wrap
}

.rent-buy-rechner .rent-buy-rate-strip>div {
    flex:1 1 280px
}

.rent-buy-rechner .rent-buy-details>summary {
    font-weight:750;
    cursor:pointer;
    font-size:1.05rem;
    line-height:1.5
}

.rent-buy-rechner .rent-buy-details>section {
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid var(--border-1)
}

.rent-buy-rechner .rent-buy-details>section h3 {
    margin-bottom:16px
}

.rent-buy-rechner .rent-buy-comparison,.rent-buy-rechner .rent-buy-formulas {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
}

.rent-buy-rechner .rent-buy-scenario {
    min-width:0;
    border-top:4px solid #333
}

.rent-buy-rechner .rent-buy-scenario--buy {
    border-top-color:#d5a209
}

.rent-buy-rechner .rent-buy-scenario.is-winner {
    box-shadow:0 0 0 2px #c69a16,var(--shadow-soft)
}

.rent-buy-rechner .rent-buy-scenario h3 {
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    font-size:1.15rem
}

.rent-buy-rechner .rent-buy-badge {
    font-size:.72rem;
    font-weight:700;
    background:#fff1bb;
    padding:4px 7px;
    border-radius:5px;
    align-self:center
}

.rent-buy-rechner .rent-buy-total {
    display:block;
    font-variant-numeric:tabular-nums;
    font-size:clamp(1.6rem,3.5vw,2.6rem);
    line-height:1.2;
    font-weight:800;
    margin:8px 0
}

.rent-buy-rechner .rent-buy-breakdown {
    margin:12px 0 24px;
    padding:0;
    list-style:none;
    display:grid;
    gap:10px
}

.rent-buy-rechner .rent-buy-breakdown li {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    font-size:.88rem
}

.rent-buy-rechner .rent-buy-breakdown li>span {
    min-width:0
}

.rent-buy-rechner .rent-buy-breakdown strong {
    white-space:nowrap;
    font-variant-numeric:tabular-nums
}

.rent-buy-rechner .rent-buy-breakdown small {
    display:block;
    font-size:.75rem;
    font-weight:400;
    color:var(--text-2);
    margin-top:3px
}

.rent-buy-rechner .rent-buy-bar {
    height:10px;
    border-radius:6px;
    overflow:hidden;
    display:flex;
    background:#eee;
    margin:10px 0
}

.rent-buy-rechner .rent-buy-bar span {
    height:100%;
    display:block
}

.rent-buy-rechner .rent-buy-expense {
    border-top:1px solid var(--border-1);
    padding-top:12px;
    display:flex;
    gap:10px;
    justify-content:space-between;
    font-size:.84rem
}

.rent-buy-rechner .rent-buy-expense strong {
    white-space:nowrap
}

.rent-buy-rechner .rent-buy-verdict h2 {
    font-size:clamp(1.2rem,2.5vw,1.8rem);
    line-height:1.3
}

.rent-buy-rechner .rent-buy-assumptions {
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap
}

.rent-buy-rechner .rent-buy-assumptions span {
    border:1px solid var(--border-1);
    border-radius:6px;
    padding:6px 9px;
    font-size:.8rem;
    background:#fafafa
}

.rent-buy-rechner .rent-buy-assumptions button {
    margin-left:auto
}

.rent-buy-rechner .rent-buy-legend {
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    font-size:.85rem;
    margin-bottom:15px
}

.rent-buy-rechner .rent-buy-legend span {
    display:flex;
    gap:8px;
    align-items:center
}

.rent-buy-rechner .rent-buy-legend span:before {
    content:"";
    display:block;
    width:25px;
    height:0;
    border-top:3px dashed #333
}

.rent-buy-rechner .rent-buy-legend .rent-buy-legend__buy:before {
    border-top-style:solid;
    border-color:#bd9100
}

.rent-buy-rechner .rent-buy-chart {
    width:100%;
    overflow:hidden
}

.rent-buy-rechner .rent-buy-chart svg {
    display:block;
    width:100%;
    height:auto;
    touch-action:pan-y
}

.rent-buy-rechner .rent-buy-chart-control {
    display:flex;
    gap:14px;
    align-items:center;
    font-size:.85rem;
    font-weight:650
}

.rent-buy-rechner .rent-buy-chart-control input {
    flex:1;
    min-width:0;
    accent-color:#987200
}

.rent-buy-rechner #rent-buy-chart-readout {
    min-height:2.8em;
    font-size:.86rem;
    font-variant-numeric:tabular-nums
}

.rent-buy-rechner #rent-buy-chart-warning p {
    margin:5px 0
}

.rent-buy-rechner .rent-buy-chart-empty {
    min-height:220px;
    display:grid;
    place-items:center;
    text-align:center;
    color:var(--text-2);
    background:#fafafa;
    border-radius:6px;
    padding:20px
}

.rent-buy-rechner .rent-buy-formulas {
    margin:22px 0
}

.rent-buy-rechner .rent-buy-formula-row {
    display:grid;
    grid-template-columns:18px minmax(0,1fr) auto;
    gap:5px;
    padding:9px 0;
    border-bottom:1px solid var(--border-1);
    font-size:.88rem
}

.rent-buy-rechner .rent-buy-formula-row strong {
    font-variant-numeric:tabular-nums;
    white-space:nowrap
}

.rent-buy-rechner .rent-buy-formula-row.is-total {
    font-weight:750;
    border-top:2px solid var(--border-1)
}

.rent-buy-rechner .rent-buy-cost-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin:20px 0
}

.rent-buy-rechner .rent-buy-cost-item {
    padding:12px 0;
    border-top:1px solid var(--border-1)
}

.rent-buy-rechner .rent-buy-cost-item strong {
    display:block;
    font-size:1.1rem;
    margin:4px 0
}

.rent-buy-rechner #rent-buy-detail-body>h3 {
    margin-top:22px
}

.rent-buy-rechner .rent-buy-table-tools {
    max-width:230px;
    margin:18px 0
}

.rent-buy-rechner .rent-buy-table-wrap {
    overflow:auto;
    max-height:640px;
    overscroll-behavior-x:contain;
    border:1px solid var(--border-1);
    border-radius:6px
}

.rent-buy-rechner .rent-buy-table-wrap table {
    min-width:1120px;
    width:100%;
    font-size:.78rem;
    border-collapse:collapse;
    font-variant-numeric:tabular-nums
}

.rent-buy-rechner .rent-buy-table-wrap th,.rent-buy-rechner .rent-buy-table-wrap td {
    padding:9px 10px;
    white-space:nowrap
}

.rent-buy-rechner .rent-buy-table-wrap thead {
    background:#f6f6f3
}

.rent-buy-rechner .rent-buy-table-wrap .is-year {
    background:#f6f6f3;
    font-weight:750
}

.rent-buy-rechner .rent-buy-table-wrap caption {
    padding:10px;
    text-align:left;
    font-weight:700
}

.rent-buy-rechner .rent-buy-table-wrap .rent-buy-diff {
    font-weight:750
}

.rent-buy-rechner .rent-buy-print-tools {
    display:grid;
    gap:15px
}

.rent-buy-rechner .rent-buy-print-tools textarea {
    width:100%;
    font:inherit;
    border:1px solid var(--border-1);
    border-radius:8px;
    padding:12px;
    resize:vertical;
    min-height:100px
}

.rent-buy-rechner .rent-buy-print-tools button,.rent-buy-rechner #rent-buy-reset {
    justify-self:start
}

.rent-buy-rechner .rent-buy-print-only {
    display:none
}

.rent-buy-rechner button:disabled {
    opacity:.55;
    cursor:not-allowed
}

.rent-buy-rechner .rent-buy-feedback:empty {
    display:none
}

@media(max-width:760px) {
    .rent-buy-rechner .rent-buy-comparison,.rent-buy-rechner .rent-buy-formulas,.rent-buy-rechner .rent-buy-cost-grid {
        grid-template-columns:1fr
    }
    .rent-buy-rechner .rechner-panel {
        padding:16px
    }
    .rent-buy-rechner .rent-buy-chart-control {
        display:block
    }
    .rent-buy-rechner .rent-buy-chart-control input {
        width:100%;
        display:block;
        margin-top:8px
    }
    .rent-buy-rechner .rechner-share__row {
        align-items:stretch
    }
    .rent-buy-rechner .rent-buy-assumptions button {
        margin-left:0
    }
}

@media(max-width:420px) {
    .rent-buy-rechner .rent-buy-segmented {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .rent-buy-rechner .rent-buy-expense {
        flex-direction:column
    }
    .rent-buy-rechner .rent-buy-formula-row {
        font-size:.8rem
    }
}

@media print {
    .rent-buy-rechner .rent-buy-chart-hint {
        display:none!important;
    }
    .rent-buy-rechner .rent-buy-assumptions,
    .rent-buy-rechner .rent-buy-formulas,
    .rent-buy-rechner .rent-buy-formulas article {
        break-inside:avoid;
    }
    .rent-buy-rechner h2,
    .rent-buy-rechner h3,
    .rent-buy-rechner h4 {
        break-after:avoid;
    }
    .site-header,.site-footer,.cookie-banner,.page-glow,.rent-buy-rechner #rent-buy-form,.rent-buy-rechner .rent-buy-feedback,.rent-buy-rechner .rent-buy-contact,.rent-buy-rechner .rent-buy-print-tools,.rent-buy-rechner .rechner-share,.rent-buy-rechner .rent-buy-chart-control,.rent-buy-rechner .rent-buy-assumptions button,.rent-buy-rechner #rent-buy-result-details {
        display:none!important
    }
    .page {
        padding:0
    }
    .shell {
        max-width:none
    }
    .rent-buy-rechner {
        border:0;
        box-shadow:none;
        padding:0;
        gap:12px;
        font-size:10pt
    }
    .rent-buy-rechner .rechner-panel {
        box-shadow:none;
        padding:12px
    }
    .rent-buy-rechner .rechner-page__title-row h1 {
        font-size:22pt
    }
    .rent-buy-rechner .rent-buy-comparison {
        grid-template-columns:1fr 1fr
    }
    .rent-buy-rechner .rent-buy-scenario {
        break-inside:avoid
    }
    .rent-buy-rechner .rent-buy-total {
        font-size:21pt
    }
    .rent-buy-rechner .rent-buy-chart-panel {
        break-inside:avoid
    }
    .rent-buy-rechner .rent-buy-chart {
        min-height:0
    }
    .rent-buy-rechner .rent-buy-chart svg {
        max-height:190px
    }
    .rent-buy-rechner #rent-buy-chart-readout {
        min-height:0
    }
    .rent-buy-rechner .rent-buy-print-only {
        display:block
    }
    .rent-buy-rechner .rent-buy-print-only h2 {
        font-size:14pt;
        margin:12px 0 8px
    }
    .rent-buy-rechner .rent-buy-print-only dl {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:3px
    }
    .rent-buy-rechner .rent-buy-print-only dl>div {
        display:flex;
        gap:7px;
        justify-content:space-between;
        padding:3px;
        border-bottom:1px solid #ddd;
        font-size:8pt
    }
    .rent-buy-rechner .rent-buy-print-only dd {
        margin:0;
        text-align:right
    }
    .rent-buy-rechner .rent-buy-print-notes {
        white-space:pre-wrap;
        overflow-wrap:anywhere
    }
    .rent-buy-rechner .rent-buy-print-only table {
        border-collapse:collapse;
        width:100%;
        font-size:7pt;
        font-variant-numeric:tabular-nums
    }
    .rent-buy-rechner .rent-buy-print-only th,.rent-buy-rechner .rent-buy-print-only td {
        padding:3px 2px;
        text-align:right;
        border-bottom:1px solid #ddd
    }
    .rent-buy-rechner .rent-buy-print-only tr {
        break-inside:avoid
    }
    .rent-buy-rechner .rent-buy-print-only thead {
        display:table-header-group
    }
    .rent-buy-rechner .rent-buy-print-share {
        break-inside:avoid;
        font-size:9pt;
        margin-bottom:10px
    }
    .rent-buy-rechner .rent-buy-print-share a {
        color:#171717;
        text-decoration:underline
    }
    .rent-buy-rechner .rent-buy-print-only .rent-buy-formulas {
        grid-template-columns:1fr 1fr
    }
    .rent-buy-rechner a:after {
        content:none!important
    }
}

@page {
    size:A4 portrait;
    margin:10mm
}
