/* primaProfi V2 07. Scoped, standalone design. Host controls content width. */
html.pp-katalog-v2-test {--ppv2-host-width:1140px;--ppv2-ink:#26394b;--ppv2-muted:#617285;--ppv2-line:#dfe5ea;--ppv2-orange:#e3750f;}
html.pp-katalog-v2-test #afkatalog.ppv2-active{box-sizing:border-box!important;position:relative!important;isolation:isolate!important;height:auto!important;min-height:0!important;overflow:hidden!important;padding:35px 24px 48px!important;background-position:right center!important;background-size:cover!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(250,251,252,.99) 0%,rgba(250,251,252,.98) 53%,rgba(250,251,252,.87) 74%,rgba(250,251,252,.53) 100%)}
html.pp-katalog-v2-test #afkatalog.ppv2-active>*{position:relative;z-index:1}
html.pp-katalog-v2-test .ppv2-legacy-steps{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro,html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell{box-sizing:border-box;width:100%;max-width:var(--ppv2-host-width);margin-left:auto;margin-right:auto;text-align:left}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro{margin-bottom:22px;color:var(--ppv2-ink)}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-eyebrow{font-size:11px;font-weight:700;letter-spacing:.07em;color:#b85f0c;margin:0 0 6px}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro h2{font-size:24px!important;line-height:1.3!important;font-weight:700!important;margin:0 0 7px!important;text-align:left!important;color:var(--ppv2-ink)!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-subtitle{font-size:14px;line-height:1.55;margin:0 0 11px;color:var(--ppv2-ink)}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-trust{display:flex;flex-wrap:wrap;gap:6px 22px;color:var(--ppv2-muted);font-size:12px;line-height:1.45}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-trust span:before{content:'✓';color:#46738d;margin-right:6px;font-weight:700}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell{background:white;border:1px solid #e3e8ed;border-radius:12px;box-shadow:0 12px 36px rgba(25,44,62,.09);overflow:hidden}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell>.container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell .row{margin:0!important;width:100%!important;display:block!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .frage-right{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .frage-left{display:block!important;float:none!important;width:100%!important;max-width:100%!important;flex:0 0 100%!important;margin:0!important;padding:0!important;border:0!important;background:white!important;height:auto!important;min-height:0!important;overflow:visible!important;box-shadow:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .frage-left form{width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;position:relative!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .frage-left form>.heading{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list{display:block!important;position:relative!important;float:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;transform:none!important;left:auto!important;list-style:none!important;overflow:visible!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li{display:none!important;float:none!important;position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;box-sizing:border-box!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-current{display:block!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-top{padding:17px 25px 14px;background:white;border-bottom:1px solid #edf0f3}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--ppv2-muted)}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-bar{height:4px;background:#edf0f3;border-radius:6px;overflow:hidden;margin-top:11px}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-fill{height:100%;background:#6286a0;transition:width .2s}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragentitel{display:block!important;height:auto!important;min-height:0!important;padding:23px 25px 12px!important;background:white!important;border:0!important;text-align:left!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragentitel-h1{font-size:20px!important;line-height:1.4!important;font-weight:650!important;color:var(--ppv2-ink)!important;text-align:left!important;white-space:normal!important;overflow-wrap:break-word!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragentitel-h2{font-size:13px!important;line-height:1.5!important;color:var(--ppv2-muted)!important;text-align:left!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragentitel .next-wrapper,html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list .progress{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;align-items:stretch!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:6px 25px 24px!important;box-sizing:border-box!important;text-align:left!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio,html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .checkbox{margin:0!important;padding:0!important;width:100%!important;min-width:0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label,html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .checkbox label{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:49px!important;height:100%!important;padding:10px 13px!important;border:1px solid var(--ppv2-line)!important;border-radius:7px!important;background:#fff!important;color:var(--ppv2-ink)!important;font-size:14px!important;font-weight:400!important;line-height:1.4!important;white-space:normal!important;text-align:left!important;cursor:pointer!important;box-sizing:border-box!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:hover,html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .checkbox label:hover{border-color:#aebcc8!important;background:#f7f9fa!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen label:has(input:checked){border-color:#7293ab!important;background:#f1f6f9!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen label:focus-within{outline:2px solid #7598b4!important;outline-offset:2px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input[type=radio],html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input[type=checkbox]{position:static!important;opacity:1!important;display:inline-block!important;appearance:auto!important;flex:0 0 16px!important;width:16px!important;height:16px!important;margin:0!important;accent-color:#527e9d!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .form-inline,html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .input-group,html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .container-fluid{grid-column:1/-1!important;max-width:100%!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input[type=text],html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input[type=number],html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input[type=email],html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea,html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen select{max-width:100%!important;min-height:42px!important;border:1px solid #d6dfe6!important;border-radius:6px!important;font-size:14px!important;padding:9px 12px!important;line-height:1.4!important;box-sizing:border-box!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 25px;border-top:1px solid #edf0f3;background:white;text-align:left}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-back,html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-next{display:inline-flex;align-items:center;justify-content:center;min-height:41px;border-radius:7px;padding:9px 18px;font-size:14px!important;font-weight:600!important;line-height:1.3;cursor:pointer}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-back{background:#fff;border:1px solid #d5dee5;color:#43596a}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-back:hover{background:#f5f7f9;border-color:#b8c5cf}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-next{background:var(--ppv2-orange);border:1px solid var(--ppv2-orange);color:#fff;min-width:110px}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-next:not(:disabled):hover{background:#c96309}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-next:disabled{opacity:.48;cursor:not-allowed}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-note{font-size:12px;color:#748494;text-align:center}
html.pp-katalog-v2-test #afkatalog.ppv2-active [hidden]{display:none!important}
@media(max-width:700px){html.pp-katalog-v2-test #afkatalog.ppv2-active{padding:24px 12px 34px!important}html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro h2{font-size:21px!important}html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-trust{gap:5px 12px}html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-top{padding:16px}html.pp-katalog-v2-test #afkatalog.ppv2-active .fragentitel{padding:20px 16px 10px!important}html.pp-katalog-v2-test #afkatalog.ppv2-active .fragentitel-h1{font-size:18px!important}html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen{grid-template-columns:1fr!important;padding:5px 16px 18px!important}html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-footer{padding:14px 16px;flex-wrap:wrap}html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-note{order:3;width:100%}}

/* V2 08: Einspaltige Auswahl, Navigation und Suchdialog */
html.pp-katalog-v2-test{--ppv2-host-width:1140px}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro{max-width:var(--ppv2-host-width)!important;padding-left:0!important;padding-right:0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro h2{font-size:22px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-back{font-weight:400!important;color:#657585!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-note:empty{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-footer{justify-content:space-between!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-radio-only .fragen .radio input[type=radio]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;clip-path:inset(50%)!important;overflow:hidden!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-radio-only .fragen .radio label{padding-left:16px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-overlay{position:absolute!important;inset:0;z-index:40!important;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(255,255,255,.98);text-align:center}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-content{max-width:390px;margin:auto;text-align:center}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-spinner{width:52px;height:52px;border:4px solid #e8edf1;border-top-color:#e3750f;border-radius:50%;margin:0 auto 22px;animation:ppv2spin .85s linear infinite}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-content h3{font-size:20px!important;line-height:1.35;color:#26394b;font-weight:600;margin:0 0 8px}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-content p{font-size:14px;line-height:1.5;color:#617285;margin:0}
@keyframes ppv2spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-spinner{animation-duration:2s}}
@media(max-width:700px){html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro h2{font-size:20px!important}}

/* V2 09: consistent host alignment, input cards, loader */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro{box-sizing:border-box!important;margin-right:0!important;max-width:100%!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>input[type=text],
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>input[type=number],
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>textarea,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.form-group:not(.input-group){width:100%!important;min-width:0!important;max-width:100%!important;grid-column:auto!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea{font:inherit!important;font-size:14px!important;font-weight:400!important;color:#26394b!important;box-sizing:border-box!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input::placeholder,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea::placeholder{font:inherit!important;font-size:14px!important;font-weight:400!important;color:#617285!important;opacity:1!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>input[type=text],
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.form-group>input[type=text]{width:100%!important;min-height:49px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell{position:relative!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active #loader{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-overlay{position:absolute!important;inset:0!important;z-index:40!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:32px!important;border-radius:12px!important;box-sizing:border-box!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-content{width:100%;max-width:440px!important;text-align:center!important;margin:auto!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-mark{display:flex;justify-content:center;align-items:center;gap:9px;height:56px;margin:0 auto 16px}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-mark span{display:block;width:12px;height:12px;background:#6286a0;border-radius:50%;animation:ppv2pulse 1.05s ease-in-out infinite}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-mark span:nth-child(2){animation-delay:.16s}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-mark span:nth-child(3){animation-delay:.32s}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-content h3{font-size:18px!important;font-weight:600!important;color:#26394b!important;text-align:center!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-content p{font-size:14px!important;color:#617285!important;text-align:center!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-done .ppv2-search-mark span{animation:none;background:#6286a0}
@keyframes ppv2pulse{0%,65%,100%{transform:scale(.7);opacity:.35}35%{transform:scale(1.15);opacity:1}}
@media(prefers-reduced-motion:reduce){html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-search-mark span{animation:none}}

/* V2 10: unified content alignment, native controls, gentler transitions */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell{
  width:100%!important;max-width:var(--ppv2-host-width)!important;
  margin-left:auto!important;margin-right:auto!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-eyebrow{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-footer{border-top:0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:focus-within,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .checkbox label:focus-within{outline:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:has(input:focus-visible),
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .checkbox label:has(input:focus-visible){outline:2px solid #7598b4!important;outline-offset:2px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>textarea,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.form-group,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.bootstrap-select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.dropdown,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.radio,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.checkbox{width:100%!important;min-width:0!important;max-width:100%!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea{width:100%!important;min-height:145px!important;resize:vertical!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .bootstrap-select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .bootstrap-select>.dropdown-toggle{
  display:block!important;width:100%!important;max-width:100%!important;min-height:49px!important;
  font-size:14px!important;font-weight:400!important;color:#26394b!important;
  background:#fff!important;border:1px solid #dfe5ea!important;border-radius:7px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .dropdown-menu{
  max-height:min(280px,50vh)!important;overflow-y:auto!important;max-width:100%!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-current{
  animation:ppv2fadein .16s ease-out both;
}
@keyframes ppv2fadein{from{opacity:.7}to{opacity:1}}
@media(prefers-reduced-motion:reduce){html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-current{animation:none!important}}
@media(max-width:700px){html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell{max-width:100%!important}}

/* V2 11: Align the intro to the card even if the host container is wider. */
@media(min-width:701px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro{
  width:calc(100% - 2 * var(--ppv2-intro-inset, 0px))!important;
  max-width:var(--ppv2-host-width)!important;
  margin-inline:auto!important;
 }
}
/* Text inputs and placeholders use the same metrics as the answer tiles. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen select{
 font-family:inherit!important;font-size:14px!important;font-weight:400!important;
 line-height:1.4!important;letter-spacing:normal!important;color:#26394b!important;
 padding:10px 13px!important;border:1px solid #dfe5ea!important;
 border-radius:7px!important;min-height:49px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input::placeholder,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea::placeholder{
 font-family:inherit!important;font-size:14px!important;font-weight:400!important;
 line-height:1.4!important;letter-spacing:normal!important;color:#26394b!important;opacity:1!important;
}

/* V2 12: definitive overrides; preserve engine and category logic. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro{box-sizing:border-box!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-back{font-weight:400!important;color:#667887!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-radio-only .fragen .radio input[type=radio]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;clip-path:inset(50%)!important;pointer-events:none!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-radio-only .fragen .radio label{padding-left:13px!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen select{font-size:14px!important;font-weight:400!important;line-height:1.4!important;font-family:inherit!important;color:#26394b!important;box-sizing:border-box!important;min-height:49px!important;padding:10px 13px!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input::placeholder,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea::placeholder{color:#26394b!important;opacity:1!important;font-size:14px!important;font-weight:400!important;}

/* V2 13: reserve stable layout before the asynchronous engine finishes. */
html.pp-katalog-v2-test #afkatalog:not(.ppv2-active){visibility:hidden!important;min-height:0!important;height:0!important;overflow:hidden!important;padding:0!important;margin:0!important}
html.pp-katalog-v2-test #ppv2-initial{background:#f8f9fa;padding:35px 24px 48px;box-sizing:border-box;min-height:370px;color:#26394b}
html.pp-katalog-v2-test #ppv2-initial .ppv2-initial-inner{max-width:var(--ppv2-host-width,1140px);margin:0 auto;box-sizing:border-box}
html.pp-katalog-v2-test #ppv2-initial h2{font-size:25px!important;line-height:1.3!important;font-weight:700!important;color:#26394b!important;margin:0 0 7px!important;text-align:left!important}
html.pp-katalog-v2-test #ppv2-initial p{font-size:14px;line-height:1.55;margin:0 0 11px;color:#26394b}
html.pp-katalog-v2-test #ppv2-initial .ppv2-initial-trust{font-size:12px;line-height:1.5;color:#617285;margin-bottom:22px}
html.pp-katalog-v2-test #ppv2-initial .ppv2-initial-card{background:white;border:1px solid #e3e8ed;border-radius:12px;box-shadow:0 12px 36px rgba(25,44,62,.09);height:160px;padding:25px;box-sizing:border-box}
html.pp-katalog-v2-test #ppv2-initial .ppv2-initial-bar{height:4px;background:#edf0f3;border-radius:4px;margin:10px 0 32px}
html.pp-katalog-v2-test #ppv2-initial .ppv2-initial-line{height:14px;width:62%;background:#f2f5f7;border-radius:4px;margin-bottom:14px}
html.pp-katalog-v2-test #ppv2-initial .ppv2-initial-line.short{width:38%}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro,html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell{width:100%!important;max-width:var(--ppv2-host-width,1140px)!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:700px){html.pp-katalog-v2-test #ppv2-initial{padding:24px 12px 34px}html.pp-katalog-v2-test #ppv2-initial h2{font-size:20px!important}}

/* V2 14: mobile uses full available width. Desktop aligns to measured card. */
@media(max-width:700px){html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}}

/* V2 15: identical starting geometry for loading placeholder and catalogue.
   Hide the dynamically inserted intro until its measured inset is applied. */
@media(min-width:701px){
 html.pp-katalog-v2-test #ppv2-initial .ppv2-initial-inner{
   width:calc(100% - 48px)!important;max-width:1075px!important;
   margin-left:auto!important;margin-right:auto!important;
 }
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro:not(.ppv2-aligned){visibility:hidden!important}

/* V2 16: no apparent selection from programmatic focus; keyboard focus remains visible. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:focus-within:not(:has(input:focus-visible)),
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .checkbox label:focus-within:not(:has(input:focus-visible)){outline:none!important;box-shadow:none!important}

/* V2 17: programmatic focus must not resemble a selected answer.
   Only keyboard navigation receives a visible focus indicator. */
html.pp-katalog-v2-test #afkatalog.ppv2-active:not(.ppv2-keyboard-navigation) .fragen .radio label:focus-within,
html.pp-katalog-v2-test #afkatalog.ppv2-active:not(.ppv2-keyboard-navigation) .fragen .checkbox label:focus-within,
html.pp-katalog-v2-test #afkatalog.ppv2-active:not(.ppv2-keyboard-navigation) .fragen .radio label:has(input:focus-visible),
html.pp-katalog-v2-test #afkatalog.ppv2-active:not(.ppv2-keyboard-navigation) .fragen .checkbox label:has(input:focus-visible){outline:none!important;box-shadow:none!important;}

/* V2 18: Navigation directly beneath progress indicator; no dividing line. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-top{border-bottom:0!important;padding-bottom:12px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-top>.ppv2-back{display:inline-block!important;min-height:0!important;margin:12px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#657585!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important;text-align:left!important;text-decoration:none!important;cursor:pointer}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-top>.ppv2-back:hover{color:#243c52!important;text-decoration:none!important;background:transparent!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-top>.ppv2-back[hidden]{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-top+.container{border-top:0!important}

/* V2 19: free text occupies one full answer column, without changing answer selection. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen > :has(> input:not([type=radio]):not([type=checkbox]):not([type=hidden])),
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen > :has(> textarea){
  grid-column:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  min-height:49px!important;padding:10px 13px!important;
  border:1px solid var(--ppv2-line)!important;border-radius:7px!important;
  background:#fff!important;color:var(--ppv2-ink)!important;
  font-size:14px!important;font-weight:400!important;line-height:1.4!important;
  box-sizing:border-box!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input::placeholder,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea::placeholder{
  color:#83919f!important;opacity:1!important;font-size:14px!important;font-weight:400!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen input:not([type=radio]):not([type=checkbox]):not([type=hidden]):focus,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea:focus{
  border-color:#7293ab!important;outline:2px solid rgba(98,134,160,.22)!important;outline-offset:0!important;
}
/* Keep the next action at the bottom right, even with an empty note element. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-footer > .ppv2-next{
  margin-left:auto!important;margin-right:0!important;flex:0 0 auto!important;
}

/* V2 20: compact country dropdown and postcode on the same line. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields{
  display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;
  justify-content:flex-start!important;gap:10px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > *{
  grid-column:auto!important;flex:0 0 230px!important;width:230px!important;
  max-width:100%!important;min-width:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > :has(select),
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > .bootstrap-select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > select{
  flex:0 0 110px!important;width:110px!important;max-width:110px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select > .dropdown-toggle{
  width:100%!important;min-width:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select > .dropdown-toggle{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  text-align:left!important;padding:10px 12px!important;cursor:pointer!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select > .dropdown-toggle::after{
  content:''!important;display:block!important;flex:none!important;width:7px!important;height:7px!important;
  margin-left:8px!important;border-right:1.5px solid #657585!important;
  border-bottom:1.5px solid #657585!important;transform:rotate(45deg) translateY(-2px)!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > select{
  appearance:auto!important;-webkit-appearance:menulist!important;cursor:pointer!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields input:not([type=hidden]){
  width:100%!important;min-width:0!important;
}
@media(max-width:420px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > *{
   flex-basis:calc(100% - 120px)!important;width:calc(100% - 120px)!important;
 }
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > :has(select),
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > .bootstrap-select,
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > select{
   flex-basis:110px!important;width:110px!important;
 }
}

/* V2 21: country and object postcode, including legacy nested wrappers. */
html.pp-katalog-v2-test #afkatalog.ppv2-active,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell{overflow:visible!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields :is(.form-inline,.input-group,.form-group):has(select):has(input[placeholder="PLZ"]){
 display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-start!important;justify-content:flex-start!important;gap:10px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > :has(select):has(input[placeholder="PLZ"]){flex:1 1 100%!important;width:100%!important;max-width:100%!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select{
 flex:0 0 76px!important;width:76px!important;max-width:76px!important;min-width:76px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select>.dropdown-toggle{width:76px!important;min-width:76px!important;padding:10px 9px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields input[placeholder="PLZ"]{
 flex:0 1 210px!important;width:210px!important;max-width:210px!important;min-width:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields > :has(input[placeholder="PLZ"]):not(:has(select)){
 flex:0 1 210px!important;width:210px!important;max-width:210px!important;min-width:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .dropdown-menu{z-index:10050!important;max-width:240px!important}
@media(max-width:420px){html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields input[placeholder="PLZ"]{flex-basis:calc(100% - 86px)!important;width:calc(100% - 86px)!important}}

/* V2 22: Compact country selector; show its complete native selectpicker list. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select{
 flex:0 0 62px!important;width:62px!important;min-width:62px!important;max-width:62px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select>.dropdown-toggle{
 width:62px!important;min-width:62px!important;max-width:62px!important;padding:10px 7px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select>.dropdown-toggle::after{
 width:6px!important;height:6px!important;margin-left:3px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select{position:relative!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select>.dropdown-menu{
 position:absolute!important;top:calc(100% + 6px)!important;left:0!important;right:auto!important;
 width:112px!important;min-width:112px!important;max-width:112px!important;
 height:auto!important;max-height:none!important;overflow:visible!important;
 padding:5px 0!important;margin:0!important;border:1px solid #dfe5ea!important;
 border-radius:7px!important;background:#fff!important;box-shadow:0 10px 22px rgba(20,40,60,.12)!important;
 z-index:10050!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select>.dropdown-menu .inner{
 height:auto!important;max-height:none!important;overflow:visible!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields .bootstrap-select>.dropdown-menu li a{
 padding:6px 12px!important;line-height:1.4!important;
}
@media(max-width:420px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields input[placeholder="PLZ"]{
 flex-basis:calc(100% - 72px)!important;width:calc(100% - 72px)!important;
 }
}

/* V2 23: Native country selector. Avoid the legacy selectpicker's detached
   popup, fixed-height scrolling and orphaned dropdown elements. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country .bootstrap-select{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country select.advance-select{
 display:block!important;visibility:visible!important;opacity:1!important;
 position:relative!important;clip:auto!important;clip-path:none!important;
 flex:0 0 65px!important;width:65px!important;min-width:65px!important;max-width:65px!important;
 height:49px!important;min-height:49px!important;margin:0!important;
 padding:10px 5px!important;appearance:auto!important;-webkit-appearance:menulist!important;
 cursor:pointer!important;z-index:auto!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country > :has(select.advance-select){
 flex:0 0 65px!important;width:65px!important;min-width:65px!important;max-width:65px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country input[placeholder="PLZ"]{
 flex:0 1 210px!important;width:210px!important;max-width:210px!important;
}

/* V2 24: The original country select is nested inside bootstrap-select.
   Keep that wrapper in the DOM for the catalogue engine, but make its
   native select visible and remove only the visual selectpicker controls. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country .bootstrap-select{
 display:contents!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country .bootstrap-select > .dropdown-toggle,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country .bootstrap-select > .dropdown-menu{
 display:none!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country .bootstrap-select > select.advance-select{
 display:block!important;position:static!important;visibility:visible!important;opacity:1!important;
 width:65px!important;min-width:65px!important;max-width:65px!important;
 height:49px!important;min-height:49px!important;
 padding:10px 5px!important;appearance:menulist!important;-webkit-appearance:menulist!important;
}

/* V2 25: Restore the postcode field width without changing its input logic.
   Keep the native country selector compact and preserve the dropdown. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country .bootstrap-select > select.advance-select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country > select.advance-select{
  width:60px!important;min-width:60px!important;max-width:60px!important;flex:0 0 60px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country > :has(select.advance-select):not(:has(input[placeholder="PLZ"])){ 
  width:60px!important;min-width:60px!important;max-width:60px!important;flex:0 0 60px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country > :has(input[placeholder="PLZ"]):not(:has(select)){
  width:210px!important;min-width:210px!important;max-width:210px!important;flex:0 0 210px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country input[placeholder="PLZ"]{
  display:block!important;box-sizing:border-box!important;width:210px!important;min-width:210px!important;max-width:210px!important;flex:0 0 210px!important;
}

/* V2 26: Postal format hint, without changing the country or postcode layout. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-postal-hint{
  flex:0 0 100%;width:100%;max-width:100%;margin-top:2px;
  color:#a33b2b;font-size:13px;line-height:1.45;text-align:left;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-postal-hint[hidden]{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-location-fields input[aria-invalid="true"]{border-color:#c96d5d!important}

/* V2 27: Show postal validation directly below the complete input row.
   Keep the existing country and postcode widths and flex layout untouched. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields + .ppv2-postal-hint{
 display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;
 margin:8px 0 0!important;padding:0!important;text-align:left!important;
 color:#a33b2b!important;font-size:13px;line-height:1.45;white-space:normal!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields + .ppv2-postal-hint[hidden]{display:none!important}

/* V2 28: Bring the hint closer to the fields; horizontal alignment is measured from the postcode input. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields + .ppv2-postal-hint{margin-top:-9px!important;}

/* V2 29: Keep the postal hint aligned to the postcode input. JS sets the horizontal inset. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields + .ppv2-postal-hint{margin-top:-16px!important;padding:0!important;}

/* V2 30: Database check feedback shares the existing postcode aligned hint. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-postal-hint.ppv2-postal-checking{color:#64748b!important;}



/* V2 38: isolated contact layout; original narrow legacy wrappers removed by interface JS. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell{border-radius:12px!important;isolation:isolate}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell>.ppv2-top{border-radius:12px 12px 0 0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell>.ppv2-footer{border-radius:0 0 12px 12px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page .fragentitel{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page .fragen{display:block!important;width:100%!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page .ppv2-contact-part{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;text-align:left!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page.ppv2-contact-stage-one .ppv2-contact-second,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page.ppv2-contact-stage-two .ppv2-contact-first{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page.ppv2-contact-stage-one .ppv2-contact-first,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page.ppv2-contact-stage-two .ppv2-contact-second{display:block!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-heading{display:block!important;width:100%!important;max-width:none!important;margin:0 0 18px!important;font-size:19px!important;line-height:1.4!important;font-weight:600!important;color:#26394b!important;white-space:normal!important;text-align:left!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-fields{display:grid!important;gap:10px!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0 0 12px!important;padding:0!important;box-sizing:border-box!important;align-items:stretch!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-fields>*{box-sizing:border-box!important;min-width:0!important;max-width:none!important;width:100%!important;margin:0!important;float:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-fields>input{display:block!important;height:49px!important;min-height:49px!important;padding:10px 14px!important;border:1px solid #d6dfe6!important;border-radius:7px!important;font-size:14px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-names,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-company{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-email,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-street,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-phone{grid-template-columns:minmax(0,1fr)!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-location{grid-template-columns:65px minmax(110px,190px) minmax(0,1fr)!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-location>input{width:100%!important;max-width:none!important;min-width:0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-location>.bootstrap-select{width:65px!important;min-width:65px!important;max-width:65px!important;display:block!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-location select{width:65px!important;min-width:65px!important;max-width:65px!important;height:49px!important;min-height:49px!important;appearance:menulist!important;display:block!important;visibility:visible!important;opacity:1!important;position:static!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-location>.bootstrap-select>.dropdown-toggle,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-location>.bootstrap-select>.dropdown-menu{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede{display:flex!important;align-items:center!important;gap:16px!important;margin:0 0 12px!important;width:100%!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede .form-check{display:flex!important;align-items:center!important;gap:5px!important;margin:0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-box{margin:0 0 12px!important;width:100%!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-toggle{display:inline-block!important;background:none!important;border:0!important;padding:0!important;color:#526779!important;font-size:13px!important;cursor:pointer!important;text-decoration:underline!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-toggle[hidden],
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-company[hidden]{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-company input.hidden{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second .form-check:has(#agb-checkbox){display:flex!important;align-items:flex-start!important;gap:10px!important;width:100%!important;max-width:none!important;margin:14px 0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second .form-check:has(#agb-checkbox) label{display:block!important;flex:1!important;width:auto!important;min-width:0!important;max-width:none!important;white-space:normal!important;line-height:1.5!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-part .next-button.submit{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-footer>.ppv2-next.ppv2-submit-green{background:#43b64b!important;border-color:#43b64b!important;color:#fff!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-error{font-size:13px!important;color:#a33b2b!important;margin:9px 0!important;text-align:left!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-error[hidden]{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-help{margin:12px 0!important;font-size:13px!important;color:#526779!important;text-align:left!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-help summary{cursor:pointer!important;text-align:left!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-help p{margin:7px 0 0!important;max-width:650px!important}
@media(max-width:520px){html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-names,html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-company{grid-template-columns:1fr!important}html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-location{grid-template-columns:65px minmax(75px,1fr)!important}html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-location>#userdata_ort{grid-column:1/-1!important}}

/* V2 39: contact stage is not an object-location question.
   Old .ppv2-location-fields rules applied flex:0 0 230px to the entire contact step. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .fragen{
 display:block!important;flex-wrap:initial!important;gap:0!important;width:100%!important;max-width:none!important;min-width:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .fragen>.ppv2-contact-part{
 display:block;width:100%!important;max-width:100%!important;min-width:0!important;flex:none!important;grid-column:1/-1!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page.ppv2-contact-stage-one .fragen>.ppv2-contact-second,
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page.ppv2-contact-stage-two .fragen>.ppv2-contact-first{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-part>.ppv2-contact-fields,
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-company-box>.ppv2-contact-fields{
 display:grid!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:none!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-fields>input{
 width:100%!important;max-width:100%!important;min-width:0!important;min-height:49px!important;height:49px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-part>.ppv2-contact-heading{
 display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-second>.form-check{
 width:100%!important;max-width:100%!important;display:flex!important;align-items:flex-start!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-second>.form-check label{
 width:auto!important;max-width:none!important;min-width:0!important;flex:1!important;white-space:normal!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location{
 grid-template-columns:65px minmax(120px,200px) minmax(0,1fr)!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location>select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location>.bootstrap-select{
 width:65px!important;max-width:65px!important;min-width:65px!important;
}
@media(max-width:520px){html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location{grid-template-columns:65px minmax(0,1fr)!important}html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location>#userdata_ort{grid-column:1/-1!important}}

/* V2 40: final contact controls and optional company details. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second .form-check:has(#agb-checkbox){align-items:flex-start!important;gap:10px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second #agb-checkbox{flex:0 0 17px!important;width:17px!important;height:17px!important;margin:3px 0 0!important;position:static!important;vertical-align:top!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second .form-check:has(#agb-checkbox) label{margin:0!important;padding:0!important;line-height:23px!important;align-self:flex-start!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page.ppv2-contact-stage-two~.ppv2-footer{justify-content:flex-start!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer{justify-content:flex-start!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next{margin-left:0!important;margin-right:auto!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-toggle{display:inline-flex!important;align-items:center!important;gap:9px!important;padding:10px 12px!important;border:1px solid #d6dfe6!important;border-radius:7px!important;background:#fff!important;text-decoration:none!important;color:#26394b!important;font-size:14px!important;font-weight:400!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-toggle .ppv2-company-icon{font-size:17px!important;line-height:1!important;color:#577f99!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-toggle.ppv2-company-open{margin-bottom:10px!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-company[hidden]{display:none!important}

/* V2 41: compact phone and polished final submission. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-phone{
 grid-template-columns:minmax(0,220px)!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer{
 padding-top:4px!important;margin-top:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;
 transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green::after{
 content:'→';font-size:19px;line-height:1;display:inline-block;transition:transform .18s ease;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green:not(:disabled):hover{
 background:#319c3b!important;border-color:#319c3b!important;box-shadow:0 4px 11px rgba(32,117,44,.18)!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green:not(:disabled):hover::after{transform:translateX(3px)}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green:focus-visible{outline:2px solid #1b7433!important;outline-offset:3px!important}
@media(max-width:520px){html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-phone{grid-template-columns:minmax(0,1fr)!important}}

/* V2 42: Contact finishing touches. Keep the existing input, validation and submission elements. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first .ppv2-company-box{
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first .ppv2-contact-company:not([hidden]){
 margin:0 0 10px!important;align-self:stretch!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-toggle.ppv2-company-open{margin-bottom:0!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-icon{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-icon svg{display:block;width:18px;height:18px}
/* The consent line starts at the same left edge as the form fields, without Bootstrap's form-check indent. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second>.form-check:has(#agb-checkbox){
 box-sizing:border-box!important;padding-left:0!important;margin-left:0!important;margin-right:0!important;
 display:flex!important;align-items:center!important;gap:10px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second>.form-check:has(#agb-checkbox) #agb-checkbox{
 margin:0!important;flex:0 0 17px!important;align-self:center!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second>.form-check:has(#agb-checkbox) label{
 margin:0!important;padding:0!important;line-height:1.45!important;
}
/* A wider, field-sized green action; left-aligned, with a little more space below it. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer{
 padding-top:1px!important;padding-bottom:25px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green{
 box-sizing:border-box!important;width:220px!important;min-width:220px!important;min-height:49px!important;
 padding:11px 15px!important;
}
/* Stage one remains right-aligned; the arrow signals that this is not yet submission. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-one)>.ppv2-footer>.ppv2-next::after{
 content:'→';display:inline-block;margin-left:9px;font-size:18px;line-height:1;
}
@media(max-width:520px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green{
  width:100%!important;min-width:0!important;
 }
}

/* V2 43: compact contact details, discreet country selector and inline company option. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email{
 grid-template-columns:minmax(0,calc((100% - 10px)/2))!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-first .ppv2-company-box{
 margin:2px 0 12px!important;padding:0!important;gap:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-company-toggle{
 display:inline-flex!important;align-items:center!important;gap:8px!important;
 border:0!important;background:transparent!important;border-radius:0!important;
 padding:3px 0!important;margin:0!important;box-shadow:none!important;
 color:#526779!important;text-decoration:none!important;font-weight:400!important;
 cursor:pointer!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-company-toggle:hover,
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-company-toggle:focus-visible{
 color:#245b7b!important;text-decoration:underline!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-company-toggle::after{
 content:'⌄';font-size:18px;line-height:1;display:inline-block;transition:transform .18s ease;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-company-toggle[aria-expanded="true"]::after{
 transform:rotate(180deg);
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-first .ppv2-contact-company:not([hidden]){
 margin:0 0 10px!important;
}
/* Phone ends at the right edge of the postcode input (country + gap + postcode). */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-phone{
 grid-template-columns:minmax(0,265px)!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location select[name="userdata_land"],
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location select[name="userdata_land"]:autofill{
 background:#fff!important;background-color:#fff!important;color:#526779!important;
 -webkit-box-shadow:0 0 0 100px #fff inset!important;box-shadow:0 0 0 100px #fff inset!important;
 border-color:#d6dfe6!important;font-weight:400!important;
}
@media(max-width:520px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email{grid-template-columns:minmax(0,1fr)!important}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-phone{grid-template-columns:minmax(0,1fr)!important}
}


/* V2 44: commercial option shares the email row; optional fields flow beneath it. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email{
 grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:center!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email>.ppv2-company-toggle{
 justify-self:start!important;align-self:center!important;width:max-content!important;max-width:100%!important;
 margin:0!important;padding:5px 0!important;white-space:normal!important;text-align:left!important;
 text-decoration:none!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email>.ppv2-company-toggle:hover,
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email>.ppv2-company-toggle:focus-visible{
 text-decoration:none!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-company-toggle::after{content:none!important;display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-first .ppv2-company-box{
 margin:0 0 12px!important;padding:0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-first .ppv2-contact-company:not([hidden]){
 margin:0!important;
}
/* Match the combined country + gap + postcode width precisely (65 + 10 + 200). */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-phone{
 grid-template-columns:minmax(0,275px)!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green{
 width:275px!important;min-width:275px!important;max-width:100%!important;
 min-height:49px!important;
}
/* Native country dropdown retains its original options and change handling. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location select[name="userdata_land"]{
 appearance:none!important;-webkit-appearance:none!important;
 padding:0 18px 0 10px!important;text-align:left!important;
 background-color:#fff!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23526779' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-position:right 7px center!important;background-repeat:no-repeat!important;background-size:10px 7px!important;
}
@media(max-width:520px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email{grid-template-columns:minmax(0,1fr)!important}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-phone{grid-template-columns:minmax(0,1fr)!important}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.ppv2-contact-stage-two)>.ppv2-footer>.ppv2-next.ppv2-submit-green{width:100%!important;min-width:0!important}
}

/* V2 45: align the commercial option with the input text inset. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email>.ppv2-company-toggle{
 padding-left:16px!important;
}
/* The catalogue question uses the same unobtrusive arrowless country field
   as the final contact page. Keep the native select and its change events. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country select.advance-select,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields.ppv2-native-country .bootstrap-select>select.advance-select{
 appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;
 background-image:none!important;
 padding:10px 8px!important;
}

/* V2 46: precise commercial label alignment and compact purpose explanation. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email>.ppv2-company-toggle{padding-left:4px!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-purpose{margin:12px 0 3px!important;color:#526779!important;font-size:13px!important;line-height:1.5!important;text-align:left!important;font-weight:400!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-help{margin:3px 0 12px!important;}

/* V2 47: Non-German postcode guidance is neutral, never error red. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-location-fields + .ppv2-postal-hint.ppv2-postal-foreign{color:#64748b!important;}

/* V2 51: Fine alignment of the company option with the input text. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email>.ppv2-company-toggle{padding-left:7px!important;}

/* V2 52: restrained catalogue hero, question remains the visual heading. */
html.pp-katalog-v2-test #afkatalog.ppv2-active{background-position:calc(100% + 95px) center!important;background-repeat:no-repeat!important;background-color:#f8f9fa!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active::before{background:linear-gradient(90deg,rgba(249,250,251,.99) 0%,rgba(249,250,251,.98) 42%,rgba(249,250,251,.91) 62%,rgba(249,250,251,.58) 83%,rgba(249,250,251,.24) 100%)!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro{margin-bottom:22px!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-project{font-size:11px!important;line-height:1.4!important;letter-spacing:.045em!important;font-weight:600!important;color:var(--ppv2-muted)!important;margin:0 0 4px!important;text-transform:uppercase!important;text-align:left!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-project[hidden]{display:none!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro h2{font-size:17px!important;line-height:1.4!important;font-weight:600!important;margin:0 0 5px!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-subtitle{font-size:13px!important;line-height:1.5!important;margin-bottom:9px!important;color:#526779!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-trust{gap:5px 18px!important;font-size:12px!important;}
@media(max-width:700px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active{background-position:calc(100% + 150px) center!important;padding-top:20px!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active::before{background:linear-gradient(90deg,rgba(249,250,251,.99),rgba(249,250,251,.94) 70%,rgba(249,250,251,.75))!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro{margin-bottom:16px!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-project{font-size:10px!important;margin-bottom:3px!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro h2{font-size:16px!important;line-height:1.35!important;margin-bottom:5px!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-subtitle{font-size:12px!important;line-height:1.45!important;margin-bottom:8px!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-trust{gap:4px 12px!important;font-size:11px!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-trust span:nth-child(2),
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-trust span:nth-child(3){display:none!important;}
}

/* V2 53: Single, readable project/category heading; aligned to the question card. */
html.pp-katalog-v2-test #afkatalog.ppv2-active{background-position:calc(100% + 165px) center!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-project{display:none!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro h2{font-size:23px!important;line-height:1.35!important;font-weight:600!important;letter-spacing:normal!important;text-transform:none!important;margin:0 0 6px!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-subtitle{font-size:14px!important;line-height:1.5!important;}
@media(max-width:700px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active{background-position:calc(100% + 195px) center!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-intro h2{font-size:17px!important;line-height:1.35!important;}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-subtitle{font-size:12px!important;}
}

/* V2 54: Desktop hero uses the full viewport height and the full available width.
   Keep the original image proportions (cover), instead of stretching the photo. */
@media(min-width:701px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active{
  min-height:100vh!important;
  background-size:cover!important;
  background-position:calc(100% + 185px) center!important;
 }
}

/* V2 55: Account for the actual page header when sizing the desktop hero.
   The JS measures the hero's document offset, so no fixed header guess is needed. */
@media(min-width:701px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active{
  min-height:calc(100vh - var(--ppv2-page-top, 115px))!important;
  min-height:calc(100dvh - var(--ppv2-page-top, 115px))!important;
 }
}

/* V2 61: All ordinary answers use one grid column on desktop.
   Override legacy full-row wrappers only for the identified free-text option. */
@media(min-width:701px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.ppv2-standard-other{
  grid-column:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;
  display:block!important;
 }
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen>.ppv2-standard-other input[type=text]{
  width:100%!important;min-width:0!important;max-width:100%!important;min-height:49px!important;
 }
}
/* Use the browser's native option popup: it is not clipped by the hero/card.
   The original select and its events stay intact for the catalogue engine. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select>.bootstrap-select{
 display:contents!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select .bootstrap-select>.dropdown-toggle,
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select .bootstrap-select>.dropdown-menu{
 display:none!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select select.advance-select{
 display:block!important;position:static!important;visibility:visible!important;opacity:1!important;
 clip:auto!important;clip-path:none!important;pointer-events:auto!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 height:49px!important;min-height:49px!important;appearance:menulist!important;
 -webkit-appearance:menulist!important;cursor:pointer!important;
}
@media(min-width:701px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select>select.advance-select,
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select>.bootstrap-select,
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select>:has(>select.advance-select),
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select>:has(>.bootstrap-select){
  grid-column:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;
 }
}

/* V2 63: Compact optional description, still manually resizable. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen textarea{
 height:155px!important;min-height:110px!important;resize:vertical!important;
}





/* V2 72: Prevent browser scroll anchoring from shifting the viewport
   when the question card changes height. */
html.pp-katalog-v2-test #afkatalog.ppv2-active,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell { overflow-anchor: none; }

/* V2 76: Keep the hero image at least one full viewport high on every
   question. Longer question cards may grow the hero naturally. */
html.pp-katalog-v2-test #afkatalog.ppv2-active{
 min-height:100vh!important;
 min-height:100dvh!important;
 height:auto!important;
 background-size:cover!important;
 background-repeat:no-repeat!important;
}

/* V2 77: The hero must still cover the full visible viewport after the
   initial, intentional catalogue scroll. Keep the extra height stable across
   all question transitions; longer cards can extend the hero further. */
html.pp-katalog-v2-test #afkatalog.ppv2-active{
 min-height:calc(100vh + var(--ppv2-viewport-extension, 0px))!important;
 min-height:calc(100dvh + var(--ppv2-viewport-extension, 0px))!important;
}

/* V2 78: Standard dropdown occupies exactly one of the two answer columns.
   Preserve the native select and its existing change events. */
@media(min-width:701px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select > :has(select.advance-select),
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select > select.advance-select{
  grid-column:span 1!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
 }
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select select.advance-select{
 appearance:none!important;
 -webkit-appearance:none!important;
 padding-right:40px!important;
 background-color:#fff!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2326394b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;
 background-position:right 15px center!important;
 background-size:16px 16px!important;
}

/* V2 80: One actual half-width grid column, one visible border.
   The bootstrap wrapper is only a carrier for the native select. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select > .bootstrap-select{
 display:contents!important;
 border:0!important;
 background:transparent!important;
 box-shadow:none!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select select.advance-select{
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
 background-position:right 24px center!important;
 padding-right:52px!important;
}
@media(min-width:701px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select > select.advance-select,
 html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen.ppv2-standard-select > .bootstrap-select{
  grid-column:span 1!important;
  min-width:0!important;
 }
}

/* V2 81: Standard selection tile for a radio alternative to free text. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-text-radio-alternative .fragen .radio input[type=radio]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;clip-path:inset(50%)!important;overflow:hidden!important;pointer-events:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-text-radio-alternative .fragen .radio label{padding-left:16px!important}

/* V2 82: Soft question change for automatic selection and the Weiter button.
   Animate only the incoming question, not the card, its height or the page scroll. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-current{
  animation:ppv2-question-enter .34s cubic-bezier(.22,1,.36,1) both!important;
}
@keyframes ppv2-question-enter{
  from{opacity:0;transform:translate3d(0,9px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:reduce){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-current{
  animation:none!important;
 }
}

/* V105: Avoid displaying the legacy stacked postcode layout during initialization.
   The final, already tested country/postcode rules above remain untouched.
   Reveal only after the interface has completed its synchronous location setup. */
html.pp-katalog-v2-test #afkatalog .page-list > li:not(.ppv2-contact-page) .fragen:not(.ppv2-location-fields):has(select):has(input[placeholder="PLZ"]){
 visibility:hidden!important;
 min-height:56px;
}

/* V106: Hide native radio controls before the engine adds ppv2-radio-only.
   Only pure radio answer grids are affected. Mixed inputs and checkboxes stay native. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list > li .fragen:has(> .radio):not(:has(.checkbox)):not(:has(input[type="text"])) .radio input[type="radio"]{
 position:absolute!important;
 width:1px!important;
 height:1px!important;
 opacity:0!important;
 clip-path:inset(50%)!important;
 overflow:hidden!important;
 pointer-events:none!important;
 margin:0!important;
 padding:0!important;
}

/* V107: Prevent native radio flash during initial render and category changes.
   Scope: catalogue answer cards only. Native checkboxes are not affected.
   Does not depend on delayed ppv2-active or ppv2-radio-only classes. */
#afkatalog .page-list .fragen .radio input[type="radio"]{
 position:absolute!important;
 width:1px!important;
 height:1px!important;
 opacity:0!important;
 clip-path:inset(50%)!important;
 overflow:hidden!important;
 pointer-events:none!important;
 margin:0!important;
 padding:0!important;
}


/* V108: Tooltipster Hinweise im Design des neuen Katalogs.
   Nur Desktop. Die bestehende Tooltipster Initialisierung, Texte und
   das bisherige mobile Verhalten bleiben unverändert. */
@media (min-width: 701px) {
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog .tooltipster-box {
    background: #fff4e9 !important;
    border: 1px solid #e9c6a8 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(25,44,62,.13) !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog .tooltipster-content {
    padding: 12px 15px !important;
    color: #26394b !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog .tooltipster-content p {
    margin: 0 !important;
    text-align: left !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog .tooltipster-content p + p {
    margin-top: 8px !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog .tooltipster-arrow-border {
    border-color: transparent !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog.tooltipster-left .tooltipster-arrow-background {
    border-left-color: #fff4e9 !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog.tooltipster-right .tooltipster-arrow-background {
    border-right-color: #fff4e9 !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog.tooltipster-top .tooltipster-arrow-background {
    border-top-color: #fff4e9 !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog.tooltipster-bottom .tooltipster-arrow-background {
    border-bottom-color: #fff4e9 !important;
  }
}

/* V109: Sichtbarer Rahmen am Tooltip Pfeil, passend zur Apricot Box. */
@media (min-width: 701px) {
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog.tooltipster-top .tooltipster-arrow-border {
    border-top-color: #e9c6a8 !important;
  }
  .tooltipster-base.tooltipster-sidetip.tooltipster-afkatalog.tooltipster-bottom .tooltipster-arrow-border {
    border-bottom-color: #e9c6a8 !important;
  }
}

/* V112: Einheitliche Ausrichtung aller Radioantworten ohne Icon.
   Die unsichtbare native Radioeingabe belegt keinen Layoutplatz.
   Deshalb darf der Flex-Abstand nur bei wirklich vorhandenem Icon greifen.
   Gilt auch fuer gemischte Fragekarten und kuenftige Antworten.
   Checkboxen, Icondarstellung und Auswahlverhalten bleiben unveraendert. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:not(:has(> .ppv2-answer-icon)) {
  gap: 0 !important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:has(> .ppv2-answer-icon) {
  gap: 10px !important;
}

/* V113: Radioantworten ohne Icon exakt am normalen Karteninnenrand.
   Native Radiobuttons bleiben fuer Bedienung und Tastatur vorhanden,
   belegen aber weder als Flexelement noch durch alte Abstaende Platz.
   Checkboxen und Antworten mit sichtbarem Icon bleiben unveraendert. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:not(:has(.ppv2-answer-icon)) {
  padding-left: 13px !important;
  gap: 0 !important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:not(:has(.ppv2-answer-icon)) > input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  clip-path: inset(50%) !important;
  pointer-events: none !important;
}


/* V114: Unsichtbare Radioeingaben duerfen keinen Flexplatz reservieren.
   Gilt fuer alle Radioantworten, mit und ohne Icon. Checkboxen unveraendert. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label > input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  flex: 0 0 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  clip-path: inset(50%) !important;
  pointer-events: none !important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .radio label:has(> .ppv2-answer-icon) {
  padding-left: 13px !important;
  gap: 10px !important;
}


/* V115: Confirmation inside the existing catalogue shell, without a second card. */
html.pp-katalog-v2-test #afkatalog.ppv2-active.ppv2-success-state .ppv2-intro,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success > .ppv2-top,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success > .ppv2-footer{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success .page-list>li.ppv2-success-page .fragen{
 display:block!important;width:100%!important;max-width:100%!important;
 padding:40px 30px 40px!important;text-align:center!important;box-sizing:border-box!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-content{
 width:100%;max-width:900px;margin:0 auto;text-align:center!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-icon{
 display:flex;align-items:center;justify-content:center;width:73px;height:73px;
 margin:0 auto 23px;border-radius:50%;background:#e3f7e5;color:#43b64b;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-icon svg{width:36px;height:36px}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-content h2{
 margin:0 0 23px!important;padding:0!important;font-size:29px!important;
 line-height:1.3!important;font-weight:700!important;color:#43b64b!important;text-align:center!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-content p{
 margin:0 auto!important;padding:0!important;font-weight:400!important;line-height:1.65!important;
 text-align:center!important;white-space:normal!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-thanks{
 font-size:17px!important;color:#26394b!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-info{
 max-width:710px!important;margin-top:20px!important;font-size:15px!important;color:#617285!important;
}
@media(max-width:700px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success .page-list>li.ppv2-success-page .fragen{padding:40px 18px 40px!important}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-icon{width:60px;height:60px;margin-bottom:20px}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-icon svg{width:32px;height:32px}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-content h2{font-size:23px!important;margin-bottom:18px!important}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-thanks{font-size:15px!important}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-success-info{font-size:14px!important;margin-top:16px!important}
}


/* V116: Auswahlkacheln ohne sichtbare Checkboxen. Vor dem ersten Rendern aktiv.
   Kontaktformular und dessen Einwilligungscheckbox bleiben unveraendert. */
html.pp-katalog-v2-test #afkatalog .page-list .fragen .checkbox input[type="checkbox"] {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  flex:0 0 0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen .checkbox label {
  padding-left:13px!important;
}
/* Die Engine setzt d-none d-sm-flex auf den Untertitel.
   Nur bei vorhandener Mehrfachauswahlkennzeichnung mobil anzeigen. */
@media (max-width:575.98px) {
  html.pp-katalog-v2-test #afkatalog.ppv2-active .fragentitel-h2.d-none.d-sm-flex:has(span) {
    display:block!important;
  }
}

/* V117: The commercial disclosure replaces the removed neutral salutation choice.
   Keep the original business inputs and their toggle logic unchanged. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede{
 display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px 16px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede>.ppv2-company-toggle{
 display:inline-flex!important;align-items:center!important;gap:8px!important;
 margin:0!important;padding:3px 0!important;width:auto!important;max-width:100%!important;
 border:0!important;background:transparent!important;box-shadow:none!important;
 font:inherit!important;font-weight:400!important;color:#526779!important;
 text-align:left!important;text-decoration:none!important;white-space:normal!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email{
 grid-template-columns:minmax(0,calc((100% - 10px)/2))!important;
}
@media(max-width:520px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-email{grid-template-columns:minmax(0,1fr)!important;}
}

/* V119: The closed company section must not reserve any layout space.
   This overrides the older flex display rule only when the section is hidden. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-first .ppv2-company-box[hidden]{
 display:none!important;
}

/* V119: Conceal the legacy contact markup until the V2 contact layout exists.
   The contact page is shown again as soon as setupContact marks it ready. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell:has(.page-list>li.ppv2-current:not(.ppv2-contact-page) #userdata_vorname){
 visibility:hidden!important;
}

/* V120: Salutation feedback only after all three text fields are complete. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check:not(:has(input:checked)){
 color:#ad453b!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check:not(:has(input:checked)) label{
 color:#ad453b!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check input[type="radio"]{
 accent-color:#ad453b!important;
 outline:1px solid #ad453b!important;
 outline-offset:2px!important;
}

/* V121: Before the contact stage is assigned, show only the first section.
   This prevents the second contact section from flashing during restoration. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page:not(.ppv2-contact-stage-two) .fragen>.ppv2-contact-second{
 display:none!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page.ppv2-contact-stage-two .fragen>.ppv2-contact-first{
 display:none!important;
}
/* V121: Clearer salutation attention without changing the validation trigger. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check label{
 color:#d34848!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check input[type="radio"]{
 accent-color:#d34848!important;outline:1px solid #d34848!important;
}

/* V122: Cool, clearly recognizable error red. Existing trigger is unchanged. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check label{color:#e32636!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-first #userdata_anrede.ppv2-salutation-attention > .form-check input[type="radio"]{accent-color:#e32636!important;outline:1px solid #e32636!important;}
/* Firefox: no persistent click outline; preserve accessible keyboard focus. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-toggle:focus:not(:focus-visible){outline:none!important;box-shadow:none!important;}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-company-toggle:focus-visible{outline:2px solid #7598b4!important;outline-offset:3px!important;}

/* V123: Touch devices must show only the real checkbox selection.
   Safari may retain :hover after a tap, even after the checkbox is unchecked. */
@media (hover:none), (pointer:coarse) {
  html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list .fragen .checkbox label:not(:has(input[type="checkbox"]:checked)),
  html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list .fragen .checkbox label:not(:has(input[type="checkbox"]:checked)):hover {
    background:#fff!important;
    border-color:var(--ppv2-line)!important;
  }
  html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list .fragen .checkbox label:has(input[type="checkbox"]:checked),
  html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list .fragen .checkbox label:has(input[type="checkbox"]:checked):hover {
    background:#f1f6f9!important;
    border-color:#7293ab!important;
  }
  html.pp-katalog-v2-test #afkatalog.ppv2-active .fragentitel-h2.d-none.d-sm-flex:has(span) {
    color:#526779!important;
  }
}

/* V124: Consistent, restrained inline plausibility feedback after leaving a field. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page .ppv2-validated-field{
 min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page .ppv2-validated-field>input{
 display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
 height:49px!important;min-height:49px!important;box-sizing:border-box!important;
 padding:10px 14px!important;border:1px solid #d6dfe6!important;border-radius:7px!important;
 background:#fff!important;color:var(--ppv2-ink)!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page .ppv2-validated-field>input[aria-invalid="true"]{
 border-color:#e32636!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page .ppv2-field-hint{
 margin:5px 0 0!important;padding:0!important;color:#e32636!important;
 font-size:13px!important;font-weight:400!important;line-height:1.45!important;text-align:left!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page .ppv2-field-hint[hidden]{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-postal-hint:not(.ppv2-postal-checking),
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-error{color:#e32636!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-location-fields input[aria-invalid="true"]{border-color:#e32636!important}

/* V129: Ort occupies the full second row on narrow contact screens. */
@media (max-width:520px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location > #userdata_ort{
  grid-column:1 / -1!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  justify-self:stretch!important;
 }
}

/* V130: Mobile contact address. The city input is wrapped by the
   validation container, so the wrapper must span the complete grid row. */
@media (max-width:700px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location{
  grid-template-columns:65px minmax(0,1fr)!important;
 }
 html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list>li.ppv2-contact-page .ppv2-contact-location > .ppv2-validated-field:has(> #userdata_ort){
  grid-column:1 / -1!important;
  width:100%!important;min-width:0!important;max-width:none!important;
 }
}
/* V130: On refresh, do not expose contact stage one while restoring stage two. */
html.pp-katalog-v2-test.ppv2-contact-restoring #afkatalog.ppv2-active .ppv2-shell{
 visibility:hidden!important;
}

/* V131: Consent checkbox only. Larger control aligned with first text line. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second>.form-check:has(#agb-checkbox){
 align-items:flex-start!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second>.form-check:has(#agb-checkbox) #agb-checkbox{
 box-sizing:border-box!important;appearance:auto!important;-webkit-appearance:checkbox!important;
 width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
 flex:0 0 24px!important;align-self:flex-start!important;margin:1px 0 0!important;
}

/* V134: Keep the consent checkbox at 25px on mobile only. */
@media(max-width:700px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-second>.form-check:has(#agb-checkbox) #agb-checkbox{
  width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;flex:0 0 25px!important;
 }
}

/* V137: Informational text aligned with the answer tile icon position. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .fragen > .infotext{
 box-sizing:border-box!important;
 padding:10px 16px!important;
 align-self:center!important;
 margin:0!important;
 font-family:inherit!important;
 font-size:14px!important;
 font-weight:400!important;
 font-style:normal!important;
 line-height:1.4!important;
 color:#58758b!important;
 text-align:left!important;
 white-space:normal!important;
 overflow-wrap:break-word!important;
}

/* V138: Contact postcode message closer to the PLZ row, with breathing room before phone. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-contact-page.ppv2-contact-stage-two .ppv2-contact-postal-hint{
 margin-top:1px!important;
 margin-bottom:7px!important;
}

/* V139: Confirmation card breathing room only; all question layouts unchanged. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success .page-list>li.ppv2-success-page .fragen{
 padding-top:82px!important;
 padding-bottom:82px!important;
}
@media(max-width:700px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success .page-list>li.ppv2-success-page .fragen{
  padding-top:62px!important;
  padding-bottom:62px!important;
 }
}

/* V140: Success view retains the original catalogue scroll anchor and adds
   breathing room directly around the actual confirmation content. */
html.pp-katalog-v2-test #afkatalog.ppv2-active.ppv2-success-state .ppv2-intro{
 display:block!important;
 visibility:hidden!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success .ppv2-success-content{
 box-sizing:border-box!important;
 padding-top:82px!important;
 padding-bottom:82px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success .page-list>li.ppv2-success-page .fragen{
 padding-top:0!important;
 padding-bottom:0!important;
}
@media(max-width:700px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-success .ppv2-success-content{
  padding-top:62px!important;
  padding-bottom:62px!important;
 }
}

/* V141: Duplicate request notice, same terminal card layout as confirmation. */
html.pp-katalog-v2-test #afkatalog.ppv2-active.ppv2-blocked-state .ppv2-intro{
 display:block!important;visibility:hidden!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-blocked > .ppv2-top,
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-blocked > .ppv2-footer{display:none!important}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-blocked .page-list>li.ppv2-success-page .fragen{
 display:block!important;width:100%!important;max-width:100%!important;
 padding:0 30px!important;text-align:center!important;box-sizing:border-box!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-blocked .ppv2-blocked-content{
 padding:82px 0!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-blocked-icon{
 display:flex;align-items:center;justify-content:center;width:73px;height:73px;
 margin:0 auto 23px;border-radius:50%;background:#f0f3f6;color:#617285;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-blocked-content h2{
 color:#26394b!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-blocked-home{
 display:inline-flex;align-items:center;justify-content:center;
 margin-top:28px;padding:12px 22px;border-radius:7px;
 background:#e3750f;color:#fff!important;text-decoration:none!important;
 font:inherit;font-weight:600!important;line-height:1.4;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-blocked-home:hover{
 background:#c96309;color:#fff!important;
}
@media(max-width:700px){
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-blocked .page-list>li.ppv2-success-page .fragen{padding:0 18px!important}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-shell.ppv2-blocked .ppv2-blocked-content{padding:62px 0!important}
 html.pp-katalog-v2-test #afkatalog.ppv2-active .ppv2-blocked-icon{width:60px;height:60px;margin-bottom:20px}
}


/* V142: Native Checkboxen nur in Antwortkacheln rechts anzeigen.
   Radioantworten, Textfelder und Kontaktformular bleiben unveraendert. */
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list .fragen .checkbox label {
  display:flex!important;
  align-items:center!important;
  padding-left:13px!important;
}
html.pp-katalog-v2-test #afkatalog.ppv2-active .page-list .fragen .checkbox label input[type="checkbox"] {
  display:inline-block!important;
  position:static!important;
  order:2!important;
  flex:0 0 16px!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  border:initial!important;
  opacity:1!important;
  visibility:visible!important;
  clip-path:none!important;
  overflow:visible!important;
  pointer-events:auto!important;
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  accent-color:#527e9d!important;
}
