
.im42-fc-shell{
    --blue:#135b9e;--blue-dark:#0b3566;--green:#159a3b;--green2:#2ba54a;
    --ink:#102b4f;--muted:#4d6782;--line:#d5e0e9;--soft:#f7fafc;
    width:100%;max-width:1500px;margin:0 auto;padding:22px 26px 40px;font-family:inherit;color:var(--ink)
}
.im42-fc-shell *{box-sizing:border-box}
.im42-fc-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.im42-fc-logo{display:block;width:min(430px,38vw);max-height:105px;object-fit:contain;object-position:left center}
.im42-fc-back{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 28px;border:1px solid #b8cad9;border-radius:9px;background:#fff;color:var(--blue)!important;text-decoration:none!important;font-size:19px;font-weight:700;box-shadow:0 2px 7px rgba(20,70,110,.04)}
.im42-fc{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(19,75,119,.08);overflow:hidden}
.im42-fc-header{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:center;padding:34px 36px 26px;border-bottom:0;background:#fff}
.im42-fc-headingicon{display:grid;place-items:center;width:54px;height:54px;border-radius:10px;background:linear-gradient(135deg,var(--blue),#2b75bb);color:#fff;font-size:30px;font-weight:900}
.im42-fc-title{margin:0 0 8px;color:var(--blue-dark);font-size:clamp(34px,3.2vw,50px);line-height:1.05;font-weight:800;letter-spacing:-.02em}
.im42-fc-subtitle{margin:0;color:#384f68;font-size:clamp(17px,1.6vw,21px);line-height:1.45}
.im42-fc-grid{display:grid;gap:30px 28px;padding:28px 36px}
.im42-fc-grid-purchase{grid-template-columns:repeat(5,minmax(180px,1fr))}
.im42-fc-grid-purchase .im42-fc-field:nth-child(6),.im42-fc-grid-purchase .im42-fc-field:nth-child(7){grid-column:auto}
.im42-fc-grid-finance{grid-template-columns:repeat(3,minmax(220px,330px));padding-top:18px}
.im42-fc-divider{height:1px;margin:8px 36px 0;background:#d9e3eb}
.im42-fc-field{min-width:0}
.im42-fc-field>span{display:block;margin:0 0 9px;color:#0b2a53;font-size:17px;line-height:1.25;font-weight:800}
.im42-fc-field>div{display:flex;align-items:center;min-height:64px;border:1px solid #c4d1dc;border-radius:9px;background:#fff;overflow:hidden;box-shadow:inset 0 1px 1px rgba(0,0,0,.02)}
.im42-fc-field>div:focus-within{border-color:#1671bf;box-shadow:0 0 0 3px rgba(22,113,191,.10)}
.im42-fc-field i{display:grid;place-items:center;flex:0 0 52px;height:52px;margin-left:5px;border-radius:7px;background:#eef8f1;color:var(--green);font-style:normal;font-size:24px;font-weight:800}
.im42-fc-field input{min-width:0;width:100%;height:62px;padding:0 12px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#101d32;font:inherit;font-size:20px;font-weight:500}
.im42-fc-field b{display:grid;place-items:center;align-self:stretch;min-width:52px;padding:0 12px;border-left:1px solid #d3dde5;color:#101d32;font-size:19px;font-weight:700;white-space:nowrap}
.im42-fc-hint{display:inline-block;margin:8px 36px 0;padding:14px 18px;border-radius:9px;background:#f1f7fd;color:#345574;font-size:16px;line-height:1.4}
.im42-fc-actions{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;padding:22px 36px 30px}
.im42-fc-btn{min-width:210px;min-height:60px;padding:12px 22px;border:1px solid #9eb9d3;border-radius:9px;background:#fff;color:var(--blue);font:inherit;font-size:20px;font-weight:800;cursor:pointer}
.im42-fc-btn.primary{border-color:var(--green);background:linear-gradient(135deg,#11933a,#25a943);color:#fff;box-shadow:0 7px 16px rgba(21,154,59,.18)}
.im42-fc-results{margin:0 36px 32px;padding-top:24px;border-top:1px solid var(--line)}
.im42-fc-results h2{margin:0 0 15px;color:var(--blue-dark);font-size:24px}
.im42-fc-resultgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.im42-fc-resultgrid>div{min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.im42-fc-resultgrid span{display:block;margin-bottom:7px;color:var(--muted);font-size:15px;line-height:1.35}
.im42-fc-resultgrid strong{display:block;color:var(--blue-dark);font-size:clamp(21px,2vw,28px);line-height:1.12;overflow-wrap:anywhere}
.im42-fc-resultgrid .highlight{border-color:#b9daa2;background:#f4fbef}.im42-fc-resultgrid .highlight strong{color:#3e962e}
.im42-fc-disclaimer{margin:0;padding:0 36px 28px;color:#718599;font-size:13px;line-height:1.45}
.im42-fc-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:28px 36px 36px}
.im42-fc-card{display:block;padding:24px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd;color:var(--ink)!important;text-decoration:none!important}
.im42-fc-card strong{display:block;color:var(--blue-dark);font-size:22px}.im42-fc-card span{display:block;margin-top:7px;color:var(--muted);font-size:16px;line-height:1.45}
.im42-fc-tablewrap{overflow-x:auto;margin-top:20px}.im42-fc-table{width:100%;border-collapse:collapse;font-size:15px}.im42-fc-table th,.im42-fc-table td{padding:10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.im42-fc-table th:first-child,.im42-fc-table td:first-child{text-align:left}

@media(max-width:1250px){
  .im42-fc-grid-purchase{grid-template-columns:repeat(3,minmax(190px,1fr))}
  .im42-fc-resultgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .im42-fc-shell{padding:16px 14px 28px}
  .im42-fc-topbar{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .im42-fc-logo{width:min(420px,90vw)}
  .im42-fc-back{min-height:48px;padding:0 18px;font-size:16px}
  .im42-fc-header{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:24px 20px 20px}
  .im42-fc-headingicon{width:46px;height:46px;font-size:25px}
  .im42-fc-title{font-size:clamp(28px,8vw,38px)}
  .im42-fc-subtitle{font-size:17px}
  .im42-fc-grid,.im42-fc-grid-purchase,.im42-fc-grid-finance{grid-template-columns:1fr;padding:22px 20px;gap:18px}
  .im42-fc-divider{margin:0 20px}
  .im42-fc-hint{margin:4px 20px 0;font-size:15px}
  .im42-fc-actions{display:grid;grid-template-columns:1fr;padding:20px}
  .im42-fc-btn{width:100%;min-width:0}
  .im42-fc-results{margin:0 20px 24px}
  .im42-fc-resultgrid,.im42-fc-dashboard{grid-template-columns:1fr}
  .im42-fc-dashboard{padding:20px}
  .im42-fc-disclaimer{padding:0 20px 22px}
}


.im42-fc-osp-source{
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    margin:0 36px 8px;padding:16px 18px;border:1px solid #cfe2ef;border-radius:11px;
    background:linear-gradient(135deg,#f0f8ff,#f6fbf3)
}
.im42-fc-osp-source-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}
.im42-fc-osp-label{color:#16843a;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.im42-fc-osp-source strong{color:#0b3566;font-size:19px}
.im42-fc-osp-ref{color:#667d90;font-size:14px}
.im42-fc-osp-return{
    flex:0 0 auto;padding:9px 13px;border:1px solid #a9c4d8;border-radius:8px;
    background:#fff;color:#135b9e!important;text-decoration:none!important;font-weight:700
}
@media(max-width:820px){
    .im42-fc-osp-source{margin:0 20px 6px;align-items:flex-start;flex-direction:column}
}


.im42-fc-btn.im42-fc-print{
    border-color:#b9c9d7;
    background:#f7fafc;
    color:#244d70;
}
.im42-fc-btn.im42-fc-print:hover{background:#edf4f8}

@media print{
    @page{size:A4 portrait;margin:12mm}

    body.im42-print-finanzkalkulator *{visibility:hidden!important}

    body.im42-print-finanzkalkulator .im42-fc-shell,
    body.im42-print-finanzkalkulator .im42-fc-shell *{
        visibility:visible!important
    }

    body.im42-print-finanzkalkulator .im42-fc-shell{
        position:absolute;left:0;top:0;width:100%!important;max-width:none!important;
        margin:0!important;padding:0!important;background:#fff!important;color:#000!important
    }

    body.im42-print-finanzkalkulator .im42-fc-topbar{margin:0 0 8mm!important}
    body.im42-print-finanzkalkulator .im42-fc-logo{width:72mm!important;max-height:26mm!important}

    body.im42-print-finanzkalkulator .im42-fc-back,
    body.im42-print-finanzkalkulator .im42-fc-actions,
    body.im42-print-finanzkalkulator .im42-fc-hint,
    body.im42-print-finanzkalkulator .im42-fc-osp-return{
        display:none!important
    }

    body.im42-print-finanzkalkulator .im42-fc{
        border:0!important;box-shadow:none!important;overflow:visible!important
    }

    body.im42-print-finanzkalkulator .im42-fc-header{
        padding:0 0 6mm!important;grid-template-columns:13mm 1fr!important
    }
    body.im42-print-finanzkalkulator .im42-fc-headingicon{
        width:11mm!important;height:11mm!important;font-size:17pt!important
    }
    body.im42-print-finanzkalkulator .im42-fc-title{
        font-size:22pt!important;color:#163b60!important
    }
    body.im42-print-finanzkalkulator .im42-fc-subtitle{
        font-size:10pt!important;color:#444!important
    }

    body.im42-print-finanzkalkulator .im42-fc-osp-source{
        margin:0 0 5mm!important;padding:4mm!important;background:#fff!important;break-inside:avoid
    }

    body.im42-print-finanzkalkulator .im42-fc-grid,
    body.im42-print-finanzkalkulator .im42-fc-grid-purchase,
    body.im42-print-finanzkalkulator .im42-fc-grid-finance{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:4mm!important;padding:4mm 0!important
    }
    body.im42-print-finanzkalkulator .im42-fc-divider{margin:0!important}

    body.im42-print-finanzkalkulator .im42-fc-field>span{font-size:9pt!important}
    body.im42-print-finanzkalkulator .im42-fc-field>div{
        min-height:10mm!important;border:1px solid #bbb!important;box-shadow:none!important
    }
    body.im42-print-finanzkalkulator .im42-fc-field i{display:none!important}
    body.im42-print-finanzkalkulator .im42-fc-field input{
        height:9mm!important;font-size:10.5pt!important;color:#000!important
    }
    body.im42-print-finanzkalkulator .im42-fc-field b{
        font-size:9.5pt!important;color:#000!important
    }

    body.im42-print-finanzkalkulator .im42-fc-results{
        margin:5mm 0 0!important;padding-top:4mm!important;break-inside:avoid
    }
    body.im42-print-finanzkalkulator .im42-fc-resultgrid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4mm!important
    }
    body.im42-print-finanzkalkulator .im42-fc-resultgrid>div{
        padding:4mm!important;background:#fff!important;border:1px solid #bbb!important;break-inside:avoid
    }
    body.im42-print-finanzkalkulator .im42-fc-resultgrid span{
        font-size:8.5pt!important;color:#444!important
    }
    body.im42-print-finanzkalkulator .im42-fc-resultgrid strong{
        font-size:14pt!important;color:#000!important
    }

    body.im42-print-finanzkalkulator .im42-fc-table{font-size:8pt!important}
    body.im42-print-finanzkalkulator .im42-fc-table th,
    body.im42-print-finanzkalkulator .im42-fc-table td{padding:2mm!important}

    body.im42-print-finanzkalkulator .im42-fc-disclaimer{
        padding:5mm 0 0!important;font-size:7.5pt!important;color:#555!important
    }
}


/* Version 1.0.7: kompakter A4-Ergebnisdruck, oben beginnend */
@media print {
    @page {
        size: A4 portrait;
        margin: 7mm 9mm 8mm 9mm;
    }

    html, body {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-shell {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-topbar {
        height: 18mm !important;
        min-height: 0 !important;
        margin: 0 0 3mm !important;
        padding: 0 !important;
        display: flex !important;
        align-items: flex-start !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-logo {
        width: 48mm !important;
        height: 17mm !important;
        max-height: 17mm !important;
        object-fit: contain !important;
        object-position: left top !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-header {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 0 3mm !important;
        grid-template-columns: 9mm 1fr !important;
        gap: 3mm !important;
        align-items: center !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-headingicon {
        width: 8mm !important;
        height: 8mm !important;
        min-width: 8mm !important;
        font-size: 12pt !important;
        border-radius: 2mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-title {
        margin: 0 0 1mm !important;
        font-size: 18pt !important;
        line-height: 1.05 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-subtitle {
        margin: 0 !important;
        font-size: 8.5pt !important;
        line-height: 1.2 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-osp-source {
        margin: 0 0 3mm !important;
        padding: 2.5mm 3mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-grid,
    body.im42-print-finanzkalkulator .im42-fc-grid-purchase,
    body.im42-print-finanzkalkulator .im42-fc-grid-finance {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 2.5mm 4mm !important;
        margin: 0 !important;
        padding: 2.5mm 0 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-field > span {
        margin: 0 0 1mm !important;
        font-size: 8pt !important;
        line-height: 1.1 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-field > div {
        min-height: 7.5mm !important;
        height: 7.5mm !important;
        border-radius: 1.5mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-field input {
        height: 7mm !important;
        min-height: 0 !important;
        padding: 0 2mm !important;
        font-size: 9pt !important;
        line-height: 1 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-field b {
        min-width: 10mm !important;
        padding: 0 2mm !important;
        font-size: 8.5pt !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-results {
        margin: 3mm 0 0 !important;
        padding: 3mm 0 0 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-results h2 {
        margin: 0 0 2mm !important;
        font-size: 13pt !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-resultgrid {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        gap: 2.5mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-resultgrid > div {
        padding: 2.5mm 3mm !important;
        border-radius: 2mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-resultgrid span {
        margin-bottom: 1mm !important;
        font-size: 7.5pt !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-resultgrid strong {
        font-size: 11.5pt !important;
        line-height: 1.05 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-disclaimer {
        margin: 0 !important;
        padding: 3mm 0 0 !important;
        font-size: 6.8pt !important;
        line-height: 1.2 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-tablewrap {
        margin-top: 2mm !important;
        overflow: visible !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-table {
        font-size: 7pt !important;
        line-height: 1.05 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-table th,
    body.im42-print-finanzkalkulator .im42-fc-table td {
        padding: 1.2mm 1.5mm !important;
    }
}


/* Version 1.0.8: besser lesbare Druckschrift */
@media print {
    @page {
        size: A4 portrait;
        margin: 7mm 8mm 8mm 8mm;
    }

    body.im42-print-finanzkalkulator .im42-fc-logo {
        width: 56mm !important;
        height: 20mm !important;
        max-height: 20mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-topbar {
        height: 21mm !important;
        margin-bottom: 4mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-title {
        font-size: 22pt !important;
        line-height: 1.08 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-subtitle {
        font-size: 10.5pt !important;
        line-height: 1.25 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-field > span {
        font-size: 10pt !important;
        line-height: 1.15 !important;
        margin-bottom: 1.2mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-field > div {
        min-height: 9mm !important;
        height: 9mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-field input {
        height: 8.5mm !important;
        font-size: 11.5pt !important;
        padding: 0 2.2mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-field b {
        min-width: 11mm !important;
        font-size: 10.5pt !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-grid,
    body.im42-print-finanzkalkulator .im42-fc-grid-purchase,
    body.im42-print-finanzkalkulator .im42-fc-grid-finance {
        gap: 3mm 4mm !important;
        padding: 3mm 0 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-results h2 {
        font-size: 15pt !important;
        margin-bottom: 2.5mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-resultgrid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 3mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-resultgrid > div {
        padding: 3mm 3.5mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-resultgrid span {
        font-size: 9.5pt !important;
        line-height: 1.2 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-resultgrid strong {
        font-size: 14.5pt !important;
        line-height: 1.08 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-osp-label {
        font-size: 9pt !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-osp-source strong {
        font-size: 12pt !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-osp-ref {
        font-size: 9.5pt !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-table {
        font-size: 8.5pt !important;
        line-height: 1.1 !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-table th,
    body.im42-print-finanzkalkulator .im42-fc-table td {
        padding: 1.5mm 1.8mm !important;
    }

    body.im42-print-finanzkalkulator .im42-fc-disclaimer {
        font-size: 8pt !important;
        line-height: 1.25 !important;
    }
}


/* 1.0.10 – Schutz gegen fremde OS-Property-/Template-CSS-Regeln */
@media screen {
  .im42-fc-shell{
    display:block!important;
    position:relative!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:1500px!important;
    min-width:0!important;
    height:auto!important;
    margin:0 auto!important;
    padding:22px 26px 40px!important;
    font-size:16px!important;
    line-height:1.45!important;
    text-align:left!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    transform:none!important;
    zoom:1!important;
    overflow:visible!important;
  }
  .im42-fc-shell,
  .im42-fc-shell *{
    text-shadow:none!important;
  }
  .im42-fc-shell .im42-fc{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    font-size:16px!important;
    line-height:1.45!important;
    transform:none!important;
  }
  .im42-fc-shell .im42-fc-title{
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0 0 8px!important;
    padding:0!important;
    font-size:clamp(34px,3.2vw,50px)!important;
    line-height:1.05!important;
    font-weight:800!important;
    text-align:left!important;
    text-transform:none!important;
    letter-spacing:-.02em!important;
    white-space:normal!important;
    transform:none!important;
  }
  .im42-fc-shell .im42-fc-subtitle{
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(17px,1.6vw,21px)!important;
    line-height:1.45!important;
    font-weight:400!important;
    text-align:left!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    white-space:normal!important;
    transform:none!important;
  }
  .im42-fc-shell .im42-fc-field,
  .im42-fc-shell .im42-fc-field>span,
  .im42-fc-shell .im42-fc-field>div,
  .im42-fc-shell .im42-fc-field input,
  .im42-fc-shell .im42-fc-field b{
    position:static!important;
    float:none!important;
    transform:none!important;
    text-transform:none!important;
    letter-spacing:normal!important;
  }
  .im42-fc-shell .im42-fc-field>span{
    display:block!important;
    margin:0 0 9px!important;
    padding:0!important;
    font-size:17px!important;
    line-height:1.25!important;
    font-weight:800!important;
  }
  .im42-fc-shell .im42-fc-field>div{
    display:flex!important;
    align-items:center!important;
    min-height:64px!important;
  }
  .im42-fc-shell .im42-fc-field input{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    height:62px!important;
    margin:0!important;
    padding:0 12px!important;
    font-size:20px!important;
    line-height:normal!important;
    font-weight:500!important;
  }
  .im42-fc-shell .im42-fc-field b{
    display:grid!important;
    place-items:center!important;
    align-self:stretch!important;
    min-width:52px!important;
    margin:0!important;
    padding:0 12px!important;
    font-size:19px!important;
    line-height:1!important;
    font-weight:700!important;
  }
  .im42-fc-shell .im42-fc-results h2{
    display:block!important;
    position:static!important;
    margin:0 0 15px!important;
    padding:0!important;
    font-size:24px!important;
    line-height:1.2!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    transform:none!important;
  }
  .im42-fc-shell .im42-fc-resultgrid span{
    font-size:15px!important;
    line-height:1.35!important;
  }
  .im42-fc-shell .im42-fc-resultgrid strong{
    font-size:clamp(21px,2vw,28px)!important;
    line-height:1.12!important;
  }
}
@media screen and (max-width:820px){
  .im42-fc-shell{padding:16px 14px 28px!important}
  .im42-fc-shell .im42-fc-title{font-size:clamp(28px,8vw,38px)!important}
  .im42-fc-shell .im42-fc-subtitle{font-size:17px!important}
}


.im42-fc-purchase-form{padding-bottom:20px}
.im42-fc-purchase-text{padding:0 36px 22px}
.im42-fc-purchase-text span{display:block;margin-bottom:8px;font-size:17px;font-weight:800;color:#0b2a53}
.im42-fc-purchase-text textarea{width:100%;min-height:140px;padding:14px;border:1px solid #c4d1dc;border-radius:9px;background:#fff;color:#102b4f;font:inherit;font-size:17px;resize:vertical}
.im42-fc-purchase-note{margin:0 36px 8px;padding:14px 16px;border-radius:9px;background:#fff7e8;color:#785317;font-size:14px;line-height:1.45}
@media(max-width:820px){
  .im42-fc-purchase-text{padding:0 20px 18px}
  .im42-fc-purchase-note{margin:0 20px 8px}
}

.im42-fc-purchase-form .im42-fc-field:has(input[required]) > span::after,
.im42-fc-purchase-form .im42-fc-purchase-text label:has(textarea[required]) > span::after{
  content:" *";color:#c62828;font-weight:900
}

/* Version 1.0.17: erweiterter einblendbarer Taschenrechner */
.im42-fc-pocket-toggle{border-color:#8fb3d2;background:#f5faff;color:#135b9e}
.im42-fc-pocket-actions{padding-top:0!important}
.im42-pocket-overlay[hidden]{display:none!important}
.im42-pocket-overlay{
  position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,25,44,.55);backdrop-filter:blur(2px)
}
body.im42-pocket-open{overflow:hidden}
.im42-pocket-calculator{
  width:min(500px,97vw);max-height:94vh;border:1px solid #adc3d6;border-radius:18px;background:#f8fbfd;
  box-shadow:0 24px 70px rgba(0,0,0,.28);overflow:auto;color:#102b4f
}
.im42-pocket-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;
  background:linear-gradient(135deg,#0b3566,#135b9e);color:#fff;font-size:19px;position:sticky;top:0;z-index:2
}
.im42-pocket-head-actions{display:flex;gap:8px}
.im42-pocket-close,.im42-pocket-copy{
  width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;
  font:inherit;font-size:24px;line-height:1;cursor:pointer
}
.im42-pocket-copy{font-size:20px}
.im42-pocket-expression{
  min-height:28px;padding:12px 18px 0;text-align:right;background:#fff;color:#6a7f91;
  font-size:14px;line-height:1.2
}
.im42-pocket-display{
  min-height:72px;padding:6px 18px 14px;text-align:right;background:#fff;border-bottom:1px solid #d5e0e9;
  color:#0b3566;font-size:clamp(30px,8vw,42px);font-weight:800;line-height:1.15;overflow-wrap:anywhere
}
.im42-pocket-memory{
  display:grid;grid-template-columns:repeat(4,1fr) 32px;gap:6px;padding:10px 16px 0
}
.im42-pocket-memory button{
  min-height:34px;border:1px solid #d4dee7;border-radius:8px;background:#f8fbfd;color:#31536f;
  font:inherit;font-size:13px;font-weight:800;cursor:pointer
}
.im42-pocket-memory-indicator{
  display:grid;place-items:center;border-radius:8px;color:#9aa9b5;font-weight:900
}
.im42-pocket-memory-indicator.active{background:#e8f4ff;color:#135b9e}
.im42-pocket-keys{display:grid;gap:8px;padding:12px 16px 16px}
.im42-pocket-keys-extended{grid-template-columns:repeat(5,1fr)}
.im42-pocket-keys button{
  min-height:52px;border:1px solid #c6d5e1;border-radius:11px;background:#fff;color:#163b60;
  font:inherit;font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 2px 6px rgba(16,43,79,.05)
}
.im42-pocket-keys button:hover{background:#eef6fb}
.im42-pocket-keys .calc-op{background:#eef6fb;color:#135b9e;font-size:21px}
.im42-pocket-keys .calc-fn{background:#f3f5f7;color:#4b647a}
.im42-pocket-keys .calc-special{background:#f8f3ff;color:#65419a}
.im42-pocket-keys .calc-fin{background:#fff8e9;color:#805a10;font-size:14px}
.im42-pocket-keys .calc-equals{border-color:#159a3b;background:#159a3b;color:#fff}
.im42-pocket-keys .calc-equals:hover{background:#128533}
.im42-pocket-keys .calc-equals-tall{grid-row:span 2}
.im42-pocket-keys .calc-zero{grid-column:span 2}
.im42-pocket-history{
  margin:0 16px 16px;border:1px solid #d5e0e9;border-radius:10px;background:#fff;overflow:hidden
}
.im42-pocket-history summary{
  cursor:pointer;padding:10px 12px;font-weight:800;color:#31536f;background:#f4f8fb
}
.im42-pocket-history-list{max-height:120px;overflow:auto;padding:8px 12px;font-size:13px;color:#566e82}
.im42-pocket-history-list div{padding:5px 0;border-bottom:1px solid #eef2f5}
.im42-pocket-history-list div:last-child{border-bottom:0}
@media(max-width:560px){
  .im42-pocket-overlay{padding:8px;align-items:flex-end}
  .im42-pocket-calculator{width:100%;max-height:96vh;border-radius:16px 16px 8px 8px}
  .im42-pocket-keys{gap:6px;padding:10px}
  .im42-pocket-keys button{min-height:48px;font-size:16px}
  .im42-pocket-keys .calc-fin{font-size:12px}
}
@media print{
  .im42-fc-pocket-toggle,.im42-pocket-overlay{display:none!important}
}


/* Version 1.0.18: kleines Immomax42-Logo im Kopf */
.im42-pocket-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.im42-pocket-logo{
  width:58px;
  height:auto;
  max-height:42px;
  object-fit:contain;
  background:#fff;
  border-radius:5px;
  padding:2px;
}
.im42-fc-header-logo{
  width:70px;
  height:auto;
  max-height:48px;
  object-fit:contain;
  margin-right:12px;
  vertical-align:middle;
}
.im42-fc-header{
  display:flex;
  align-items:center;
  gap:8px;
}
@media(max-width:560px){
  .im42-pocket-logo{width:48px;max-height:36px}
  .im42-fc-header-logo{width:58px;max-height:42px}
}
