:root {
  --cx-navy: #10243e;
  --cx-blue: #1677c8;
  --cx-light: #f3f7fb;
  --cx-border: #d7e0e9;
  --cx-text: #1e293b;
  --cx-muted: #64748b;
  --cx-radius: 14px;
}

body.cx-kva-page {
  padding-top: 0 !important;
}

body.cx-kva-page #masthead {
  display: none !important;
}

body.cx-kva-page #main {
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 20px 56px !important;
  background: linear-gradient(180deg, #eef4fa 0, #f8fafc 420px, #f8fafc 100%);
}

body.cx-kva-page #primary,
body.cx-kva-page .entry-content {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.cx-kva-shell {
  max-width: 980px;
  margin: 0 auto;
  padding-top: 22px;
}

.cx-kva {
  box-sizing: border-box;
  max-width: 980px;
  margin: 0 auto 40px;
  padding-top: 22px;
  color: var(--cx-text);
  font-family: inherit;
}

.cx-kva *, .cx-kva *::before, .cx-kva *::after { box-sizing: inherit; }

.cx-kva__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 72px;
  margin-bottom: 22px;
  padding: 10px 18px;
  border: 1px solid var(--cx-border);
  border-radius: 15px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 7px 24px rgba(16, 36, 62, .07);
}

.cx-kva__brand {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

.cx-kva__brand-text {
  display: grid;
  gap: 1px;
  color: var(--cx-blue) !important;
  text-decoration: none !important;
}

.cx-kva__brand-name {
  color: var(--cx-blue);
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: .07em;
  line-height: 1.1;
  text-transform: uppercase;
}

.cx-kva__brand-subline {
  color: var(--cx-muted);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .035em;
  line-height: 1.2;
}

.cx-kva__quicknav {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cx-kva__quicknav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px;
  border-radius: 9px;
  color: var(--cx-navy) !important;
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none !important;
}

.cx-kva__quicknav a:hover,
.cx-kva__quicknav a:focus {
  background: var(--cx-light);
}

.cx-kva__quicknav .cx-kva__quicknav-primary {
  background: var(--cx-blue);
  color: #fff !important;
}

.cx-kva__quicknav .cx-kva__quicknav-primary:hover,
.cx-kva__quicknav .cx-kva__quicknav-primary:focus {
  background: #0e64aa;
}

.cx-kva__header {
  margin-bottom: 24px;
  padding: clamp(28px, 5vw, 50px);
  border-radius: 22px;
  background: linear-gradient(135deg, #10243e 0%, #183f68 100%);
  box-shadow: 0 16px 42px rgba(16, 36, 62, .16);
  color: #fff;
}

.cx-kva__header h1, .cx-kva__header h2, .cx-kva__success h1 {
  margin: 6px 0 14px;
  color: #fff;
  font-size: clamp(1.9rem, 4vw, 2.75rem);
  line-height: 1.1;
}

.cx-kva__success h1 {
  color: var(--cx-navy);
}

.cx-kva__eyebrow { margin: 0; color: #7dc6ff; font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cx-kva__header > p:not(.cx-kva__eyebrow) { max-width: 760px; margin: 0; color: rgba(255,255,255,.9); font-size: 1.03rem; line-height: 1.65; }
.cx-kva__benefits { display: flex; flex-wrap: wrap; gap: 9px; margin: 22px 0 0; padding: 0; list-style: none; }
.cx-kva__benefits li { margin: 0; padding: 8px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(255,255,255,.09); color: #fff; font-size: .86rem; font-weight: 700; }
.cx-kva__form { display: grid; gap: 20px; }
.cx-kva fieldset { margin: 0; padding: clamp(20px, 3vw, 30px); border: 1px solid var(--cx-border); border-radius: var(--cx-radius); background: #fff; box-shadow: 0 5px 24px rgba(16,36,62,.05); }
.cx-kva__priority { border: 2px solid #9ecff2 !important; background: linear-gradient(180deg, #f7fbff 0%, #fff 100%) !important; }
.cx-kva legend { padding: 0 10px 0 0; color: var(--cx-navy); font-size: 1.15rem; font-weight: 800; }
.cx-kva legend span { display: inline-grid; width: 30px; height: 30px; margin-right: 8px; place-items: center; border-radius: 50%; background: var(--cx-blue); color: #fff; font-size: .9rem; }
.cx-kva__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cx-kva__intro { margin: 0 0 10px; color: var(--cx-muted); font-size: .92rem; line-height: 1.5; }
.cx-kva label { display: grid; gap: 7px; margin: 14px 0; color: var(--cx-navy); font-size: .94rem; font-weight: 700; }
.cx-kva label > span, .cx-kva label > strong { color: #b42318; }
.cx-kva input, .cx-kva select, .cx-kva textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--cx-border); border-radius: 9px; background: #fff; color: var(--cx-text); font: inherit; transition: border-color .2s, box-shadow .2s; }
.cx-kva textarea { resize: vertical; }
.cx-kva label small { color: var(--cx-muted); font-size: .84rem; font-weight: 400; line-height: 1.5; }
.cx-kva input:focus, .cx-kva select:focus, .cx-kva textarea:focus { outline: 0; border-color: var(--cx-blue); box-shadow: 0 0 0 3px rgba(22,119,200,.15); }
.cx-kva__upload { padding: 18px; border: 2px dashed #b9c8d8; border-radius: 10px; background: var(--cx-light); }
.cx-kva__upload label { margin-top: 0; }
.cx-kva__upload p, .cx-kva__file-list { color: var(--cx-muted); font-size: .88rem; }
.cx-kva__file-list { display: grid; gap: 4px; margin-top: 10px; }
.cx-kva__optional { margin: 16px 0 0; padding: 0 16px 14px; border: 1px solid var(--cx-border); border-radius: 10px; background: #f8fafc; }
.cx-kva__optional summary { display: flex; align-items: center; min-height: 50px; cursor: pointer; color: var(--cx-navy); font-weight: 800; list-style: none; }
.cx-kva__optional summary::-webkit-details-marker { display: none; }
.cx-kva__optional summary::after { content: '+'; margin-left: auto; color: var(--cx-blue); font-size: 1.45rem; font-weight: 400; }
.cx-kva__optional[open] summary::after { content: '–'; }
.cx-kva__optional--large { margin: 0; padding: 0 20px 16px; border: 1px solid var(--cx-border); border-radius: var(--cx-radius); background: #fff; box-shadow: 0 5px 24px rgba(16,36,62,.05); }
.cx-kva__optional--large summary { font-size: 1.15rem; }
.cx-kva__optional--large summary span { display: inline-grid; width: 30px; height: 30px; margin-right: 8px; place-items: center; border-radius: 50%; background: var(--cx-blue); color: #fff; font-size: .9rem; }
.cx-kva__legal { padding: 22px; border-radius: var(--cx-radius); background: var(--cx-light); }
.cx-kva .cx-kva__check { display: flex; align-items: flex-start; gap: 11px; margin: 0; color: var(--cx-text); font-weight: 400; line-height: 1.55; }
.cx-kva .cx-kva__check--usage { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--cx-border); }
.cx-kva__check input { flex: 0 0 20px; width: 20px; min-height: 20px; margin-top: 2px; }
.cx-kva__check span { color: inherit; }
.cx-kva__check strong { color: #b42318; }
.cx-kva__hint { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--cx-border); color: var(--cx-muted); font-size: .88rem; line-height: 1.6; }
.cx-kva__submit { min-height: 54px; padding: 14px 24px; border: 0; border-radius: 9px; background: var(--cx-blue); color: #fff; font: inherit; font-weight: 800; cursor: pointer; transition: transform .15s, background .15s; }
.cx-kva__submit:hover { background: #0e64aa; transform: translateY(-1px); }
.cx-kva__submit:disabled { cursor: wait; opacity: .65; transform: none; }
.cx-kva__required { margin: -8px 0 0; color: var(--cx-muted); font-size: .82rem; text-align: right; }
.cx-kva__notice { margin-bottom: 20px; padding: 14px 18px; border-radius: 9px; }
.cx-kva__notice--error { border: 1px solid #f0b4ae; background: #fff1f0; color: #8a1c13; }
.cx-kva__notice-action { display: inline-block; margin-top: 12px; padding: 10px 16px; border-radius: 10px; background: #9f2218; color: #fff !important; font-weight: 700; text-decoration: none; }
.cx-kva__notice-action:hover, .cx-kva__notice-action:focus { background: #7d180f; color: #fff !important; }
.cx-kva__notice--success { border: 1px solid #9bd2b4; background: #edf9f2; color: #12633b; }
.cx-kva--withdrawal .cx-kva__legal .cx-kva__hint { margin-bottom: 0; }
.cx-kva__result { max-width: 720px; margin: 24px auto; padding: 22px; border: 1px solid var(--cx-border); border-radius: 10px; background: var(--cx-light); text-align: left; }
.cx-kva__result h2 { margin: 20px 0 8px; color: var(--cx-navy); font-size: 1.15rem; }
.cx-kva__result h2:first-child { margin-top: 0; }
.cx-kva__result li { margin: 8px 0; line-height: 1.55; }
.cx-kva__result small { color: var(--cx-muted); }
.cx-kva__quality { display: inline-flex; align-items: center; gap: 10px; margin: 4px auto 2px; padding: 10px 14px; border: 1px solid #c9dfcf; border-radius: 12px; background: #effaf2; color: #17623b; text-align: left; }
.cx-kva__quality > span { font-size: 1.25rem; }
.cx-kva__damage-cards { display: grid; gap: 10px; margin-top: 12px; }
.cx-kva__damage-card { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 14px; border: 1px solid var(--cx-border); border-radius: 10px; background: #fff; }
.cx-kva__damage-card p { margin: 0 0 7px; font-size: .92rem; line-height: 1.5; }
.cx-kva__damage-card-title { color: var(--cx-navy); font-size: 1rem !important; font-weight: 800; }
.cx-kva__damage-card-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #e7f3ff; color: var(--cx-blue); font-size: 1.7rem; font-weight: 900; }
.cx-kva__severity { display: inline-block; margin-right: 8px; padding: 3px 8px; border-radius: 999px; background: #fff4dd; color: #8a5400; font-size: .76rem; font-weight: 800; }
.cx-kva__severity--gering, .cx-kva__severity--niedrig { background: #e8f7ef; color: #17623b; }
.cx-kva__severity--hoch, .cx-kva__severity--schwer { background: #fff0ef; color: #9e241c; }
.cx-kva__result-section { margin-top: 20px; padding: 4px 16px; border-left: 4px solid #a6bfd3; background: #fff; }
.cx-kva__result-section--steps { border-left-color: var(--cx-blue); }
.cx-kva__progress { display: grid; grid-template-columns: minmax(110px,1fr) 44px minmax(110px,1fr) 44px minmax(110px,1fr); align-items: start; max-width: 720px; margin: 30px auto 12px; }
.cx-kva__progress-step { display: grid; justify-items: center; gap: 8px; color: var(--cx-muted); font-size: .82rem; line-height: 1.3; }
.cx-kva__progress-step > span { display: grid; width: 38px; height: 38px; place-items: center; border: 2px solid var(--cx-border); border-radius: 50%; background: #fff; color: var(--cx-muted); font-weight: 900; }
.cx-kva__progress-step.is-complete, .cx-kva__progress-step.is-active { color: var(--cx-navy); }
.cx-kva__progress-step.is-complete > span { border-color: #2d9d60; background: #2d9d60; color: #fff; }
.cx-kva__progress-step.is-active > span { border-color: var(--cx-blue); color: var(--cx-blue); }
.cx-kva__progress-line { height: 3px; margin-top: 18px; background: var(--cx-border); }
.cx-kva__progress-line.is-active { background: linear-gradient(90deg, #2d9d60, var(--cx-blue)); }
.cx-kva__spinner { border-right-color: transparent !important; animation: cx-kva-spin .9s linear infinite; }
.cx-kva__processing-note { margin-top: 6px !important; color: var(--cx-muted); font-size: .9rem; }
@keyframes cx-kva-spin { to { transform: rotate(360deg); } }
.cx-kva__success { padding: clamp(28px, 6vw, 64px); border: 1px solid var(--cx-border); border-radius: var(--cx-radius); background: #fff; text-align: center; box-shadow: 0 8px 30px rgba(16,36,62,.08); }
.cx-kva__success-icon { display: grid; width: 70px; height: 70px; margin: 0 auto 18px; place-items: center; border-radius: 50%; background: #e8f7ef; color: #16804a; font-size: 2rem; font-weight: 900; }
.cx-kva__success p { max-width: 680px; margin-right: auto; margin-left: auto; line-height: 1.7; }
.cx-kva__result-warning { max-width: 720px; margin: 24px auto 0; padding: 18px; border: 1px solid #e0b85c; border-radius: 10px; background: #fff8e8; color: #5d4305; font-size: .9rem; line-height: 1.55; text-align: left; }
.cx-kva__result-section h2 { display: flex; align-items: center; gap: .55rem; }
.cx-kva__result-section h2 span { display: inline-grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #eef5ff; color: #1673c7; font-size: .95rem; font-weight: 800; flex: 0 0 auto; }
.cx-kva__result-section--repair { border-left-color: #7858c8; background: linear-gradient(135deg, #fbf9ff, #f3efff); }
.cx-kva__result-section--repair h2 span { background: #efe9ff; color: #6840c8; }
.cx-kva__result-section--cost { border-left-color: #d69a28; background: #fffbf1; }
.cx-kva__result-section--cost h2 span { background: #fff0cf; color: #9d6600; }
.cx-kva__result-copy { margin: .3rem 0 .7rem; color: #52647b; font-weight: 600; }
.cx-kva__cost-guidance { margin: .75rem 0 0; padding: .75rem; border-radius: .7rem; background: #fff; color: #674400; }
.cx-kva__result-warning p { margin: 0 0 10px; }
.cx-kva__result-warning p:last-child { margin-bottom: 0; }
.cx-kva__submit--link { display: inline-flex; align-items: center; margin-top: 16px; text-decoration: none; }
.cx-kva__trap { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

.cx-kva-home-cta {
  max-width: 1120px;
  margin: 56px auto;
  padding: clamp(28px, 5vw, 54px);
  border-radius: 24px;
  background: linear-gradient(135deg, #101a3e 0%, #243b76 100%);
  box-shadow: 0 18px 50px rgba(16, 26, 62, .2);
  color: #fff;
  text-align: center;
}

.cx-kva-home-cta h2 {
  margin: 8px auto 16px;
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.15;
}

.cx-kva-home-cta p {
  max-width: 780px;
  margin: 0 auto 14px;
  color: rgba(255, 255, 255, .92);
  font-size: 1.08rem;
}

.cx-kva-home-cta__eyebrow {
  color: #ffcb57 !important;
  font-size: .82rem !important;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cx-kva-home-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

.cx-kva-home-cta__primary,
.cx-kva-home-cta__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 22px;
  border: 2px solid #fff;
  border-radius: 10px;
  font-weight: 800;
  text-decoration: none !important;
}

.cx-kva-home-cta__primary {
  border-color: #ffcb57;
  background: #ffcb57;
  color: #101a3e !important;
}

.cx-kva-home-cta__secondary {
  background: transparent;
  color: #fff !important;
}

.cx-kva-home-cta__primary:hover,
.cx-kva-home-cta__primary:focus {
  border-color: #ffe29a;
  background: #ffe29a;
}

.cx-kva-home-cta__secondary:hover,
.cx-kva-home-cta__secondary:focus {
  background: #fff;
  color: #101a3e !important;
}

@media (max-width: 720px) {
  body.cx-kva-page #main { padding: 0 12px 40px !important; }
  .cx-kva, .cx-kva-shell { padding-top: 12px; }
  .cx-kva { margin: 0 auto 24px; }
  .cx-kva__topbar { align-items: center; gap: 10px; min-height: 62px; margin-bottom: 12px; padding: 10px 12px; }
  .cx-kva__brand { min-height: 42px; }
  .cx-kva__brand-name { font-size: .92rem; }
  .cx-kva__brand-subline { font-size: .61rem; }
  .cx-kva__quicknav { display: block; }
  .cx-kva__quicknav a:not(.cx-kva__quicknav-primary) { display: none; }
  .cx-kva__quicknav a { padding: 8px 10px; font-size: .83rem; text-align: center; }
  .cx-kva__header { margin-bottom: 16px; padding: 24px 20px; border-radius: 16px; }
  .cx-kva__header h1 { font-size: clamp(1.75rem, 9vw, 2.2rem); }
  .cx-kva__header > p:not(.cx-kva__eyebrow) { font-size: .95rem; line-height: 1.55; }
  .cx-kva__benefits { gap: 7px; margin-top: 18px; }
  .cx-kva__benefits li { padding: 7px 10px; font-size: .78rem; }
  .cx-kva__grid { grid-template-columns: 1fr; gap: 0; }
  .cx-kva fieldset { padding: 18px 16px; border-radius: 12px; }
  .cx-kva legend { font-size: 1.03rem; }
  .cx-kva label { margin: 11px 0; }
  .cx-kva__intro { margin-bottom: 6px; font-size: .88rem; }
  .cx-kva__field-note { margin-bottom: 0; }
  .cx-kva__optional { padding: 0 12px 12px; }
  .cx-kva__optional--large { padding: 0 16px 14px; }
  .cx-kva__optional summary { min-height: 48px; font-size: .91rem; }
  .cx-kva__optional--large summary { font-size: 1rem; }
  .cx-kva__legal { padding: 18px 16px; }
  .cx-kva__progress { grid-template-columns: 1fr; gap: 8px; max-width: 330px; text-align: left; }
  .cx-kva__progress-step { grid-template-columns: 38px 1fr; justify-items: start; align-items: center; text-align: left; }
  .cx-kva__progress-line { width: 3px; height: 18px; margin: -1px 0 -1px 18px; }
  .cx-kva__processing-note { font-size: .86rem; }
  .cx-kva__submit { width: 100%; }
  .cx-kva-home-cta { margin: 36px 16px; border-radius: 18px; }
  .cx-kva-home-cta__actions { flex-direction: column; }
  .cx-kva-home-cta__primary, .cx-kva-home-cta__secondary { width: 100%; }
  .cx-kva__result-section { padding: 16px; }
  .cx-kva__result-section h2 { font-size: 1.08rem; }
}
