.vsr{--vsr-text:#171717;--vsr-muted:#6b7280;--vsr-box-bg:#f7f7f8;--vsr-field-bg:#fff;--vsr-border:#e5e7eb;--vsr-primary:#171717;--vsr-primary-text:#fff;--vsr-secondary:#eee;--vsr-secondary-text:#171717;--vsr-checkbox:#171717;--vsr-option-selected:#f3f4f6;--vsr-progress-bg:#ececec;--vsr-progress:#171717;--vsr-cta-bg:#fff;--vsr-cta-border:#171717;--vsr-focus:#171717;max-width:980px;margin:32px auto;font-family:inherit;color:var(--vsr-text)}
.vsr *{box-sizing:border-box}.vsr-progress{height:7px;background:var(--vsr-progress-bg);border-radius:99px;overflow:hidden;margin-bottom:28px}.vsr-progress span{display:block;height:100%;background:var(--vsr-progress);transition:.25s}.vsr-step{display:none}.vsr-step.is-active{display:block}.vsr h2{font-size:clamp(28px,4vw,44px);line-height:1.08;margin:.2em 0 .8em;color:var(--vsr-text)}.vsr h3{margin:26px 0 14px;color:var(--vsr-text)}.vsr-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--vsr-muted)}.vsr-muted,.vsr-hint{color:var(--vsr-muted)}.vsr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vsr label{display:flex;flex-direction:column;gap:7px;font-weight:650;color:var(--vsr-text)}.vsr input,.vsr select{width:100%;padding:13px 14px;border:1px solid var(--vsr-border);border-radius:10px;background:var(--vsr-field-bg);color:var(--vsr-text);font:inherit}.vsr-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vsr-options label{border:1px solid var(--vsr-border);border-radius:14px;padding:16px;display:flex;flex-direction:row;align-items:flex-start;gap:12px;cursor:pointer;background:var(--vsr-field-bg)}.vsr-options label:has(input:checked){border-color:var(--vsr-checkbox);background:var(--vsr-option-selected)}.vsr-options input{width:auto;margin-top:4px;accent-color:var(--vsr-checkbox)}.vsr-options small{display:block;color:var(--vsr-muted);font-weight:400;margin-top:4px}.vsr-detail{display:none;padding:18px;border:1px solid var(--vsr-border);border-radius:14px;margin:0 0 14px;background:var(--vsr-field-bg)}.vsr-detail.is-visible{display:block}.vsr-note,.vsr-card{background:var(--vsr-box-bg);border-radius:14px;padding:16px;margin-top:18px}.vsr-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.vsr button,.vsr-buy{border:0;border-radius:10px;padding:13px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.vsr-primary,.vsr-buy{background:var(--vsr-primary);color:var(--vsr-primary-text)}.vsr-secondary,.vsr-copy{background:var(--vsr-secondary);color:var(--vsr-secondary-text)}.vsr-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vsr-card strong{font-size:22px;display:block;margin-top:5px}.vsr-card small{color:var(--vsr-muted)}.vsr-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vsr-package{border:1px solid var(--vsr-border);border-radius:14px;padding:18px;background:var(--vsr-field-bg)}.vsr-package h4{font-size:20px;margin:0 0 6px;color:var(--vsr-text)}.vsr-price{font-size:26px;font-weight:800;margin:8px 0}.vsr-package ul{padding-left:18px}.vsr-copy{width:100%;margin-top:10px}.vsr-cta{margin-top:28px;padding:22px;border:2px solid var(--vsr-cta-border);border-radius:16px;background:var(--vsr-cta-bg)}.vsr-buy.is-disabled{opacity:.55;pointer-events:none}.vsr hr{border:0;border-top:1px solid var(--vsr-border);margin:24px 0}.vsr-field-help{display:block;color:var(--vsr-muted);font-size:12px;font-weight:400;line-height:1.35;margin-top:-1px}.vsr-nav .vsr-secondary.is-hidden{display:none}.vsr input:focus,.vsr select:focus{outline:2px solid var(--vsr-focus);outline-offset:2px}.vsr button:focus-visible,.vsr-buy:focus-visible{outline:2px solid var(--vsr-focus);outline-offset:3px}
@media(max-width:700px){.vsr-grid,.vsr-options,.vsr-summary,.vsr-packages{grid-template-columns:1fr}.vsr{margin:20px 0}.vsr-nav{position:sticky;bottom:8px;background:color-mix(in srgb,var(--vsr-field-bg) 94%,transparent);padding:8px;border-radius:12px;z-index:10}.vsr input,.vsr select{font-size:16px}.vsr button{min-height:48px}}
/* Ergebnisdarstellung */
.vsr-card-title{display:block;font-weight:700;margin-bottom:4px}.vsr-card strong em{font-size:13px;font-style:normal;font-weight:500;color:var(--vsr-muted)}.vsr-badges{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 8px}.vsr-badges span{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--vsr-field-bg);border:1px solid var(--vsr-border);font-size:11px;font-weight:650;color:var(--vsr-muted)}.vsr-extra{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--vsr-field-bg);border:1px solid var(--vsr-border);font-size:13px;line-height:1.4}.vsr-package-season{display:block;color:var(--vsr-muted);margin-top:-6px}.vsr-package-meta{margin-top:14px;padding-top:12px;border-top:1px solid var(--vsr-border);font-size:12px;color:var(--vsr-muted);line-height:1.5}.vsr-package-note{grid-column:1/-1;color:var(--vsr-muted);font-size:13px;margin:4px 0 0}.vsr-cta strong{display:block;font-size:18px}.vsr-cta p{margin:8px 0 16px}.vsr-summary .vsr-card{margin-top:0}

/* Eigene Werbeleistungen */
.vsr-custom-row{padding:16px;border:1px solid var(--vsr-border);border-radius:12px;background:var(--vsr-box-bg);margin:0 0 14px}.vsr-custom-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.vsr-remove-custom{background:transparent!important;color:var(--vsr-muted)!important;border:0!important;padding:4px 6px!important;font-size:12px!important;font-weight:600!important}.vsr-remove-custom:hover{color:var(--vsr-text)!important}.vsr-custom-full{grid-column:1/-1}.vsr-add-custom{margin-top:2px}.vsr-result-actions{display:flex;justify-content:flex-end;margin:0 0 14px}.vsr-print-header{display:none}
@media(max-width:700px){.vsr-result-actions{justify-content:stretch}.vsr-result-actions button{width:100%}.vsr-custom-row-head{align-items:flex-start}}

/* Druckansicht */

.vsr .vsr-intro{margin:0 0 22px;padding:0;color:var(--vsr-text)!important}
.vsr .vsr-intro h2{margin:0 0 8px!important;color:var(--vsr-text)!important}
.vsr .vsr-intro p{margin:0!important;color:var(--vsr-muted)!important;font-size:var(--vsr-fs-body)!important;line-height:1.55!important}
.vsr .vsr-top-notice{margin:0 0 20px;padding:14px 16px;border:1px solid var(--vsr-border);border-radius:10px;background:var(--vsr-box-bg);color:var(--vsr-text)!important;font-size:var(--vsr-fs-body)!important;line-height:1.5!important}
.vsr .vsr-step-intro{margin-top:-4px!important;margin-bottom:18px!important;max-width:760px}
@media print{
  body.vsr-printing *{visibility:hidden!important}
  body.vsr-printing .vsr,body.vsr-printing .vsr *{visibility:visible!important}
  body.vsr-printing .vsr{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;color:#111!important;background:#fff!important}
  body.vsr-printing .vsr-progress,body.vsr-printing .vsr-nav,body.vsr-printing .vsr-result-actions,body.vsr-printing .vsr-cta,body.vsr-printing .vsr-copy{display:none!important}
  body.vsr-printing .vsr-step{display:none!important}
  body.vsr-printing .vsr-step[data-step="6"]{display:block!important}
  body.vsr-printing .vsr-print-header{display:flex!important;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #bbb;padding-bottom:10px;margin-bottom:18px;font-size:12px;color:#444}
  body.vsr-printing .vsr-print-header strong{font-size:18px;color:#111}
  body.vsr-printing .vsr-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.vsr-printing .vsr-packages{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  body.vsr-printing .vsr-card,body.vsr-printing .vsr-package{break-inside:avoid;page-break-inside:avoid;background:#fff!important;border:1px solid #bbb!important;box-shadow:none!important}
  body.vsr-printing .vsr-badges span,body.vsr-printing .vsr-extra{background:#fff!important;border-color:#ccc!important;color:#444!important}
  body.vsr-printing .vsr-muted,body.vsr-printing .vsr-card small,body.vsr-printing .vsr-package-meta,body.vsr-printing .vsr-package-season{color:#444!important}
  body.vsr-printing h2{font-size:28px!important;margin-bottom:8px!important}
  body.vsr-printing h3{font-size:18px!important;margin:18px 0 10px!important}
  @page{margin:14mm}
}


/* Theme-Härtung (u. a. Salient) */
.vsr{isolation:isolate;line-height:1.5}
.vsr [hidden]{display:none!important}
.vsr h2,.vsr h3,.vsr h4,.vsr p,.vsr ul,.vsr li,.vsr label,.vsr small{font-family:inherit;text-transform:none;letter-spacing:normal}
.vsr h2,.vsr h3,.vsr h4{font-weight:700}
.vsr button,.vsr .vsr-buy,.vsr input,.vsr select{-webkit-font-smoothing:antialiased;box-shadow:none!important;text-shadow:none!important}
.vsr button,.vsr .vsr-buy{-webkit-appearance:none!important;appearance:none!important;background-image:none!important;text-transform:none!important;letter-spacing:normal!important;line-height:1.25!important;height:auto!important;min-width:0!important;margin:0!important;transform:none!important;box-shadow:none!important}
.vsr .vsr-primary,.vsr .vsr-buy{background:var(--vsr-primary)!important;color:var(--vsr-primary-text)!important;border:0!important}
.vsr .vsr-secondary,.vsr .vsr-copy{background:var(--vsr-secondary)!important;color:var(--vsr-secondary-text)!important;border:0!important}
.vsr .vsr-primary:hover,.vsr .vsr-buy:hover,.vsr .vsr-secondary:hover,.vsr .vsr-copy:hover{filter:brightness(.94);transform:none!important}
.vsr input:not([type="checkbox"]),.vsr select{background-color:var(--vsr-field-bg)!important;color:var(--vsr-text)!important;border:1px solid var(--vsr-border)!important;box-shadow:none!important;height:auto!important;min-height:48px!important;margin:0!important;line-height:1.35!important}
.vsr input[type="checkbox"]{-webkit-appearance:auto;appearance:auto;width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px;margin:3px 0 0!important;box-shadow:none!important}
.vsr a.vsr-buy{text-decoration:none!important}
.vsr a.vsr-buy:hover{text-decoration:none!important}
.vsr ul{margin-top:10px;margin-bottom:10px}
.vsr-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.vsr-privacy{margin:16px 0 0;color:var(--vsr-muted);font-size:12px;line-height:1.45}

/* Ergebnisübersicht */
.vsr-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
.vsr-overview-card{border:1px solid var(--vsr-border);border-radius:14px;padding:15px;background:var(--vsr-field-bg);min-width:0}
.vsr-overview-card span{display:block;color:var(--vsr-muted);font-size:12px;font-weight:650;line-height:1.3;margin-bottom:7px}
.vsr-overview-card strong{display:block;color:var(--vsr-text);font-size:20px;line-height:1.15;overflow-wrap:anywhere}
.vsr-overview-card small{display:block;color:var(--vsr-muted);font-size:11px;margin-top:5px}
.vsr-overview-main{grid-column:span 2;background:var(--vsr-box-bg)}
.vsr-overview-main strong{font-size:24px}
@media(max-width:760px){.vsr-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.vsr-overview-main{grid-column:span 2}}
@media(max-width:480px){.vsr-overview{grid-template-columns:1fr}.vsr-overview-main{grid-column:span 1}}

@media print{
  body.vsr-printing .vsr-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-bottom:12px!important}
  body.vsr-printing .vsr-overview-card{background:#fff!important;border:1px solid #bbb!important;padding:9px!important;break-inside:avoid}
  body.vsr-printing .vsr-overview-main{grid-column:span 2!important}
  body.vsr-printing .vsr-privacy{display:none!important}
}

/* Theme-Debug/Farb-Härtung: Salient setzt teils eigene Accent-Farben auf span/b/strong in Formularen. */
.vsr .vsr-grid > label{color:var(--vsr-text)!important}
.vsr .vsr-grid > label > span{color:var(--vsr-text)!important}
.vsr .vsr-options label{color:var(--vsr-text)!important}
.vsr .vsr-options label > .vsr-option-copy{color:var(--vsr-text)!important}
.vsr .vsr-options label > .vsr-option-copy > b{color:var(--vsr-text)!important}
.vsr .vsr-options label > .vsr-option-copy > small{color:var(--vsr-muted)!important}
.vsr .vsr-field-help{color:var(--vsr-muted)!important}
.vsr .vsr-card-title,.vsr .vsr-custom-row-head strong,.vsr .vsr-cta strong{color:var(--vsr-text)!important}

/* Typografie-Schema v0.2: Schriftfamilie vom Theme, Größen kontrolliert durch das Plugin. */
.vsr{
  --vsr-fs-body:16px;
  --vsr-fs-label:15px;
  --vsr-fs-field:16px;
  --vsr-fs-help:12px;
  --vsr-fs-option-title:16px;
  --vsr-fs-option-help:13px;
  --vsr-fs-button:15px;
  font-size:var(--vsr-fs-body)!important;
}
.vsr p,.vsr li,.vsr .vsr-note{
  font-size:var(--vsr-fs-body)!important;
  line-height:1.55!important;
}
.vsr h2{
  font-size:clamp(30px,4vw,40px)!important;
  line-height:1.1!important;
  font-weight:700!important;
}
.vsr h3{
  font-size:22px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.vsr h4{
  font-size:18px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.vsr .vsr-kicker{
  font-size:12px!important;
  line-height:1.35!important;
}
.vsr .vsr-grid > label,
.vsr .vsr-detail .vsr-grid > label{
  font-size:var(--vsr-fs-label)!important;
  line-height:1.35!important;
  font-weight:650!important;
}
.vsr input:not([type="checkbox"]),
.vsr select,
.vsr textarea{
  font-family:inherit!important;
  font-size:var(--vsr-fs-field)!important;
  line-height:1.35!important;
  font-weight:500!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.vsr input[type="number"]{
  font-size:var(--vsr-fs-field)!important;
  font-weight:500!important;
  font-variant-numeric:tabular-nums;
}
.vsr input::placeholder,
.vsr textarea::placeholder{
  font-size:var(--vsr-fs-field)!important;
  font-weight:400!important;
  opacity:.62;
}
.vsr .vsr-field-help{
  font-size:var(--vsr-fs-help)!important;
  line-height:1.4!important;
  font-weight:400!important;
}
.vsr .vsr-options label{
  font-size:var(--vsr-fs-option-title)!important;
  line-height:1.35!important;
}
.vsr .vsr-options .vsr-option-copy > b{
  display:block;
  font-size:var(--vsr-fs-option-title)!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.vsr .vsr-options .vsr-option-copy > small{
  font-size:var(--vsr-fs-option-help)!important;
  line-height:1.4!important;
  font-weight:400!important;
}
.vsr button,
.vsr .vsr-buy{
  font-family:inherit!important;
  font-size:var(--vsr-fs-button)!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.vsr .vsr-card-title{
  font-size:var(--vsr-fs-label)!important;
  line-height:1.35!important;
}
.vsr .vsr-card > strong{
  font-size:22px!important;
  line-height:1.2!important;
}
.vsr .vsr-badges span,
.vsr .vsr-package-meta,
.vsr .vsr-package-season,
.vsr .vsr-package-note,
.vsr .vsr-privacy{
  line-height:1.45!important;
}
@media(max-width:700px){
  .vsr input:not([type="checkbox"]),.vsr select,.vsr textarea{font-size:16px!important}
  .vsr h2{font-size:30px!important}
  .vsr h3{font-size:20px!important}
}
/* Feinabstufung für kleine Zusatztexte innerhalb der Typografie-Skala. */
.vsr .vsr-muted{font-size:14px!important;line-height:1.5!important}
.vsr .vsr-card small{font-size:13px!important;line-height:1.45!important}
.vsr .vsr-package-meta{font-size:12px!important}
.vsr .vsr-package-season{font-size:13px!important}
.vsr .vsr-package-note{font-size:13px!important}
.vsr .vsr-privacy{font-size:12px!important}
.vsr .vsr-badges span{font-size:11px!important;line-height:1.3!important}

.vsr .vsr-package-description{margin:0 0 12px!important;color:var(--vsr-muted)!important;font-size:13px!important;line-height:1.45!important}
