:root{--sww-blue:#214898;--sww-blue-dark:#163578;--sww-blue-soft:#dcebfa;--sww-blue-panel:#d7e8f7;--sww-yellow:#ffdc00;--sww-text:#102343;--sww-muted:#5a6778;--sww-border:#cfdbe8;--sww-line:#e4ebf3;--sww-shadow:0 10px 28px rgba(16,35,67,.13);--sww-radius:10px}
.sww-tr,.sww-contract{font-family:Arial,Helvetica,sans-serif;color:var(--sww-text);font-size:16px;line-height:1.45}.sww-tr *,.sww-contract *{box-sizing:border-box}.sww-tr button,.sww-tr input,.sww-tr select,.sww-contract input,.sww-contract select,.sww-contract button{font:inherit}.sww-tr a,.sww-contract a{color:var(--sww-blue)}
.sww-tr-box{max-width:1180px;margin:0 auto 34px;background:var(--sww-blue-panel);box-shadow:var(--sww-shadow);border:1px solid var(--sww-border);overflow:hidden;border-radius:2px}.sww-tr-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-bottom:1px solid var(--sww-border)}.sww-tr-tab{min-height:76px;padding:20px 28px;border:0;border-right:1px solid #e6edf5;background:#fff;color:#000;font-weight:800;font-size:21px;text-align:left;cursor:pointer}.sww-tr-tab:last-child{border-right:0}.sww-tr-tab.is-active{background:#dbeaf8;color:var(--sww-blue);box-shadow:0 10px 22px rgba(0,0,0,.10)}.sww-tr-tab:hover{background:#edf6ff}.sww-tr-tab-icon{display:none}
.sww-tr-fields{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(260px,1.1fr) minmax(190px,.75fr);gap:28px;align-items:end;padding:26px 28px 14px}.sww-tr-box.sww-tr-is-double .sww-tr-fields{grid-template-columns:minmax(240px,1.15fr) minmax(260px,1.15fr) minmax(150px,.65fr) minmax(150px,.65fr)}.sww-tr-field{min-width:0}.sww-tr-field[hidden]{display:none!important}.sww-tr-field label{display:block;margin:0 0 8px;color:#1c345b;font-weight:700;font-size:14px}.sww-tr-field select,.sww-tr-field input{display:block;width:100%;height:56px;min-height:56px;border:1px solid #c8d4df;background:#fff;color:#11264a;border-radius:4px;padding:0 14px;font-size:18px;line-height:56px;box-shadow:none;appearance:auto;-webkit-appearance:auto}.sww-tr-field input[type=number]{padding-right:10px}.sww-tr-actions{padding:0 28px 28px}.sww-tr-submit{display:inline-flex;align-items:center;justify-content:flex-start;gap:0;min-height:64px;border:0;background:#8eb4da;color:#000;font-weight:800;font-size:18px;cursor:pointer;padding:0 74px 0 28px;box-shadow:0 8px 18px rgba(16,35,67,.16);border-radius:0;line-height:1.2;position:relative;min-width:290px}.sww-tr-submit strong{display:inline-flex;align-items:center;justify-content:center;position:absolute;right:-18px;top:50%;transform:translateY(-50%);width:58px;height:58px;background:var(--sww-yellow);color:var(--sww-blue);font-size:0;box-shadow:0 8px 16px rgba(16,35,67,.22)}.sww-tr-submit strong::before{content:"";width:11px;height:11px;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(45deg);display:block;margin-left:-4px}.sww-tr-submit:hover{background:#80abd6}.sww-tr-submit:hover strong{background:#f7d800}.sww-tr-field select:focus,.sww-tr-field input:focus,.sww-contract-form input:focus,.sww-contract-form select:focus,.sww-tr button:focus-visible,.sww-contract button:focus-visible,.sww-contract input[type=checkbox]:focus-visible{outline:3px solid var(--sww-yellow);outline-offset:2px}.sww-tr-message{max-width:1180px;margin:20px auto;padding:16px 20px;background:#fff8dd;border-left:5px solid var(--sww-yellow);color:#3b3215}
.sww-tr-results-wrap{max-width:1180px;margin:0 auto}.sww-tr-results-intro{margin:6px 0 24px}.sww-tr-results-intro h2{margin:0 0 6px;color:var(--sww-blue);font-size:30px;line-height:1.2}.sww-tr-results-intro p{margin:0;color:#33435d}.sww-tr-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:32px}.sww-tr-card{background:#fff;border:1px solid var(--sww-line);border-radius:10px;box-shadow:0 8px 22px rgba(16,35,67,.08);padding:28px;color:#001b45}.sww-tr-card-head{display:flex;gap:18px;align-items:flex-start;margin:0}.sww-tr-card-icon{display:inline-flex;width:58px;height:58px;flex:0 0 58px;align-items:center;justify-content:center;border-radius:50%;background:#edf5ff;color:var(--sww-blue);font-size:30px}.sww-tr-card h3{margin:0 0 4px;color:var(--sww-blue);font-size:28px;line-height:1.2;font-weight:800}.sww-tr-card-head p{margin:0;color:#4b5a72}.sww-tr-card-separator{height:1px;background:var(--sww-line);margin:22px 0}.sww-tr-pricebox{margin:0 0 20px}.sww-tr-pricebox>span{display:block;margin:0 0 6px;color:#4d5a70;font-weight:700}.sww-tr-price-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sww-tr-pricebox strong{font-size:26px;color:var(--sww-blue);font-weight:800;line-height:1.15}.sww-tr-pricebox em{display:block;margin-top:6px;font-style:normal;color:#5a6778}.sww-tr-info{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid var(--sww-blue);border-radius:50%;background:#fff;color:var(--sww-blue);font-size:14px;font-weight:800;line-height:1;cursor:pointer}.sww-tr-info:hover{background:var(--sww-blue);color:#fff}.sww-tr-contract{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;margin:18px 0 20px;border:0;border-radius:6px;background:var(--sww-yellow);color:var(--sww-blue);font-size:18px;font-weight:800;cursor:pointer;padding:0 22px;box-shadow:0 6px 12px rgba(16,35,67,.12)}.sww-tr-contract strong{font-size:30px;line-height:1}.sww-tr-contract:hover{filter:brightness(.98)}.sww-tr-bonus{display:flex;gap:16px;align-items:center;margin:0 0 20px;padding:16px 18px;background:#f4f8fd;border:1px solid #e5eef8;border-radius:8px;color:var(--sww-blue)}.sww-tr-bonus span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--sww-blue);color:#fff;flex:0 0 42px}.sww-tr-bonus strong{display:block;font-size:21px;line-height:1.2;font-weight:800}.sww-tr-bonus small{display:block;margin-top:2px;color:#5b6678;font-size:14px}.sww-tr-desc{font-size:15px;color:#001b45;line-height:1.45}.sww-tr-desc p{margin:0 0 10px}.sww-tr-desc ul{margin:12px 0 0;padding-left:21px;list-style:disc}.sww-tr-desc li{margin:5px 0}.sww-tr-additional{margin-top:14px;padding-top:14px;border-top:1px solid var(--sww-line);font-size:14px;color:#1b2c4a}.sww-tr-additional p{margin:0 0 8px}
.sww-tr-modal[hidden]{display:none}.sww-tr-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px}.sww-tr-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}.sww-tr-modal-panel{position:relative;z-index:1;width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;color:var(--sww-text);box-shadow:0 18px 48px rgba(0,0,0,.25);border-radius:4px;padding:24px 28px}.sww-tr-modal-panel h3{margin:0 0 18px;color:var(--sww-blue);font-size:26px;border-bottom:1px solid #ccd8e4;padding-right:44px;padding-bottom:14px}.sww-tr-modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:var(--sww-blue);font-size:40px;line-height:1;cursor:pointer}.sww-tr-calc{font-size:16px}.sww-tr-calc-row,.sww-tr-calc-total{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:10px 0}.sww-tr-calc h4{margin:12px 0 4px;color:var(--sww-text);font-size:17px}.sww-tr-calc p{margin:4px 0 16px;color:var(--sww-blue)}.sww-tr-calc p strong{float:right;color:var(--sww-blue)}.sww-tr-calc hr{border:0;border-top:1px solid #c8d3df;margin:18px 0}.sww-tr-calc-total{font-weight:800;color:var(--sww-blue);margin:18px 0 28px}.sww-tr-calc-note{font-size:14px;color:#555!important}
.sww-contract{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(250px,330px) 1fr;gap:34px;align-items:start}.sww-contract-summary{background:#fff;border:1px solid var(--sww-line);border-top:4px solid var(--sww-blue);border-radius:8px;box-shadow:0 8px 22px rgba(16,35,67,.08);padding:24px;position:sticky;top:20px}.sww-contract-summary-head{display:flex;gap:14px;align-items:flex-start;border-bottom:1px solid var(--sww-line);padding-bottom:18px;margin-bottom:18px}.sww-contract-summary-icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:50%;background:#edf5ff;color:var(--sww-blue);font-size:26px}.sww-contract-summary strong{display:block;color:#001b45;font-size:14px}.sww-contract-summary h3{margin:2px 0 0;color:var(--sww-blue);font-size:28px;line-height:1.15}.sww-contract-price{margin:0 0 16px;color:var(--sww-blue);font-size:25px;font-weight:800}.sww-contract-facts{list-style:none;margin:0 0 18px;padding:0;border-bottom:1px solid var(--sww-line);padding-bottom:14px}.sww-contract-facts li{display:flex;gap:10px;align-items:flex-start;margin:8px 0}.sww-contract-facts span{min-width:22px;color:var(--sww-blue);font-weight:800}.sww-contract-desc{font-size:14px;line-height:1.45}.sww-contract-desc p{margin:0 0 10px}.sww-contract-desc ul{margin:10px 0 0;padding-left:20px}.sww-contract-form{background:#fff;border:1px solid var(--sww-line);border-radius:8px;box-shadow:0 8px 22px rgba(16,35,67,.08);padding:26px}.sww-contract-form h2{text-align:center;color:var(--sww-blue);border-bottom:1px solid var(--sww-line);padding-bottom:12px;margin:0 0 26px;font-size:30px;letter-spacing:.04em}.sww-form-section{border-bottom:1px solid var(--sww-line);padding:0 0 24px;margin:0 0 24px}.sww-form-section:last-of-type{border-bottom:0}.sww-form-section h3{display:flex;align-items:center;gap:10px;color:var(--sww-blue);font-size:18px;margin:0 0 16px}.sww-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}.sww-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sww-form-field label{display:block;margin:0 0 7px;color:#1c345b;font-size:14px;font-weight:700}.sww-contract-form input:not([type=checkbox]):not([type=radio]),.sww-contract-form select{display:block;width:100%;height:52px;min-height:52px;border:1px solid #c8d4df;background:#fff;color:#11264a;border-radius:4px;padding:0 14px;font-size:16px;line-height:52px;box-shadow:none}.sww-contract-form select{appearance:auto;-webkit-appearance:auto}.sww-checkbox-list{display:grid;gap:12px;margin-top:18px}.sww-checkbox-list label{display:flex;align-items:flex-start;gap:12px;color:#102343}.sww-contract input[type=checkbox]{width:22px!important;height:22px!important;min-width:22px;min-height:22px;margin:0;accent-color:var(--sww-blue)}.sww-form-note{margin:0 0 14px}.sww-legal{font-size:13px;line-height:1.45;color:#22324f}.sww-legal p{margin:0 0 10px}.sww-checkbox-list-final{padding:16px 0}.sww-required{font-size:12px;color:#555;margin:10px 0 0}
@media(max-width:980px){.sww-tr-tabs{grid-template-columns:repeat(2,1fr)}.sww-tr-fields,.sww-tr-box.sww-tr-is-double .sww-tr-fields{grid-template-columns:1fr 1fr}.sww-contract{grid-template-columns:1fr}.sww-contract-summary{position:static}.sww-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sww-tr-results{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.sww-tr-tabs,.sww-tr-fields,.sww-tr-box.sww-tr-is-double .sww-tr-fields,.sww-tr-results,.sww-form-grid,.sww-form-grid-2{grid-template-columns:1fr}.sww-tr-tab{min-height:62px;font-size:18px}.sww-tr-fields{padding:22px 18px 10px;gap:16px}.sww-tr-actions{padding:0 18px 22px}.sww-tr-submit{width:calc(100% - 18px);justify-content:flex-start;min-height:60px;font-size:18px;padding:0 72px 0 22px;min-width:0}.sww-tr-results-wrap{padding:0 18px}.sww-tr-card{padding:22px}.sww-tr-card h3{font-size:24px}.sww-tr-pricebox strong{font-size:22px}.sww-tr-modal{padding:12px}.sww-tr-modal-panel{padding:22px 18px}.sww-tr-calc-row,.sww-tr-calc-total{display:block}.sww-tr-calc p strong{float:none;display:block;margin-top:4px}.sww-contract{padding:0 18px}.sww-contract-form{padding:20px}.sww-contract-form h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.sww-tr *,.sww-contract *{transition:none!important;scroll-behavior:auto!important}}

.sww-address-fields{margin-top:16px;padding:18px;background:#f7fbff;border:1px solid var(--sww-line);border-radius:6px}.sww-address-fields[hidden]{display:none!important}.sww-address-fields h4{margin:0 0 14px;color:var(--sww-blue);font-size:16px}.sww-admin-card{background:#fff;border:1px solid #ccd0d4;padding:16px}

/* Version 1.0.12: Designsteuerung per Backend/CSS-Variablen. */
.sww-tr,
.sww-contract {
  font-family: var(--sww-font-family, Arial, Helvetica, sans-serif);
  font-size: var(--sww-font-size-base, 16px);
  color: var(--sww-text, #102343);
}
.sww-tr-box {
  background: var(--sww-blue-panel, #d7e8f7);
  border-color: var(--sww-border, #cfdbe8);
  border-radius: var(--sww-radius, 10px);
  box-shadow: var(--sww-shadow, 0 10px 28px rgba(16,35,67,.13));
}
.sww-tr-tabs { background: var(--sww-tab-bg, #fff); border-color: var(--sww-border, #cfdbe8); }
.sww-tr-tab { background: var(--sww-tab-bg, #fff); color: var(--sww-text, #102343); font-size: var(--sww-font-size-tabs, 21px); }
.sww-tr-tab.is-active { background: var(--sww-tab-active-bg, #dbeaf8); color: var(--sww-blue, #214898); }
.sww-tr-field label,
.sww-form-field label { font-size: var(--sww-font-size-label, 14px); color: var(--sww-text, #102343); }
.sww-tr-field select,
.sww-tr-field input,
.sww-contract-form input:not([type=checkbox]):not([type=radio]),
.sww-contract-form select {
  background: var(--sww-input-bg, #fff);
  color: var(--sww-text, #102343);
  border-color: var(--sww-border, #cfdbe8);
  font-size: var(--sww-font-size-input, 18px);
}
.sww-tr-submit {
  background: var(--sww-button-bg, #80b6df);
  color: var(--sww-button-text, #000);
  font-size: var(--sww-font-size-button, 20px);
}
.sww-tr-submit strong {
  background: var(--sww-yellow, #ffdc00);
  color: var(--sww-blue, #214898);
}
.sww-tr-results-intro h2 { color: var(--sww-blue, #214898); font-size: var(--sww-font-size-heading, 30px); }
.sww-tr-results-intro p,
.sww-tr-card-head p,
.sww-tr-pricebox em,
.sww-tr-bonus small { color: var(--sww-muted, #5a6778); }
.sww-tr-card,
.sww-contract-summary,
.sww-contract-form {
  background: var(--sww-card-bg, #fff);
  border-color: var(--sww-line, #e4ebf3);
  border-radius: var(--sww-radius, 10px);
  box-shadow: var(--sww-shadow, 0 10px 28px rgba(16,35,67,.13));
}
.sww-tr-card h3,
.sww-contract-summary h3 { color: var(--sww-blue, #214898); font-size: var(--sww-font-size-card-title, 28px); }
.sww-tr-card-icon,
.sww-contract-summary-icon { background: var(--sww-blue-soft, #dcebfa); color: var(--sww-blue, #214898); }
.sww-tr-card-separator,
.sww-form-section,
.sww-contract-facts,
.sww-contract-summary-head,
.sww-contract-form h2 { border-color: var(--sww-line, #e4ebf3); }
.sww-tr-pricebox strong,
.sww-contract-price { color: var(--sww-blue, #214898); font-size: var(--sww-font-size-price, 26px); }
.sww-tr-info { border-color: var(--sww-blue, #214898); color: var(--sww-blue, #214898); }
.sww-tr-info:hover { background: var(--sww-blue, #214898); color: #fff; }
.sww-tr-contract {
  background: var(--sww-cta-bg, #ffdc00);
  color: var(--sww-cta-text, #214898);
  font-size: var(--sww-font-size-button, 18px);
}
.sww-tr-bonus,
.sww-address-fields { background: var(--sww-blue-soft, #dcebfa); border-color: var(--sww-line, #e4ebf3); color: var(--sww-blue, #214898); }
.sww-tr-bonus span { background: var(--sww-blue, #214898); }
.sww-tr-desc,
.sww-tr-additional,
.sww-contract-desc { font-size: var(--sww-font-size-body, 15px); color: var(--sww-text, #102343); }
.sww-contract-form h2 { color: var(--sww-blue, #214898); font-size: var(--sww-font-size-form-heading, 30px); }
.sww-form-section h3 { color: var(--sww-blue, #214898); font-size: var(--sww-font-size-form-section, 18px); }
.sww-tr-field select:focus,
.sww-tr-field input:focus,
.sww-contract-form input:focus,
.sww-contract-form select:focus,
.sww-tr button:focus-visible,
.sww-contract button:focus-visible,
.sww-contract input[type=checkbox]:focus-visible {
  outline-color: var(--sww-yellow, #ffdc00);
}

/* Version 1.0.13: Mobile Kategorieauswahl direkt vor der Eingabemaske */
.sww-tr-mobile-category {
  display: none;
}

@media (max-width: 700px) {
  .sww-tr-box {
    display: flex;
    flex-direction: column;
  }

  .sww-tr-mobile-category {
    display: block;
    order: 1;
    margin: 0 0 16px;
  }

  .sww-tr-mobile-category label {
    display: block;
    margin: 0 0 8px;
    font-size: var(--sww-font-size-label, 14px);
    font-weight: 700;
    color: var(--sww-blue-dark, #102b5c);
  }

  .sww-tr-mobile-category select {
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    border: 1px solid var(--sww-border, #d7dde8);
    border-radius: var(--sww-radius, 12px);
    background: var(--sww-input-bg, #fff);
    color: var(--sww-text, #122033);
    font: inherit;
    font-size: var(--sww-font-size-input, 16px);
  }

  .sww-tr-mobile-category select:focus-visible {
    outline: 3px solid var(--sww-yellow, #ffd200);
    outline-offset: 2px;
  }

  .sww-tr-tabs {
    display: none !important;
  }

  .sww-tr-fields {
    order: 2;
  }

  .sww-tr-actions {
    order: 3;
  }
}

.sww-tr-contract-form {
  display: block;
  margin: 18px 0 20px;
}
.sww-tr-contract-form .sww-tr-contract {
  margin: 0;
  font-family: inherit;
  text-decoration: none;
}

/* Success summary */
.sww-contract-success {
  font-family: var(--sww-font-family, inherit);
  color: var(--sww-color-text, #1f2937);
}
.sww-contract-success-card,
.sww-success-section {
  background: #fff;
  border: 1px solid var(--sww-color-border, #e6eaf2);
  border-radius: var(--sww-radius, 16px);
  box-shadow: var(--sww-shadow, 0 10px 30px rgba(31,41,55,.08));
}
.sww-contract-success-card {
  padding: 28px;
  margin-bottom: 24px;
  text-align: center;
}
.sww-success-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0 0 14px;
  border-radius: 999px;
  background: var(--sww-color-primary, #2b4998);
  color: #fff;
  font-size: 26px;
  font-weight: 700;
}
.sww-contract-success-card h2 {
  margin: 0 0 10px;
  color: var(--sww-color-primary, #2b4998);
  font-size: var(--sww-font-size-section-title, 26px);
  line-height: 1.25;
}
.sww-contract-success-card p {
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.65;
}
.sww-success-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
  gap: 24px;
}
.sww-success-section {
  padding: 24px;
}
.sww-success-section-highlight {
  border-top: 5px solid var(--sww-color-primary, #2b4998);
}
.sww-success-section h3 {
  margin: 0 0 18px;
  color: var(--sww-color-primary, #2b4998);
  font-size: var(--sww-font-size-card-title, 22px);
  line-height: 1.3;
}
.sww-success-rows {
  margin: 0;
}
.sww-success-rows > div {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr);
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--sww-color-border, #e6eaf2);
}
.sww-success-rows > div:last-child {
  border-bottom: 0;
}
.sww-success-rows dt {
  font-weight: 700;
  color: var(--sww-color-primary, #2b4998);
}
.sww-success-rows dd {
  margin: 0;
}
@media (max-width: 780px) {
  .sww-success-grid,
  .sww-success-rows > div {
    grid-template-columns: 1fr;
  }
  .sww-contract-success-card,
  .sww-success-section {
    padding: 20px;
  }
  .sww-success-rows > div {
    gap: 4px;
  }
}

/* Version 1.0.20: Mobile Kategorien als Akkordeon. */
.sww-tr-mobile-accordion {
  display: none;
}

.sww-tr-input-wrap {
  display: block;
}

@media (max-width: 700px) {
  .sww-tr-mobile-category {
    display: none !important;
  }

  .sww-tr-mobile-accordion {
    display: block;
    order: 1;
    background: var(--sww-tab-bg, #fff);
    border-bottom: 1px solid var(--sww-border, #cfdbe8);
  }

  .sww-tr-tabs {
    display: none !important;
  }

  .sww-tr-mobile-accordion-item {
    border-bottom: 1px solid var(--sww-border, #cfdbe8);
  }

  .sww-tr-mobile-accordion-item:last-child {
    border-bottom: 0;
  }

  .sww-tr-mobile-accordion-trigger {
    display: flex;
    width: 100%;
    min-height: 62px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 0;
    background: var(--sww-tab-bg, #fff);
    color: var(--sww-text, #102343);
    padding: 16px 18px;
    text-align: left;
    font-weight: 800;
    font-size: var(--sww-font-size-tabs, 18px);
    cursor: pointer;
  }

  .sww-tr-mobile-accordion-trigger > span:last-of-type {
    flex: 1 1 auto;
  }

  .sww-tr-mobile-accordion-trigger strong {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eef4fb;
    border: 1px solid #d9e4f1;
    color: var(--sww-blue, #214898);
    font-size: 0;
    line-height: 1;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
    box-shadow: 0 2px 8px rgba(16,35,67,.10);
    position: relative;
  }

  .sww-tr-mobile-accordion-trigger strong::before {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2.5px solid currentColor;
    border-bottom: 2.5px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    display: block;
    margin-top: -3px;
  }

  .sww-tr-mobile-accordion-item.is-active > .sww-tr-mobile-accordion-trigger {
    background: var(--sww-tab-active-bg, #dbeaf8);
    color: var(--sww-blue, #214898);
  }

  .sww-tr-mobile-accordion-item.is-active > .sww-tr-mobile-accordion-trigger strong {
    transform: rotate(180deg);
    background: var(--sww-yellow, #ffdc00);
    border-color: #efcb00;
    box-shadow: 0 4px 12px rgba(16,35,67,.16);
  }

  .sww-tr-mobile-accordion-panel {
    background: var(--sww-blue-panel, #d7e8f7);
    border-top: 1px solid var(--sww-border, #cfdbe8);
  }

  .sww-tr-mobile-accordion-panel[hidden] {
    display: none !important;
  }

  .sww-tr-input-wrap {
    order: 2;
    width: 100%;
  }

  .sww-tr-fields,
  .sww-tr-box.sww-tr-is-double .sww-tr-fields {
    display: grid;
    grid-template-columns: 1fr;
    padding: 22px 18px 10px;
    gap: 16px;
  }

  .sww-tr-actions {
    padding: 0 18px 22px;
  }
}


/* Version 1.0.23: Mobile Robustheit fuer Tarif-Ergebnisse und Formulare. */
.sww-tr,
.sww-contract,
.sww-tr * ,
.sww-contract * {
  max-width: 100%;
}

.sww-tr-results-wrap,
.sww-tr-results,
.sww-tr-card,
.sww-tr-card *,
.sww-contract,
.sww-contract * {
  min-width: 0;
}

.sww-tr-card,
.sww-tr-desc,
.sww-tr-additional,
.sww-contract-desc,
.sww-success-rows,
.sww-tr-modal-panel {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.sww-tr-desc a,
.sww-tr-additional a,
.sww-contract-desc a,
.sww-success-rows a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.sww-tr-desc img,
.sww-tr-additional img,
.sww-contract-desc img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 700px) {
  .sww-tr-box,
  .sww-tr-results-wrap,
  .sww-contract,
  .sww-contract-success {
    width: 100%;
    max-width: 100%;
  }

  .sww-tr-results-wrap {
    padding: 0 12px;
  }

  .sww-tr-results-intro {
    margin: 22px 0 18px;
  }

  .sww-tr-results-intro h2 {
    font-size: clamp(22px, 7vw, 28px);
  }

  .sww-tr-results,
  .sww-tr-results[class] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px;
  }

  .sww-tr-card {
    width: 100%;
    padding: 20px 16px;
    border-radius: 8px;
    overflow: hidden;
  }

  .sww-tr-card-head {
    gap: 12px;
    align-items: center;
  }

  .sww-tr-card-icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    font-size: 24px;
  }

  .sww-tr-card h3 {
    font-size: clamp(22px, 7vw, 27px);
    overflow-wrap: anywhere;
  }

  .sww-tr-card-head p,
  .sww-tr-pricebox em,
  .sww-tr-bonus small,
  .sww-tr-desc,
  .sww-tr-additional {
    font-size: 15px;
  }

  .sww-tr-price-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
  }

  .sww-tr-pricebox strong {
    font-size: clamp(23px, 8vw, 30px);
    line-height: 1.18;
    overflow-wrap: anywhere;
  }

  .sww-tr-info {
    flex: 0 0 auto;
  }

  .sww-tr-contract,
  .sww-tr-contract-form .sww-tr-contract {
    min-height: 52px;
    padding: 0 16px;
    font-size: 17px;
    white-space: normal;
  }

  .sww-tr-contract strong {
    font-size: 24px;
    margin-left: 10px;
  }

  .sww-tr-bonus {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .sww-tr-bonus span {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .sww-tr-bonus strong {
    font-size: clamp(18px, 6vw, 22px);
    overflow-wrap: anywhere;
  }

  .sww-tr-desc ul,
  .sww-tr-additional ul {
    padding-left: 18px;
  }

  .sww-tr-desc li,
  .sww-tr-additional li {
    padding-left: 2px;
  }

  .sww-tr-modal-panel {
    width: 100%;
    max-width: calc(100vw - 24px);
  }

  .sww-tr-modal-panel h3 {
    font-size: 22px;
  }

  .sww-contract {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 0 12px;
  }

  .sww-contract-summary,
  .sww-contract-form {
    width: 100%;
    padding: 18px 14px;
    overflow: hidden;
  }

  .sww-contract-summary h3 {
    font-size: clamp(22px, 7vw, 28px);
  }

  .sww-contract-price {
    font-size: clamp(22px, 7vw, 28px);
  }

  .sww-form-grid,
  .sww-form-grid-2 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .sww-contract-form h2 {
    font-size: clamp(24px, 8vw, 30px);
    word-break: break-word;
  }

  .sww-contract-form input:not([type=checkbox]):not([type=radio]),
  .sww-contract-form select,
  .sww-tr-field select,
  .sww-tr-field input {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  .sww-tr-mobile-accordion-trigger {
    padding: 14px 14px;
  }

  .sww-tr-fields,
  .sww-tr-box.sww-tr-is-double .sww-tr-fields {
    padding: 18px 14px 10px;
  }

  .sww-tr-actions {
    padding: 0 14px 20px;
  }

  .sww-tr-submit {
    width: calc(100% - 18px);
    min-width: 0;
  }

  .sww-tr-card {
    padding: 18px 14px;
  }

  .sww-tr-price-line {
    grid-template-columns: minmax(0, 1fr) 28px;
  }
}


/* Version 1.0.38: Wechselbonus in Tarifkarten sauber gruppieren. */
.sww-tr-bonus {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  column-gap: 14px;
  row-gap: 0;
}

.sww-tr-bonus > span {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}

.sww-tr-bonus-copy {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.sww-tr-bonus-copy strong {
  display: block;
  margin: 0;
  line-height: 1.2;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none;
}

.sww-tr-bonus-copy small {
  display: block;
  margin-top: 4px;
  line-height: 1.4;
  overflow-wrap: break-word;
  word-break: normal;
}

@media (max-width: 680px) {
  .sww-tr-bonus {
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    padding: 14px;
    gap: 12px;
  }

  .sww-tr-bonus > span {
    width: 42px;
    height: 42px;
  }

  .sww-tr-bonus-copy strong {
    font-size: clamp(17px, 5.6vw, 21px);
  }

  .sww-tr-bonus-copy small {
    font-size: 14px;
  }
}

@media (max-width: 390px) {
  .sww-tr-bonus {
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 12px;
    gap: 10px;
  }

  .sww-tr-bonus > span {
    width: 38px;
    height: 38px;
  }

  .sww-tr-bonus-copy strong {
    font-size: 17px;
  }
}


/* Version 1.0.39: Abschlussbutton und SEPA-Pflichtfeld */
.sww-contract-submit {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  min-height: 64px;
  max-width: calc(100% - 24px);
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #000;
  font: inherit;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  cursor: pointer;
  padding: 0 88px 0 28px;
  margin: 8px 24px 0 0;
  box-shadow: 0 8px 20px rgba(16,35,67,.12);
  text-align: left;
}
.sww-contract-submit span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.sww-contract-submit strong {
  position: absolute;
  top: 50%;
  right: -24px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: var(--sww-yellow, #ffdc00);
  color: var(--sww-blue, #214898);
  font-size: 0;
  line-height: 1;
  box-shadow: 0 8px 16px rgba(16,35,67,.22);
}
.sww-contract-submit strong::before {
  content: "";
  width: 11px;
  height: 11px;
  border-top: 3px solid currentColor;
  border-right: 3px solid currentColor;
  transform: rotate(45deg);
  margin-left: -4px;
}
.sww-contract-submit:hover {
  background: #f7f9fc;
}
.sww-contract-submit:hover strong {
  background: #f7d800;
}
.sww-contract-submit:focus-visible {
  outline: 3px solid var(--sww-yellow, #ffdc00);
  outline-offset: 3px;
}
.sww-required-checkbox .sww-required-mark {
  color: #b32d2e;
  font-weight: 800;
}
.sww-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;
}
@media (max-width: 680px) {
  .sww-contract-submit {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
    min-height: 58px;
    padding: 0 74px 0 18px;
    margin-right: 20px;
    font-size: 16px;
  }
  .sww-contract-submit strong {
    right: -20px;
    width: 58px;
    height: 58px;
  }
}


/* Version 1.0.44: Abschlussbutton und Auswahl der Zahlungsart */
.sww-contract-submit {
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  align-items: stretch;
  min-height: 56px;
  width: max-content;
  max-width: 100%;
  padding: 0;
  margin: 8px 0 0;
}
.sww-contract-submit span {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 0 24px;
  white-space: nowrap;
  overflow-wrap: normal;
}
.sww-contract-submit strong {
  position: static;
  top: auto;
  right: auto;
  transform: none;
  width: 56px;
  height: 56px;
}
.sww-payment-method {
  margin: 0;
  padding: 0;
  border: 0;
}
.sww-payment-method legend {
  margin: 0 0 10px;
  padding: 0;
  color: var(--sww-text, #102343);
  font-size: var(--sww-font-size-label, 14px);
  font-weight: 700;
}
.sww-payment-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.sww-payment-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 78px;
  padding: 16px;
  border: 1px solid var(--sww-line, #e4ebf3);
  border-radius: 8px;
  background: #fff;
  color: var(--sww-text, #102343);
  cursor: pointer;
}
.sww-payment-option:has(input:checked) {
  border-color: var(--sww-blue, #214898);
  box-shadow: 0 0 0 1px var(--sww-blue, #214898);
  background: var(--sww-blue-soft, #eef5fc);
}
.sww-payment-option input[type=radio] {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px;
  min-height: 22px;
  margin: 1px 0 0;
  accent-color: var(--sww-blue, #214898);
}
.sww-payment-option span {
  display: block;
  min-width: 0;
}
.sww-payment-option strong {
  display: block;
  margin-bottom: 3px;
  color: var(--sww-blue, #214898);
  font-size: 16px;
}
.sww-payment-option small {
  display: block;
  color: #4b5a72;
  font-size: 13px;
  line-height: 1.4;
}
.sww-sepa-fields {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid var(--sww-line, #e4ebf3);
  border-radius: 8px;
  background: #f8fafc;
}
.sww-sepa-fields[hidden] {
  display: none !important;
}
.sww-sepa-fields h4 {
  margin: 0 0 12px;
  color: var(--sww-blue, #214898);
  font-size: 17px;
}
.sww-contract input[type=radio]:focus-visible {
  outline: 3px solid var(--sww-yellow, #ffdc00);
  outline-offset: 2px;
}
@media (max-width: 680px) {
  .sww-contract-submit {
    grid-template-columns: minmax(0, 1fr) 54px;
    width: 100%;
    max-width: 100%;
    min-height: 54px;
    margin-right: 0;
  }
  .sww-contract-submit span {
    padding: 8px 16px;
    white-space: normal;
  }
  .sww-contract-submit strong {
    width: 54px;
    height: 54px;
  }
  .sww-payment-options {
    grid-template-columns: 1fr;
  }
  .sww-sepa-fields {
    padding: 16px;
  }
}
.sww-payment-method .sww-required-mark {
  color: #b32d2e;
  font-weight: 800;
}
