/* Readable text with optional detail, shared by calculator and inquiry. */
.page--preisrechner :is(.pc-hero__lead,.pc-section-heading > p,.pc-step__intro,.pc-hint,.pc-field,.pc-included,.pc-faq__items details > p,.iq-intro,.iq-field > span:first-child,.iq-guidance,.iq-next-story,.iq-review-block p,.iq-review-block li,.iq-review-block dd) { font-size:1rem; line-height:1.65; }
.page--preisrechner :is(.pc-kicker,.pc-hero__trust,.pc-hero__footer,.pc-reset,.pc-download,.pc-summary__label,.pc-summary small,.pc-summary__note,.pc-summary__disclaimer,.pc-summary__year small,.pc-live,.iq-assurance,.iq-field small,.iq-check,.iq-error,.iq-draft small,.iq-review-block dt,.iq-file-list,.iq-summary-top-note,.iq-status,.pc-package__footnote,.pc-packages__note,.pc-package__price > span) { font-size:.875rem; line-height:1.55; }
.page--preisrechner .pc-eyebrow { font-size:.875rem !important; }
.page--preisrechner .pc-kicker { letter-spacing:.06em; }
.page--preisrechner .pc-option__copy strong { font-size:1.125rem; line-height:1.35; }
.page--preisrechner .pc-option__copy small { font-size:1rem; line-height:1.55; color:#b8c6dc; }
.page--preisrechner .pc-option__price { font-size:1rem; line-height:1.4; font-family:inherit; font-weight:600; }
.page--preisrechner .pc-option { grid-template-columns:1.15rem minmax(0,1fr); padding:1.1rem; }
.page--preisrechner .pc-option__price { grid-column:2; grid-row:auto; max-width:none; text-align:left; }
.page--preisrechner .pc-option input { width:1.15rem; height:1.15rem; }
.page--preisrechner .pc-option.is-required { opacity:1; }
.page--preisrechner .pc-field select { font-size:1rem; min-height:3rem; }
.page--preisrechner .pc-scope-options { grid-template-columns:1fr; }
.page--preisrechner .pc-step { padding:1.5rem 0; }
.page--preisrechner .pc-step__heading { margin-bottom:1rem; }
.pc-step__number,.pc-step__heading .pc-kicker { display:none; }
.pc-step__heading h3 { font-size:1.5rem; letter-spacing:-.025em; }
.pc-choice { min-width:0; border:1px solid #34425d; border-radius:.75rem; background:#101521; overflow:clip; }
.pc-choice .pc-option { border:0; border-radius:0; }
.pc-choice:has(input:checked) { border-color:#849eff; }
.pc-choice:has(input:focus-visible) { outline:2px solid #c1caff; outline-offset:3px; }
.pc-choice .pc-disclosure { margin:0; border:0; border-top:1px solid #2d3b53; border-radius:0; background:transparent; }
.pc-choice .pc-disclosure > summary { padding:.6rem 1.1rem; }
.pc-choice .pc-disclosure > .pc-disclosure__body { padding:0 1.1rem 1rem; }
.pc-disclosure { min-width:0; margin:0 0 .9rem; border:1px solid #3d4e6a; border-radius:.75rem; background:#111928; }
.pc-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3rem; padding:1rem 1.15rem; color:#edf3ff; cursor:pointer; list-style:none; }
.pc-disclosure > summary::-webkit-details-marker { display:none; }
.pc-disclosure > summary > span:first-child { min-width:0; }
.pc-disclosure > summary strong { display:block; font-size:1rem; line-height:1.45; font-weight:600; overflow-wrap:anywhere; }
.pc-disclosure > summary small { display:block; margin-top:.2rem; color:#b6c6e2; font-size:.875rem; line-height:1.5; }
.pc-disclosure > summary:hover { background:#1c2a43; border-radius:.7rem; }
.pc-chevron { display:block; width:.55rem; height:.55rem; flex:0 0 .55rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-right:.2rem; }
.pc-disclosure[open] > summary > .pc-chevron { transform:rotate(225deg); }
.pc-disclosure__body { padding:0 1.15rem 1.15rem; font-size:1rem; line-height:1.65; color:#c4d0e5; overflow-wrap:anywhere; }
.pc-disclosure__body > :last-child { margin-bottom:0; }
.pc-disclosure--help { border:0; background:transparent; margin:0; }
.pc-disclosure--help > summary { padding:.5rem 0; justify-content:flex-start; gap:.8rem; color:#b5d0ff; }
.pc-disclosure--help > summary strong { font-size:.875rem; font-weight:500; }
.pc-disclosure--help > summary:hover { background:transparent; color:#dfebff; }
.pc-disclosure--help > .pc-disclosure__body { padding:.2rem 0 .9rem; }
.pc-disclosure--help .pc-chevron { width:.4rem; height:.4rem; flex-basis:.4rem; }
#project-choice[open] .pc-choice-action { display:none; }
.pc-choice-action { flex-shrink:0; color:#b5d0ff; font-size:.875rem; }
.page--preisrechner :is(.pc-reset,.pc-download,.iq-review-block button,.iq-file-list button) { min-height:44px; padding:.6rem .2rem; }
.page--preisrechner .iq-review-block button { font-size:.875rem; }
.pc-scope-note { font-size:.875rem; color:#b6c5df; margin:.4rem 0 0; }
.pc-care-options { gap:0; }
.pc-care-options legend { font-size:1rem; }
.pc-care-options .pc-hint { margin-bottom:1rem; }
.pc-scope-options > .pc-disclosure { grid-column:1 / -1; }
.page--preisrechner .pc-addons { margin-top:1.3rem; }
.page--preisrechner .pc-addons .pc-options { margin-top:0; }
.page--preisrechner .pc-summary-column { top:calc(var(--header-height) + 6rem); max-height:none; overflow:visible; }
.page--preisrechner .pc-summary { padding:1.4rem; }
.page--preisrechner .pc-summary h3 { font-size:1.35rem; margin-bottom:.8rem; }
.page--preisrechner .pc-summary__top { margin-bottom:.65rem; }
.page--preisrechner .pc-summary__once output { font-size:clamp(2.5rem,4vw,3.5rem); }
.page--preisrechner .pc-summary__details { margin-block:1rem; }
.page--preisrechner .pc-summary__details > summary { padding:1rem; }
.page--preisrechner .pc-summary__details[open] summary > span { transform:none; }
.page--preisrechner .pc-summary__details[open] summary > .pc-chevron { transform:rotate(225deg); }
.page--preisrechner #price-breakdown { max-height:none; overflow:visible; padding:0; }
.page--preisrechner #price-breakdown li { display:block; font-size:1rem; padding-block:.6rem; border-bottom:1px solid #2f3e57; }
#price-breakdown li strong { display:block; margin-top:.2rem; }
.page--preisrechner .pc-summary__included { font-size:1rem; }
.pc-summary__full-exclusions { font-size:1rem; color:#c1cfe6; margin-top:1rem; }
.pc-summary__essentials { color:#b8c8e1; font-size:.875rem; line-height:1.6; margin:0 0 1rem; }
.page--preisrechner .pc-summary__actions .pc-button,.page--preisrechner .iq-navigation .pc-button,.page--preisrechner .iq-next-row .pc-button { font-size:1rem; min-height:3rem; }
.page--preisrechner .iq-assurance { padding:1rem 1.2rem; }
.iq-assurance strong { font-size:1rem; }
.iq-status:empty { display:none; }
.iq-panel .pc-disclosure { margin-top:1rem; }
.iq-panel .pc-disclosure--help { margin:0 0 .8rem; }
.iq-field { margin-bottom:1.15rem; }
.iq-field > label { display:block; font-size:1rem; font-weight:600; color:#edf3ff; margin-bottom:.5rem; }
.iq-field .pc-disclosure { margin:.2rem 0 0; }
.iq-field textarea { min-height:6rem; }
.iq-panel .iq-guidance { border:0; background:transparent; margin:0; padding:0; }
.iq-guidance p { margin:0 0 .7rem; }
.iq-review-block h4 { font-size:1.125rem; }
.iq-review-brief { margin:0; }
.iq-review-block .pc-disclosure { margin:1rem 0 0; }
.iq-review-block .pc-disclosure--help { margin:0; }
.iq-review-block .pc-disclosure p { white-space:pre-line; }
.iq-review-block dt:first-child { margin-top:0; }
.iq-draft { display:block; }
.iq-draft .pc-disclosure { border-top:1px solid #33415a; border-radius:0; padding-top:.5rem; }
.iq-draft .pc-download { display:inline-flex; font-size:.875rem; }
.iq-draft small { display:block; }
.iq-progress button { font-size:.875rem; min-height:3rem; }
.iq-progress button span { font-size:.875rem; }
.page--preisrechner .pc-package { padding:1.4rem; }
.page--preisrechner :is(.pc-package__description,.pc-package li) { font-size:1rem; line-height:1.6; }
.pc-package__positioning { min-height:0; }
.pc-package__positioning > span + span { font-size:.875rem; }
.pc-package__recommendation { color:var(--pkg-copy); font-size:.875rem; line-height:1.55; margin-bottom:1rem; }
.pc-package .pc-disclosure { background:transparent; border-color:var(--pkg-line); margin-top:auto; }
.pc-package .pc-disclosure > summary { color:var(--pkg-title); padding:.75rem; }
.pc-package .pc-disclosure > summary:hover { background:var(--pkg-tint); }
.pc-package .pc-disclosure__body { padding:0 .75rem 1rem; color:var(--pkg-copy); }
.pc-package .pc-disclosure__body p { font-size:1rem; }
.pc-package__button { margin-top:.4rem; }
.page--preisrechner .pc-faq__items summary { min-height:3rem; font-size:1rem; }
.page--preisrechner .pc-faq__items details > p { color:#5b5146; }
.page--preisrechner :is(.pc-disclosure > summary,.pc-faq summary):focus-visible { outline:2px solid #9dc1ff; outline-offset:3px; }
.page--preisrechner :is(input,select,textarea,summary,#inquiry-errors) { scroll-margin-top:calc(var(--header-height) + 6rem); scroll-margin-bottom:7rem; }
@media (max-width:1100px) { .page--preisrechner .pc-summary-column { position:static; } }
@media (max-width:900px) {
  .page--preisrechner .pc-mobile-total { gap:.75rem; padding:.7rem .9rem; align-items:center; }
  .pc-mobile-total__price { display:block; flex:1; min-width:0; min-height:44px; color:#d4e2fa; font-size:.875rem; line-height:1.4; }
  .page--preisrechner .pc-mobile-total strong { font-size:1rem; overflow-wrap:anywhere; line-height:1.35; }
  .pc-mobile-total__price small { font-size:.875rem; color:#b3ccf3; text-decoration:underline; }
  .pc-mobile-total__next { min-height:48px; padding:.7rem 1rem; flex:0 0 auto; max-width:43%; border:1px solid #8fa9fa; border-radius:.65rem; background:#415dba; color:white; font:inherit; font-size:1rem; cursor:pointer; }
  .pc-mobile-total__next:disabled { opacity:.5; }
  .page--preisrechner.is-editing-field .pc-mobile-total { visibility:hidden; }
  .iq-form,.pc-form { padding-bottom:2rem; }
  .pc-calculator { padding-bottom:7rem; }
}
@media (max-width:600px) {
  .page--preisrechner .pc-options { grid-template-columns:1fr; }
  .page--preisrechner .iq-progress button { font-size:.875rem; gap:.15rem; padding:.45rem .2rem; }
  .iq-progress button span { font-size:.875rem; }
  .page--preisrechner .pc-package { padding:1.3rem; }
  .page--preisrechner .pc-summary { padding:1.2rem; }
  .pc-disclosure > summary { padding:.9rem; }
  .pc-disclosure__body { padding:0 .9rem .9rem; }
  .pc-disclosure--help > summary { padding:.5rem 0; }
  .pc-disclosure--help > .pc-disclosure__body { padding:0 0 .7rem; }
  .iq-navigation { align-items:stretch; }
  .iq-navigation .pc-button { width:100%; flex-basis:100%; justify-content:center; }
  .iq-next-row p { font-size:.875rem; }
  .page--preisrechner .pc-hero__trust { font-size:.875rem; gap:.7rem; }
  .pc-hero__trust > span + span::before { display:none; }
}
.page--preisrechner.is-inquiry-complete .pc-mobile-total { display:none; }
.page--preisrechner .pc-field > label { display:block; font-size:1rem; margin-bottom:.5rem; }
.page--preisrechner .pc-field select { width:100%; }
.page--preisrechner .iq-field input[type=file] { font-size:1rem; }
.iq-field input::file-selector-button { min-height:44px; white-space:normal; }
.page--preisrechner .pc-step__heading { gap:0; }
#project-choice > summary > span:first-child { flex:1; }
.pc-package > ul { margin-bottom:1rem; }
.iq-file-list > div > span { min-width:0; overflow-wrap:anywhere; }
.iq-progress { grid-template-columns:repeat(4,minmax(0,1fr)); min-width:0; }
.iq-progress button { min-width:0; overflow-wrap:anywhere; }
.page--preisrechner :is(.pc-package__tag,.pc-package__category,.pc-package__positioning) { font-size:.875rem; }
@media (max-width:360px) {
  .page--preisrechner .iq-progress button { font-size:.875rem; letter-spacing:-.025em; }
}
body.page--preisrechner { min-width:0; }
.page--preisrechner .iq-review-block .iq-price { font-size:1.25rem; line-height:1.4; color:#eef4ff; }
