:root{
  --primary:#e96023;
  --secondary:#0f1729;
  --tertiary:#6ee7b7;
  --neutral:#ffffff;
  --surface:#f8fafc;
  --on-surface:#0f1729;
  --muted:#5f6b84;
  --border:#0f172926;
  --border-subtle:#0f17290d;
  --success-surface:#ecfdf5;
  --warning:#f59e0b;
  --error:#dc2626;
  --r-sm:6px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-full:9999px;
  --sp-xs:6px; --sp-sm:14px; --sp-md:24px; --sp-lg:56px; --sp-xl:106px;
}
@media (max-width:640px){
  :root{ --sp-lg:32px; --sp-xl:48px; }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--on-surface);
  background:var(--neutral);
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 24px}

/* Typography */
h1,h2,h3,h4{margin:0 0 var(--sp-sm);font-weight:700;letter-spacing:-0.5px}
.headline-display{font-size:48px;line-height:58px;letter-spacing:-0.9px;font-weight:700}
.headline-lg{font-size:36px;line-height:48px;letter-spacing:-1.2px;font-weight:700}
.headline-md{font-size:28px;line-height:34px;font-weight:700}
.headline-sm{font-size:21px;line-height:25px;font-weight:600}
.body-lg{font-size:18px;line-height:28px}
.body-md{font-size:16px;line-height:24px}
.body-sm{font-size:14px;line-height:20px;color:var(--muted)}
.label-md{font-size:14px;font-weight:500}
.eyebrow{
  font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--primary);display:inline-block;margin-bottom:var(--sp-xs);
}
.muted{color:var(--muted)}
p{margin:0 0 var(--sp-sm)}

/* Header / Nav */
header.site-header{
  border-bottom:1px solid var(--border-subtle);
  position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);
  z-index:50;
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;max-width:1120px;margin:0 auto}
.logo{font-weight:700;font-size:20px;letter-spacing:-.5px;display:flex;align-items:center;flex:0 0 auto}
.logo span{color:var(--primary)}
/* Bildlogo im Header. Die Datei ist doppelt so gross wie die Anzeige,
   damit sie auf hochauflösenden Displays scharf bleibt. */
.logo img{display:block;height:24px;width:auto}
@media (max-width:520px){.logo img{height:20px}}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:15px;font-weight:500;color:var(--secondary)}
.nav-links a:hover{color:var(--primary)}
.nav-cta{display:flex;gap:12px;align-items:center}
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--r-md);background:#fff;cursor:pointer;padding:0}
.nav-burger span{display:block;width:18px;height:2px;background:var(--on-surface);margin:0 auto}
.nav-mobile{
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 24px;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease, padding 0.3s ease;
  border-top: 1px solid transparent;
}
.nav-mobile a{padding:12px 4px;font-size:15px;font-weight:500;color:var(--secondary);border-bottom:1px solid var(--border-subtle)}
.nav-mobile.open{
  max-height: 320px;
  opacity: 1;
  padding: 12px 24px 20px;
  border-top: 1px solid var(--border-subtle);
}
@media (max-width:820px){
  .nav-links, .nav-cta{display:none}
  .nav-burger{display:flex}
}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:14px;font-weight:500;border-radius:var(--r-full);
  padding:12px 20px;height:40px;border:1px solid transparent;cursor:pointer;
  transition:opacity .15s ease, transform .1s ease;
}
.btn:hover{opacity:.92}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--primary);color:#fff}
.btn-secondary{background:#fff;color:var(--on-surface);border-color:var(--border)}
.btn-tertiary{background:transparent;color:var(--on-surface)}
.btn-outline{background:transparent;color:var(--on-surface);border-color:var(--border);border-radius:var(--r-md)}
.btn-lg{height:56px;padding:16px 28px;font-size:16px}
.btn-block{width:100%}

/* Hero */
.hero{padding:var(--sp-xl) 0 var(--sp-lg)}
.hero-inner{max-width:760px;margin:0 auto;text-align:center;padding:0 24px}
.hero h1{margin-bottom:var(--sp-md)}
.hero .lead{font-size:19px;color:var(--muted);margin-bottom:var(--sp-md)}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:var(--sp-md)}
.hero-links{margin:18px 0 0;font-size:14px}
.hero-links a{color:var(--muted);font-weight:500}
.hero-links a:hover{color:var(--primary)}
.hero-links span{color:var(--border);margin:0 6px}

/* Suchkarte im Hero: hebt das Suchfeld als zentrales Element hervor. */
.hero-search-card{
  max-width:620px;margin:0 auto;
  background:linear-gradient(180deg,#ffffff 0%, #fff6f0 100%);
  border:1px solid rgba(233,96,35,.38);
  border-radius:22px;padding:20px 22px 18px;
  box-shadow:0 12px 34px rgba(233,96,35,.10), 0 2px 8px rgba(15,23,41,.04);
}
.hero-card-trust{
  display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;
  margin:0 0 14px;font-size:14px;font-weight:600;color:var(--secondary);
}
.hero-card-trust span{display:flex;align-items:center;gap:7px}
.hero-card-trust svg{color:var(--primary);flex:0 0 auto}
.hero-card-note{margin:13px 0 0;font-size:13px;color:var(--muted)}
.hero-card-secure{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:7px 0 0;font-size:12px;color:var(--muted);
}

/* Merkmale unter der Karte als Chips. */
.hero-chips{
  list-style:none;margin:22px 0 0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
}
.hero-chips li{
  display:flex;align-items:center;gap:9px;
  background:#fff;border:1px solid var(--border);border-radius:var(--r-full);
  padding:9px 17px;font-size:13.5px;font-weight:500;color:var(--on-surface);
}
.hero-chips svg{color:var(--primary);flex:0 0 auto}

@media (max-width:640px){
  /* Mehr Luft oben und unten, damit der Einstieg nicht gedraengt wirkt. */
  .hero{padding:46px 0 44px}
  .hero-inner{padding:0 20px}
  .headline-display{font-size:26px;line-height:33px;letter-spacing:-0.3px}
  .headline-lg{font-size:24px;line-height:30px;letter-spacing:-0.4px}
  .headline-md{font-size:20px;line-height:26px}
  .hero .eyebrow{margin-bottom:12px}
  .hero h1{margin-bottom:16px}
  .hero .lead{font-size:15px;line-height:23px;margin-bottom:26px}

  /* Suchfeld: kuerzerer Text und kompaktere Innenabstaende, damit alles
     einzeilig bleibt. Zwei Klassen tief, damit diese Regeln unabhaengig von
     der Reihenfolge in der Datei gegen die Basisregel gewinnen. */
  .w5s-fake-search .w5s-lbl-lang{display:none}
  .w5s-fake-search .w5s-lbl-kurz{display:inline}
  .w5s-fake-search{padding:5px 5px 5px 16px;gap:8px}
  .w5s-fake-search-label{font-size:15px}
  .w5s-fake-search-btn{padding:11px 18px}

  .hero-search-card{padding:16px 14px 15px;border-radius:18px}
  .hero-card-trust{gap:6px 16px;margin-bottom:12px;font-size:12.5px}
  .hero-card-note{font-size:12.5px;margin-top:11px}
  .hero-card-secure{font-size:11.5px}

  /* Chips untereinander, damit nichts zerrissen umbricht. */
  .hero-chips{flex-direction:column;align-items:stretch;gap:8px;margin-top:20px}
  .hero-chips li{justify-content:center;padding:10px 14px;font-size:13px}

  .hero-links{margin-top:22px;font-size:14px}
  .hero-cta{flex-direction:column}
  .hero-cta .btn{width:100%}
  .container{padding:0 16px}
  .wrap-narrow{padding:0 16px}
  .trust-row{gap:6px;margin-top:0!important}
  .trust-row .chip{font-size:11px;padding:5px 10px;white-space:nowrap}
  #w5s-search-widget .trust-row{margin-bottom:12px!important}
}
.trust-row{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:var(--sp-md)}
.trust-row .chip{background:#fff;color:var(--on-surface);font-size:13px;font-weight:500;border:1px solid var(--border);border-radius:var(--r-full);padding:8px 14px;display:flex;align-items:center;gap:6px}

/* Card / Search-like card */
.card{background:var(--success-surface);border:1px solid var(--tertiary);border-radius:var(--r-lg);padding:24px}
.card-plain{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px}

/* Sections */
section{padding:var(--sp-lg) 0}
.section-head{text-align:center;max-width:640px;margin:0 auto var(--sp-lg)}
.section-alt{background:var(--surface)}

/* Grid */
.grid{display:grid;gap:var(--sp-md)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:820px){ .grid-3,.grid-2{grid-template-columns:1fr} }

.feature{padding:var(--sp-md);border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:#fff}
.feature .icon{width:44px;height:44px;border-radius:var(--r-md);background:var(--surface);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-sm);font-size:20px}

/* Steps */
.steps{display:flex;flex-direction:column;gap:var(--sp-md)}
.step{display:flex;gap:18px;align-items:flex-start;padding:var(--sp-md);border:1px solid var(--border-subtle);border-radius:var(--r-lg)}
.step-num{flex:0 0 auto;width:36px;height:36px;border-radius:var(--r-full);background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}

/* Pricing */
.price-table{width:100%;border-collapse:collapse;font-size:15px}
.price-table th,.price-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-subtle)}
.price-table th{color:var(--muted);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.pricing-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-md)}
@media (max-width:820px){.pricing-cards{grid-template-columns:1fr}}
.price{font-size:32px;font-weight:700;margin:8px 0}
.price small{font-size:14px;font-weight:400;color:var(--muted)}
.badge{background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;border-radius:var(--r-full);padding:4px 10px;display:inline-block}

/* Forms */
.form-group{margin-bottom:var(--sp-sm)}
label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
input,textarea,select{
  width:100%;background:#fff;color:var(--on-surface);font-size:16px;
  border:1px solid var(--border);border-radius:var(--r-md);padding:12px 16px;
  font-family:inherit;
}
input[type=text],input[type=email],input[type=tel],input[type=url]{border-radius:var(--r-full);height:56px}
textarea{border-radius:var(--r-md);min-height:140px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--primary);outline-offset:1px}
.form-note{font-size:13px;color:var(--muted);margin-top:var(--sp-xs)}
.form-alert{background:var(--success-surface);border:1px solid var(--tertiary);border-radius:var(--r-md);padding:16px;font-size:14px;margin-bottom:var(--sp-md)}

/* CTA band */
.cta-band{background:var(--secondary);color:#fff;border-radius:var(--r-xl);padding:var(--sp-lg);text-align:center}
.cta-band h2{color:#fff}
.cta-band p{color:#c7cddb}

/* Footer */
footer.site-footer{border-top:1px solid var(--border-subtle);background:var(--surface);padding:var(--sp-lg) 0 var(--sp-md)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-md)}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
.footer-col h4{font-size:14px;margin-bottom:12px}
.footer-col a{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}
.footer-col a:hover{color:var(--primary)}
.footer-bottom{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted)}

/* Utilities */
.text-center{text-align:center}
.mt-lg{margin-top:var(--sp-lg)}
.mb-0{margin-bottom:0}
.disclaimer-box{background:var(--surface);border-left:3px solid var(--warning);border-radius:var(--r-md);padding:16px 20px;font-size:14px;color:var(--muted)}

/* Vorher/Nachher */
.impact-card{border-radius:var(--r-xl);padding:28px;border:2px solid var(--border)}
.impact-card.before{border-color:#fecaca;background:#fff}
.impact-card.after{border-color:var(--tertiary);background:#fff}
.impact-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.05em;border-radius:var(--r-full);padding:6px 14px;color:#fff}
.impact-tag.before{background:var(--error)}
.impact-tag.after{background:#16a34a}
.impact-biz-name{font-size:20px;font-weight:700;margin:14px 0 2px;display:flex;align-items:center;gap:8px}
.impact-biz-meta{font-size:14px;color:var(--muted);margin-bottom:16px}
.impact-score-row{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.impact-score{font-size:44px;font-weight:800}
.impact-score.before{color:var(--error)}
.impact-score.after{color:#16a34a}
.impact-stars{font-size:16px;color:#f59e0b}
.impact-review-count{font-size:13px;color:var(--muted);display:block;margin-top:2px}
.rating-bars{display:flex;flex-direction:column;gap:6px}
.rating-bar-row{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.rating-bar-track{background:var(--border-subtle);border-radius:var(--r-full);height:8px;overflow:hidden}
.rating-bar-fill{height:100%;border-radius:var(--r-full);background:#f59e0b}
.impact-effects{margin-top:20px;display:flex;flex-direction:column;gap:14px}
.impact-effect{display:flex;gap:12px;align-items:flex-start}
.impact-effect-icon{flex:0 0 auto;width:32px;height:32px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:15px}
.impact-effect-icon.bad{background:#fee2e2;color:var(--error)}
.impact-effect-icon.good{background:var(--success-surface);color:#16a34a}
@media (max-width:640px){
  .impact-card{padding:20px}
  .impact-score{font-size:36px}
}

/* Kennzahlenreihe: keine gefuellten Kaesten, sondern feine Trennlinien.
   Die Zahl steht in Dunkelblau, nur das Vorzeichen tragt die Akzentfarbe. */
.stat-row{
  display:flex;justify-content:center;flex-wrap:wrap;
  margin-top:44px;padding-top:30px;border-top:1px solid var(--border-subtle);
}
.stat-item{flex:1 1 0;min-width:170px;text-align:center;padding:2px 28px;position:relative}
.stat-item + .stat-item::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:38px;background:var(--border);
}
.stat-value{
  display:block;font-size:34px;line-height:1.1;font-weight:600;letter-spacing:-1px;
  color:var(--secondary);font-variant-numeric:tabular-nums;
}
.stat-value .sign{color:var(--primary);font-weight:500}
.stat-label{
  display:block;margin-top:8px;font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}
@media (max-width:640px){
  .stat-row{margin-top:28px;padding-top:22px}
  .stat-item{flex:1 1 100%;padding:16px 0}
  .stat-item + .stat-item::before{
    top:0;left:50%;transform:translateX(-50%);width:44px;height:1px;
  }
  .stat-value{font-size:29px}
}

/* Branchenliste: typografisch statt Emoji-Kaesten */
.branch-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px;margin-top:8px}
.branch-item{display:flex;gap:20px;padding:22px 2px;border-top:1px solid var(--border-subtle)}
.branch-num{
  flex:0 0 auto;min-width:24px;padding-top:3px;
  font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--primary);
  font-variant-numeric:tabular-nums;
}
.branch-item strong{display:block;font-size:16px;line-height:22px;margin-bottom:3px}
.branch-item p{margin:0}
@media (max-width:820px){
  .branch-list{grid-template-columns:1fr;gap:0}
}

/* Review-Karten mit Avatar */
.review-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);margin-bottom:10px;transition:border-color .15s}
.review-card:has(input:checked){border-color:var(--primary);background:#fff8f4}
.review-avatar{flex:0 0 auto;width:40px;height:40px;border-radius:var(--r-full);background:var(--surface);color:var(--secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}

/* Fake-Search Button (öffnet Wizard) */
.w5s-fake-search{
  display:flex;align-items:center;gap:10px;width:100%;max-width:560px;margin:0 auto;
  background:var(--success-surface);border:1px solid var(--tertiary);border-radius:var(--r-full);
  padding:6px 6px 6px 20px;cursor:pointer;font-family:inherit;text-align:left;
  transition:box-shadow .15s ease, border-color .15s ease;
}
.w5s-fake-search:hover{box-shadow:0 4px 16px rgba(15,23,41,.08);border-color:var(--primary)}
/* Der Platzhalter darf nie umbrechen - sonst wird das Feld zweizeilig. */
.w5s-fake-search-label{
  flex:1;min-width:0;color:var(--muted);font-size:16px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.w5s-lbl-kurz{display:none}
.w5s-fake-search-btn{
  display:flex;align-items:center;gap:7px;
  background:var(--primary);color:#fff;border-radius:var(--r-full);
  padding:12px 20px;font-size:14px;font-weight:600;white-space:nowrap;
}

/* Wizard Modal */
.w5s-modal-backdrop{
  display:none;position:fixed;inset:0;background:rgba(15,23,41,.55);z-index:1000;
  align-items:center;justify-content:center;padding:20px;
}
.w5s-modal-backdrop.open{display:flex}
.w5s-modal{
  background:#fff;border-radius:var(--r-xl);max-width:480px;width:100%;
  max-height:90vh;overflow-y:auto;padding:32px 28px;position:relative;
  animation:w5s-modal-in .2s ease;
}
@keyframes w5s-modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.w5s-modal-close{
  position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:var(--r-full);
  border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px;color:var(--muted);
}
.w5s-wizard-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:6px;padding-top:8px}
.w5s-wizard-dot{
  width:30px;height:30px;border-radius:var(--r-full);background:var(--surface);color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;
  border:2px solid var(--border);transition:all .2s ease;
}
.w5s-wizard-dot.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.w5s-wizard-dot.done{background:#16a34a;color:#fff;border-color:#16a34a}
.w5s-wizard-line{width:56px;height:2px;background:var(--border)}
.w5s-wizard-labels{display:flex;justify-content:center;gap:24px;margin-bottom:24px}
.w5s-wizard-labels span{font-size:11px;color:var(--muted);width:70px;text-align:center}

.w5s-panel{display:none}
.w5s-panel.active{display:block;animation:w5s-panel-in .2s ease}

/* Vorschlagsliste im Wizard.
   Das Modal ist wegen max-height/overflow-y ein Scroll-Container und wuerde
   die absolut positionierte Liste am unteren Rand abschneiden. Solange die
   Liste offen ist, reserviert Schritt 1 daher genug Hoehe. */
#w5s-suggestions{
  position:absolute;left:0;right:0;top:56px;z-index:20;
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:0 10px 28px rgba(15,23,41,.14);
  max-height:244px;overflow-y:auto;overflow-x:hidden;
}
#w5s-panel-1.has-suggestions{min-height:342px}
.w5s-sugg-item:last-child{border-bottom:0 !important}
@keyframes w5s-panel-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}

.w5s-spinner{
  width:40px;height:40px;border-radius:50%;border:4px solid var(--border-subtle);
  border-top-color:var(--primary);margin:0 auto;animation:w5s-spin 0.8s linear infinite;
}
@keyframes w5s-spin{to{transform:rotate(360deg)}}

@media (max-width:640px){
  .w5s-modal{padding:24px 18px;border-radius:var(--r-lg)}
  .w5s-wizard-line{width:32px}
}

/* Nachrichtenliste im Adminpostfach */
.w5s-mail-row{
  display:grid;grid-template-columns:210px 1fr 110px;gap:14px;align-items:center;
  padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--r-md);
  margin-bottom:6px;background:#fff;transition:border-color .12s, background .12s;
}
.w5s-mail-row:hover{border-color:var(--primary);background:#fffaf7}
.w5s-mail-row.unread{border-left:3px solid var(--primary);background:var(--surface)}
.w5s-mail-row.unread .w5s-mail-subject{font-weight:600}
.w5s-mail-from{font-size:13.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w5s-mail-subject{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w5s-mail-date{font-size:12.5px;color:var(--muted);text-align:right;white-space:nowrap}
@media (max-width:820px){
  .w5s-mail-row{grid-template-columns:1fr;gap:3px}
  .w5s-mail-date{text-align:left}
}

/* Nachrichtenverlauf in der Fallansicht */
.w5s-msg{
  border:1px solid var(--border-subtle);border-radius:var(--r-md);
  padding:11px 14px;margin-bottom:8px;max-width:88%;
}
.w5s-msg.in{background:#fff;border-left:3px solid var(--border)}
.w5s-msg.out{background:var(--surface);border-left:3px solid var(--primary);margin-left:auto}

/* Cookie-Tabelle in der Datenschutzerklaerung */
.cookie-table{width:100%;border-collapse:collapse;margin:12px 0 14px;font-size:14px}
.cookie-table th,.cookie-table td{
  text-align:left;padding:10px 12px;border:1px solid var(--border-subtle);vertical-align:top;
}
.cookie-table th{background:var(--surface);font-size:13px;font-weight:600}
.cookie-table code{font-size:13px;background:var(--surface);padding:1px 5px;border-radius:var(--r-sm)}
@media (max-width:620px){
  .cookie-table,.cookie-table thead,.cookie-table tbody,.cookie-table tr,.cookie-table th,.cookie-table td{display:block}
  .cookie-table thead{display:none}
  .cookie-table tr{border:1px solid var(--border-subtle);margin-bottom:10px}
  .cookie-table td{border:0;border-bottom:1px solid var(--border-subtle)}
  .cookie-table td:last-child{border-bottom:0}
}

/* Exit-Intent-Dialog */
/* Kompakt gehalten, damit der Absende-Button auch auf 700px hohen
   Bildschirmen ohne Scrollen im Dialog sichtbar bleibt. */
.w5s-exit{max-width:560px;padding:26px 30px}
.w5s-exit-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--success-surface);border:1px solid var(--tertiary);color:#047857;
  border-radius:var(--r-full);padding:6px 14px;font-size:12px;font-weight:600;margin-bottom:12px;
}
.w5s-exit-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#059669}
.w5s-exit-title{margin-bottom:8px;letter-spacing:-0.8px;font-size:26px;line-height:32px}
.w5s-exit-list{list-style:none;margin:14px 0 16px;padding:0}
.w5s-exit-list li{
  position:relative;padding-left:26px;margin-bottom:7px;font-size:14px;line-height:20px;
}
.w5s-exit-list li::before{
  content:"✓";position:absolute;left:0;top:0;color:#059669;font-weight:700;
}
.w5s-exit-field{
  border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);
  padding:0 14px;margin-bottom:8px;display:flex;align-items:center;gap:10px;
  transition:border-color .15s, background .15s;
}
.w5s-exit-field:focus-within{border-color:var(--primary);background:#fff}
.w5s-exit-field input{
  border:0;background:transparent;height:46px;flex:1;font-size:15px;font-family:inherit;
  color:var(--on-surface);min-width:0;
}
.w5s-exit-field input:focus{outline:none}
.w5s-exit-field-icon svg{flex:0 0 auto}
.w5s-exit-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.w5s-exit-cta{
  display:flex;align-items:center;justify-content:center;gap:12px;position:relative;
  margin-top:12px;border-radius:var(--r-full);
}
.w5s-exit-arrow{
  display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.22);font-size:15px;
}
.w5s-exit-error{
  margin:12px 0 0;font-size:14px;color:var(--error);
  background:#fef2f2;border-left:3px solid var(--error);border-radius:var(--r-sm);padding:9px 12px;
}
.w5s-exit-note{margin-top:12px}
.w5s-exit-done{text-align:center;padding:14px 0 6px}
.w5s-exit-check{
  width:56px;height:56px;border-radius:50%;background:var(--success-surface);color:#059669;
  display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;
  margin:0 auto 16px;
}
@media (max-width:640px){
  .w5s-exit{padding:26px 18px}
  .w5s-exit-title{font-size:23px;line-height:29px}
  .w5s-exit-list li{font-size:14px}
  .w5s-exit-row{grid-template-columns:1fr;gap:0}
}

/* Kopierzeilen im Einreichungspaket */
.w5s-copy-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid var(--border-subtle);border-radius:var(--r-md);
  padding:8px 12px;margin-top:8px;background:#fff;
}
.w5s-copy-row .btn{padding:6px 14px;font-size:13px}
