/*
Theme Name: AWR24
Theme URI: https://awr24.de/
Author: AWR24
Description: Schlankes Block-Theme für AWR24 — Schadensregulierung & Verkehrsrecht. Basiert auf WordPress Full Site Editing. Ersetzt Kubio mit nativer WP-Funktionalität, optimiert für SEO, Performance und Sicherheit.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: awr24
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, one-column, wide-blocks
*/

/* ===================================================================
   AWR24 Theme — Sektion-Styles
   Tokens kommen aus theme.json (--wp--preset--color--*, etc.)
   Hier nur Layout/Komposition pro Sektion + die Bausteine,
   die WP-Block-Markup nicht sauber selbst abbilden kann.
   =================================================================== */

:root {
  --awr-bg:         var(--wp--preset--color--bg, #F1F2F4);
  --awr-paper:      var(--wp--preset--color--paper, #FFFFFF);
  --awr-ink:        var(--wp--preset--color--ink, #2A3142);
  --awr-ink-soft:   var(--wp--preset--color--ink-soft, #3A4153);
  --awr-muted:      var(--wp--preset--color--muted, #6B7080);
  --awr-lavender:   var(--wp--preset--color--lavender, #B4B6C8);
  --awr-lavender-2: var(--wp--preset--color--lavender-2, #A0A3B8);
  --awr-footer:     var(--wp--preset--color--footer, #3D3D3F);
  --awr-line:       var(--wp--preset--color--line, #D9DCE2);
  --awr-alert:      var(--wp--preset--color--alert, #9A2A2A);
  --awr-alert-soft: var(--wp--preset--color--alert-soft, #F4E8E8);
}

* { box-sizing: border-box; }

/* ===================================================================
   TOPBAR — über dem Header, sticky, Kontaktdaten + Schaden-CTA
   =================================================================== */
.awr-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--awr-bg);
  border-bottom: 1px solid var(--awr-line);
  font-size: 13px;
}
.awr-topbar__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 10px 32px;
  display: flex;
  gap: 28px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.awr-topbar a {
  color: var(--awr-ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color .15s;
}
.awr-topbar a:hover { color: var(--awr-lavender-2); }
.awr-topbar a.is-strong { font-weight: 700; font-size: 14px; }
.awr-topbar svg { width: 15px; height: 15px; flex-shrink: 0; }

.awr-topbar__cta {
  margin-left: 8px;
  padding: 8px 16px;
  background: var(--awr-ink);
  color: #fff !important;
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1.5px solid var(--awr-ink);
  transition: background .18s, color .18s;
}
.awr-topbar__cta:hover {
  background: transparent;
  color: var(--awr-ink) !important;
}

/* ===================================================================
   HEADER — Logo + Tagline
   =================================================================== */
.awr-header {
  background: var(--awr-paper);
  border-bottom: 1px solid var(--awr-line);
}
.awr-header__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 18px 32px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.awr-header__inner a.awr-logo-link {
  display: flex;
  align-items: center;
  gap: 28px;
  text-decoration: none;
  color: var(--awr-ink);
}
.awr-logo { height: 96px; flex-shrink: 0; display: flex; align-items: center; }
.awr-logo img { height: 100%; width: auto; display: block; }
.awr-header__tagline {
  font-family: 'Quicksand', sans-serif;
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--awr-ink);
}
.awr-header__tagline .sep {
  color: var(--awr-lavender);
  margin: 0 .3em;
  font-weight: 400;
}

/* ===================================================================
   PAGE-HEAD — schmaler Breadcrumb-Streifen, Übergang ins Content
   =================================================================== */
.awr-page-head {
  background: linear-gradient(180deg, var(--awr-bg) 0%, var(--awr-paper) 100%);
  padding: clamp(40px, 5vw, 60px) 32px clamp(16px, 2vw, 28px);
}
.awr-page-head__inner {
  max-width: 1500px;
  margin: 0 auto;
}
.awr-crumb {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--awr-muted);
}
.awr-crumb a {
  color: var(--awr-muted);
  text-decoration: none;
  border-bottom: 1px dotted var(--awr-muted);
}
.awr-crumb a:hover { color: var(--awr-ink); border-color: var(--awr-ink); }

/* ===================================================================
   BUTTONS — Custom-Varianten zusätzlich zum WP-Standard
   =================================================================== */
.awr-btn {
  display: inline-block;
  padding: 14px 26px;
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: all .18s;
}
.awr-btn--primary { background: var(--awr-ink); color: #fff; border-color: var(--awr-ink); }
.awr-btn--primary:hover { background: transparent; color: var(--awr-ink); }
.awr-btn--outline { background: transparent; color: var(--awr-ink); border-color: var(--awr-ink); }
.awr-btn--outline:hover { background: var(--awr-ink); color: #fff; }
.awr-btn--alert { background: var(--awr-alert); color: #fff; border-color: var(--awr-alert); }
.awr-btn--alert:hover { background: transparent; color: var(--awr-alert); }
.awr-btn--light { background: var(--awr-lavender); color: var(--awr-ink); border-color: var(--awr-lavender); }
.awr-btn--light:hover { background: #fff; border-color: #fff; }
.awr-btn--ghost-light { background: transparent; color: #fff; border-color: rgba(255,255,255,0.6); }
.awr-btn--ghost-light:hover { background: #fff; color: var(--awr-ink); border-color: #fff; }

/* ===================================================================
   SECTION-EYEBROW — kleines Mono-/Caps-Label über Überschriften
   =================================================================== */
.awr-eye {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--awr-lavender-2);
  margin-bottom: 14px;
}
.awr-eye--ink { color: var(--awr-ink); }
.awr-eye--alert {
  display: inline-block;
  color: var(--awr-alert);
  padding: 5px 10px;
  border: 1px solid var(--awr-alert);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  letter-spacing: .18em;
}

/* ===================================================================
   FOOTER — Sitemap + Pflicht-Links + Logo
   =================================================================== */
.awr-footer {
  background: var(--awr-footer);
  color: #DCDDDF;
  padding: clamp(48px, 6vw, 72px) 0 24px;
}
.awr-footer__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.awr-footer__brand img {
  width: 160px;
  height: auto;
  filter: brightness(0) invert(0.85);
  opacity: 0.7;
  margin-bottom: 16px;
}
.awr-footer__brand p {
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(220,221,223,0.75);
  margin: 0;
  max-width: 30ch;
}
.awr-footer__h4 {
  font-family: 'Quicksand', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--awr-lavender);
  margin: 0 0 16px;
}
.awr-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.awr-footer__list a,
.awr-footer__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #DCDDDF;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  transition: color .15s;
}
.awr-footer__list a:hover,
.awr-footer__item:hover { color: #fff; }
.awr-footer__item svg,
.awr-footer__list a svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-top: 2px;
  opacity: 0.65;
}
.awr-footer__copy {
  text-align: center;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.10);
  font-size: 12px;
  color: rgba(220,221,223,0.6);
}

/* ===================================================================
   PREVIEW-NOTE (nur im Editor / dev)
   =================================================================== */
.awr-preview-note {
  background: #FFFBEA;
  border-bottom: 1px solid #F5E6A3;
  padding: 10px 20px;
  text-align: center;
  font-size: 13px;
  color: #6B5A1F;
}
.awr-preview-note strong { color: #5C4B0F; }

/* ===================================================================
   RESPONSIVE
   =================================================================== */
@media (max-width: 1000px) {
  .awr-footer__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .awr-topbar__inner { padding: 8px 16px; gap: 16px; justify-content: center; }
  .awr-topbar__cta { margin-left: 0; }
  .awr-header__inner { padding: 14px 16px; gap: 16px; }
  .awr-logo { height: 64px; }
  .awr-footer__inner { grid-template-columns: 1fr; gap: 32px; }
}


/* ===================================================================
   HERO — Vollbild-Video-Hintergrund + große Headline
   =================================================================== */
.awr-hero {
  position: relative;
  min-height: 78vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.awr-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.awr-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(42,49,66,0.30) 0%, rgba(42,49,66,0.55) 100%);
  z-index: 2;
}
.awr-hero__inner {
  position: relative;
  z-index: 3;
  text-align: center;
  padding: 80px 24px;
  max-width: 900px;
}
.awr-hero__h1 {
  font-family: 'Quicksand', sans-serif;
  font-size: clamp(72px, 12vw, 160px);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0 0 28px;
  color: #fff;
}
.awr-hero__sub {
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.5;
  font-weight: 400;
  max-width: 640px;
  margin: 0 auto 44px;
  color: rgba(255,255,255,0.95);
}
.awr-hero__buttons {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}
/* Hero-spezifische Button-Varianten */
.awr-hero__buttons .awr-btn {
  padding: 16px 32px;
  font-size: 14px;
}
.awr-hero__buttons .awr-btn--hero-primary {
  background: var(--awr-lavender-2);
  color: var(--awr-ink);
  border-color: var(--awr-lavender-2);
}
.awr-hero__buttons .awr-btn--hero-primary:hover {
  background: #fff;
  color: var(--awr-ink);
  border-color: #fff;
}
.awr-hero__buttons .awr-btn--hero-ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.85);
}
.awr-hero__buttons .awr-btn--hero-ghost:hover {
  background: #fff;
  color: var(--awr-ink);
  border-color: #fff;
}
@media (max-width: 720px) {
  .awr-hero { min-height: 70vh; }
  .awr-hero__inner { padding: 60px 20px; }
  .awr-hero__buttons { flex-direction: column; align-items: stretch; }
}

/* ===================================================================
   STRESS — "Nicht noch mehr Stress…" 2-Spalter mit Bild
   =================================================================== */
.awr-stress {
  background: var(--awr-paper);
  padding: clamp(48px, 8vw, 96px) 0;
}
.awr-stress__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.awr-stress__text { max-width: 620px; }
.awr-stress__h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.2;
  color: var(--awr-ink);
  margin: 0 0 28px;
}
.awr-stress__text p {
  margin: 0 0 18px;
  line-height: 1.75;
  color: var(--awr-ink);
  font-size: 16px;
}
.awr-stress__text p strong { font-weight: 700; }
.awr-stress__cta {
  margin-top: 36px;
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}
.awr-stress__cta .awr-btn--primary { padding: 16px 32px; font-size: 14px; }
.awr-stress__cta .awr-btn--primary:hover {
  background: var(--awr-lavender-2);
  color: var(--awr-ink);
  border-color: var(--awr-lavender-2);
}
.awr-stress__partner-link {
  font-size: 13px;
  color: var(--awr-muted);
  text-decoration: none;
  border-bottom: 1px dotted var(--awr-muted);
  padding-bottom: 2px;
  transition: color .15s;
}
.awr-stress__partner-link:hover {
  color: var(--awr-ink);
  border-color: var(--awr-ink);
}
.awr-stress__img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
@media (max-width: 880px) {
  .awr-stress__inner { grid-template-columns: 1fr; }
  .awr-stress__img { aspect-ratio: 16/10; max-height: 360px; }
}

/* ===================================================================
   WARUM — 8 Schadens-Kategorien mit Icons
   =================================================================== */
.awr-warum {
  background: var(--awr-paper);
  padding: clamp(56px, 8vw, 96px) 0;
  border-top: 1px solid var(--awr-line);
}
.awr-warum__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 32px;
}
.awr-warum__h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.2;
  color: var(--awr-ink);
  margin: 0 0 24px;
}
.awr-warum__intro {
  max-width: 1180px;
  margin: 0 0 64px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--awr-ink);
}
.awr-warum__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px 36px;
}
.awr-warum-card { display: flex; flex-direction: column; gap: 16px; }
.awr-warum-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #ECEDF0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.awr-warum-card__icon svg {
  width: 30px;
  height: 30px;
  color: var(--awr-ink);
}
.awr-warum-card__h3 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: var(--awr-ink);
  margin: 0;
}
.awr-warum-card__body { font-size: 14px; line-height: 1.65; color: var(--awr-ink); margin: 0; }
.awr-warum-card__body p { margin: 0 0 10px; }
.awr-warum-card__body p:last-child { margin: 0; }
.awr-warum-card__body strong { font-weight: 700; }
@media (max-width: 1100px) { .awr-warum__grid { grid-template-columns: repeat(2, 1fr); gap: 40px 32px; } }
@media (max-width: 560px) { .awr-warum__grid { grid-template-columns: 1fr; } }

/* ===================================================================
   KOSTEN — Bußgeld + Straftat in 2 großen Rows
   =================================================================== */
.awr-kosten {
  background: var(--awr-lavender);
  padding: clamp(64px, 9vw, 120px) 0;
}
.awr-kosten__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  gap: clamp(56px, 7vw, 96px);
}
.awr-kosten-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
}
.awr-kosten-row--reverse .awr-kosten-text { order: 2; }
.awr-kosten-row--reverse .awr-kosten-img-wrap { order: 1; }
.awr-kosten-text { max-width: 620px; }
.awr-kosten__badge {
  display: inline-block;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--awr-ink);
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(42,49,66,0.18);
  padding: 5px 11px;
  border-radius: 999px;
  margin-bottom: 18px;
}
.awr-kosten__h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(32px, 3.6vw, 44px);
  color: var(--awr-ink);
  margin: 0 0 18px;
  line-height: 1.1;
}
.awr-kosten__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}
.awr-kosten__chips li {
  display: inline-block;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--awr-ink);
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(42,49,66,0.18);
  padding: 6px 12px;
  border-radius: 999px;
}
.awr-kosten__body { color: var(--awr-ink); font-size: 15px; line-height: 1.7; }
.awr-kosten__body p { margin: 0 0 14px; }
.awr-kosten__body p:last-child { margin: 0; }
.awr-kosten__body strong { font-weight: 700; }
.awr-kosten__cta {
  display: inline-block;
  margin-top: 28px;
  padding: 14px 22px;
  background: var(--awr-ink);
  color: #fff;
  text-decoration: none;
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 13.5px;
  letter-spacing: 0.04em;
  border: 1.5px solid var(--awr-ink);
  transition: all .18s ease;
}
.awr-kosten__cta:hover {
  background: transparent;
  color: var(--awr-ink);
}
.awr-kosten-img-wrap {
  width: 100%;
  overflow: hidden;
  background: var(--awr-ink);
}
.awr-kosten-img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
@media (max-width: 880px) {
  .awr-kosten-row { grid-template-columns: 1fr; }
  .awr-kosten-row--reverse .awr-kosten-text { order: 0; }
  .awr-kosten-row--reverse .awr-kosten-img-wrap { order: 0; }
  .awr-kosten-img { aspect-ratio: 16/10; max-height: 320px; }
}

/* ===================================================================
   PRE-FOOTER — Logo + finaler CTA-Block
   =================================================================== */
.awr-prefoot {
  background: var(--awr-lavender);
  border-top: 1px solid rgba(42,49,66,0.10);
  padding: clamp(64px, 8vw, 96px) 0;
}
.awr-prefoot__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
}
.awr-prefoot__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.awr-prefoot__logo img {
  width: 100%;
  max-width: 380px;
  height: auto;
  display: block;
}
.awr-prefoot__text {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.awr-prefoot__h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.2;
  color: var(--awr-ink);
  margin: 0 0 24px;
}
.awr-prefoot__body {
  color: var(--awr-ink);
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 28px;
}
.awr-prefoot__body p { margin: 0 0 14px; }
.awr-prefoot__body em { font-style: italic; }
.awr-prefoot__cta {
  display: inline-block;
  padding: 16px 32px;
  background: var(--awr-ink);
  color: #fff;
  text-decoration: none;
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1.5px solid var(--awr-ink);
  transition: all .18s ease;
}
.awr-prefoot__cta:hover { background: transparent; color: var(--awr-ink); }
@media (max-width: 880px) {
  .awr-prefoot__inner { grid-template-columns: 1fr; }
  .awr-prefoot__logo img { max-width: 220px; }
}


/* ===================================================================
   PAGE-HEAD (zentriert, mit Crumb + H1 + Subtitle)
   =================================================================== */
.awr-page-head--centered {
  background: linear-gradient(180deg, var(--awr-bg) 0%, var(--awr-paper) 100%);
  padding: clamp(48px, 6vw, 80px) 32px clamp(24px, 4vw, 48px);
  text-align: center;
}
.awr-page-head--centered .awr-page-head__inner {
  max-width: 760px;
  margin: 0 auto;
}
.awr-page-head--centered .awr-page-head__crumb {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--awr-muted);
  margin-bottom: 14px;
}
.awr-page-head--centered .awr-page-head__crumb a {
  color: var(--awr-muted);
  text-decoration: none;
  border-bottom: 1px dotted var(--awr-muted);
}
.awr-page-head--centered .awr-page-head__h1 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(32px, 4.4vw, 52px);
  line-height: 1.1;
  color: var(--awr-ink);
  margin: 0 0 16px;
}
.awr-page-head--centered .awr-page-head__sub {
  color: var(--awr-ink-soft);
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
}

/* ===================================================================
   SCHADEN-FORMULAR
   =================================================================== */
.awr-form-section {
  padding: clamp(24px, 4vw, 48px) 32px clamp(64px, 8vw, 96px);
  background: var(--awr-paper);
}
.awr-form-wrap { max-width: 760px; margin: 0 auto; }

.awr-fieldset {
  border: none;
  padding: 0;
  margin: 0 0 clamp(36px, 4vw, 56px);
}
.awr-fieldset__legend {
  font-family: 'Quicksand', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--awr-lavender-2);
  margin-bottom: 18px;
  padding: 0;
}
.awr-fieldset__h3 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(22px, 2.4vw, 28px);
  color: var(--awr-ink);
  margin: 0 0 22px;
  line-height: 1.2;
}

/* Radio-Karten */
.awr-radio-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.awr-radio-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 18px;
  background: var(--awr-paper);
  border: 1.5px solid var(--awr-line);
  cursor: pointer;
  transition: all .15s ease;
}
.awr-radio-card:hover { border-color: var(--awr-lavender-2); }
.awr-radio-card input { position: absolute; opacity: 0; pointer-events: none; }
.awr-radio-card__title {
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: var(--awr-ink);
  line-height: 1.25;
}
.awr-radio-card__sub {
  font-size: 12px;
  color: var(--awr-muted);
  line-height: 1.4;
}
.awr-radio-card__dot {
  position: absolute;
  top: 14px; right: 14px;
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 1.5px solid var(--awr-line);
  background: var(--awr-paper);
  transition: all .15s ease;
}
.awr-radio-card input:checked + .awr-radio-card__dot {
  border-color: var(--awr-ink);
  background: var(--awr-ink);
  box-shadow: inset 0 0 0 3px var(--awr-paper);
}
.awr-radio-card:has(input:checked) {
  border-color: var(--awr-ink);
  background: rgba(180,182,200,0.12);
}
@media (max-width: 720px) { .awr-radio-cards { grid-template-columns: 1fr; } }

/* Eingabefelder */
.awr-field { margin-bottom: 16px; }
.awr-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 540px) { .awr-field-row { grid-template-columns: 1fr; } }
.awr-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--awr-ink-soft);
  margin-bottom: 6px;
  letter-spacing: 0.01em;
}
.awr-label .awr-req { color: #B82626; margin-left: 2px; }
.awr-input, .awr-textarea {
  width: 100%;
  padding: 12px 14px;
  background: var(--awr-paper);
  border: 1.5px solid var(--awr-line);
  color: var(--awr-ink);
  font: inherit;
  font-size: 15px;
  transition: border-color .15s, box-shadow .15s;
  border-radius: 0;
}
.awr-input:focus, .awr-textarea:focus {
  outline: none;
  border-color: var(--awr-ink);
  box-shadow: 0 0 0 3px rgba(180,182,200,0.30);
}
.awr-textarea { resize: vertical; min-height: 120px; line-height: 1.55; }
.awr-help { font-size: 12px; color: var(--awr-muted); margin-top: 4px; }

/* Vollmachtsbox (auf-/zuklappbar) */
.awr-vollmacht-box {
  background: rgba(180,182,200,0.12);
  border: 1px solid var(--awr-line);
  padding: 20px;
  margin-bottom: 20px;
}
.awr-vollmacht-box summary {
  cursor: pointer;
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--awr-ink);
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  user-select: none;
}
.awr-vollmacht-box summary::-webkit-details-marker { display: none; }
.awr-vollmacht-box summary::before {
  content: "▸";
  transition: transform .2s;
  display: inline-block;
  font-size: 11px;
  color: var(--awr-lavender-2);
}
.awr-vollmacht-box[open] summary::before { transform: rotate(90deg); }
.awr-vollmacht-text {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--awr-line);
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--awr-ink-soft);
  max-height: 360px;
  overflow-y: auto;
}
.awr-vollmacht-text h4 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--awr-ink);
  margin: 14px 0 6px;
}
.awr-vollmacht-text p { margin: 0 0 10px; }
.awr-vollmacht-text ul { margin: 0 0 10px; padding-left: 20px; }
.awr-vollmacht-text li { margin-bottom: 8px; }
.awr-vollmacht-pdf { margin-top: 10px; font-size: 12px; color: var(--awr-muted); }
.awr-vollmacht-pdf a { color: var(--awr-ink); }

/* Pflicht-Checkboxen */
.awr-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  border: 1.5px solid var(--awr-line);
  margin-bottom: 12px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.awr-check:hover { border-color: var(--awr-lavender-2); }
.awr-check input {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--awr-ink);
  cursor: pointer;
}
.awr-check__text { font-size: 14px; line-height: 1.6; color: var(--awr-ink); }
.awr-check__text strong { font-weight: 700; }
.awr-check__text a { color: var(--awr-ink); }
.awr-check:has(input:checked) { background: rgba(180,182,200,0.10); border-color: var(--awr-ink); }

/* Submit + Erfolg */
.awr-submit-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-top: 32px;
}
.awr-submit-btn {
  background: var(--awr-ink);
  color: #fff;
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 18px 48px;
  border: 1.5px solid var(--awr-ink);
  cursor: pointer;
  transition: all .18s ease;
  min-width: 240px;
}
.awr-submit-btn:hover { background: transparent; color: var(--awr-ink); }
.awr-submit-hint { font-size: 12px; color: var(--awr-muted); text-align: center; }

.awr-success {
  background: rgba(180,182,200,0.18);
  border: 1.5px solid var(--awr-ink);
  padding: clamp(32px, 5vw, 56px);
  text-align: center;
  margin-top: 24px;
}
.awr-success__h2 {
  font-family: 'Quicksand', sans-serif;
  font-size: 28px;
  font-weight: 500;
  color: var(--awr-ink);
  margin: 0 0 12px;
}
.awr-success__body { color: var(--awr-ink-soft); font-size: 16px; line-height: 1.6; margin: 0 0 20px; }
.awr-success__back {
  display: inline-block;
  padding: 12px 24px;
  border: 1.5px solid var(--awr-ink);
  color: var(--awr-ink);
  text-decoration: none;
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: all .15s;
}
.awr-success__back:hover { background: var(--awr-ink); color: #fff; }
.awr-hidden { display: none !important; }

/* ===================================================================
   PARTNER-HERO (B2B, dunkler Hintergrund)
   =================================================================== */
.awr-partner-hero {
  background: var(--awr-footer);
  color: #fff;
  padding: clamp(80px, 10vw, 140px) 32px clamp(72px, 9vw, 120px);
}
.awr-partner-hero__inner { max-width: 1100px; margin: 0 auto; }
.awr-partner-hero__eye {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--awr-lavender);
  margin-bottom: 24px;
}
.awr-partner-hero__h1 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(40px, 6vw, 80px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 32px;
  color: #fff;
  max-width: 18ch;
}
.awr-partner-hero__h1 em { font-style: italic; color: var(--awr-lavender); font-weight: 500; }
.awr-partner-hero__lead {
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.55;
  color: rgba(255,255,255,0.85);
  max-width: 640px;
  margin: 0 0 40px;
}
.awr-partner-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.awr-partner-hero__ctas .awr-btn {
  padding: 16px 32px;
  font-size: 14px;
}
.awr-partner-hero__ctas .awr-btn--partner-primary {
  background: var(--awr-lavender);
  color: var(--awr-ink);
  border-color: var(--awr-lavender);
}
.awr-partner-hero__ctas .awr-btn--partner-primary:hover { background: #fff; border-color: #fff; }
.awr-partner-hero__ctas .awr-btn--partner-ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.6);
}
.awr-partner-hero__ctas .awr-btn--partner-ghost:hover { background: #fff; color: var(--awr-ink); border-color: #fff; }

/* ===================================================================
   WORK / WAS WIR ABNEHMEN
   =================================================================== */
.awr-work { background: var(--awr-paper); padding: clamp(64px, 8vw, 112px) 32px; }
.awr-work__inner { max-width: 1500px; margin: 0 auto; }
.awr-work__head {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 64px;
  margin-bottom: 64px;
  align-items: end;
}
.awr-sec-h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.15;
  color: var(--awr-ink);
  margin: 0;
  letter-spacing: -0.01em;
}
.awr-sec-h2 em { font-style: italic; color: var(--awr-lavender-2); font-weight: 500; }
.awr-work__intro { font-size: 17px; line-height: 1.65; color: var(--awr-ink-soft); margin: 0; }
.awr-work__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--awr-line);
}
.awr-work__item {
  padding: 32px 28px 32px 0;
  border-bottom: 1px solid var(--awr-line);
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 24px;
  align-items: start;
}
.awr-work__item:nth-child(even) {
  padding-left: 48px;
  padding-right: 0;
  border-left: 1px solid var(--awr-line);
}
.awr-work__num {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: 22px;
  color: var(--awr-lavender-2);
  letter-spacing: 0.04em;
  padding-top: 2px;
}
.awr-work__h3 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.25;
  margin: 0 0 10px;
  color: var(--awr-ink);
}
.awr-work__p { margin: 0; color: var(--awr-ink-soft); font-size: 15px; line-height: 1.6; }
@media (max-width: 880px) {
  .awr-work__head { grid-template-columns: 1fr; gap: 24px; }
  .awr-work__grid { grid-template-columns: 1fr; }
  .awr-work__item, .awr-work__item:nth-child(even) { padding: 28px 0; border-left: 0; }
}

/* ===================================================================
   TARGET (Werkstatt / Gutachter / Fuhrpark — 3 Eingänge)
   =================================================================== */
.awr-target { background: var(--awr-bg); padding: clamp(64px, 8vw, 112px) 32px; }
.awr-target__inner { max-width: 1500px; margin: 0 auto; }
.awr-target__head { text-align: center; margin-bottom: 56px; }
.awr-target__head .awr-sec-h2 { max-width: 22ch; margin: 0 auto; }
.awr-target__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.awr-target-card {
  background: var(--awr-paper);
  border: 1px solid var(--awr-line);
  padding: 40px 32px 32px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: all .2s;
  position: relative;
}
.awr-target-card:hover {
  border-color: var(--awr-lavender-2);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(42,49,66,0.08);
}
.awr-target-card__icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: rgba(180,182,200,0.20);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
  color: var(--awr-ink);
}
.awr-target-card__icon svg { width: 28px; height: 28px; }
.awr-target-card__h3 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: 26px;
  color: var(--awr-ink);
  margin: 0 0 12px;
}
.awr-target-card__lead { font-size: 15px; line-height: 1.6; color: var(--awr-ink-soft); margin: 0 0 22px; }
.awr-target-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}
.awr-target-card ul li {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--awr-ink-soft);
  padding-left: 18px;
  position: relative;
  margin-bottom: 8px;
}
.awr-target-card ul li::before {
  content: "→";
  position: absolute; left: 0;
  color: var(--awr-lavender-2);
  font-weight: 700;
}
.awr-target-card__more {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--awr-line);
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--awr-ink);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.awr-target-card__more::after {
  content: "→";
  transition: transform .2s;
}
.awr-target-card:hover .awr-target-card__more::after { transform: translateX(4px); }
@media (max-width: 880px) { .awr-target__grid { grid-template-columns: 1fr; } }

/* ===================================================================
   PFLOW — Partner-Workflow (2 Spuren: Beratung vs Übergabe)
   =================================================================== */
.awr-pflow { background: var(--awr-lavender); padding: clamp(64px, 8vw, 112px) 32px; }
.awr-pflow__inner { max-width: 1100px; margin: 0 auto; }
.awr-pflow__head { text-align: center; margin-bottom: 56px; }
.awr-pflow__head .awr-eye { color: var(--awr-ink); }
.awr-pflow__head .awr-sec-h2 { color: var(--awr-ink); }
.awr-pflow__tracks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.awr-pflow-track {
  background: var(--awr-paper);
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
}
.awr-pflow-track__lbl {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--awr-lavender-2);
  margin-bottom: 10px;
}
.awr-pflow-track__h3 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: 28px;
  color: var(--awr-ink);
  margin: 0 0 18px;
}
.awr-pflow-track__body { font-size: 16px; line-height: 1.65; color: var(--awr-ink-soft); margin: 0 0 28px; flex: 1; }
.awr-pflow-track__body strong { color: var(--awr-ink); font-weight: 700; }
.awr-pflow-track__ctas { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 720px) { .awr-pflow__tracks { grid-template-columns: 1fr; } }

/* ===================================================================
   VOLL — Vollmachts-Download-Block
   =================================================================== */
.awr-voll { background: var(--awr-paper); padding: clamp(64px, 8vw, 112px) 32px; }
.awr-voll__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
.awr-voll__h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.15;
  color: var(--awr-ink);
  margin: 0 0 22px;
  letter-spacing: -0.01em;
}
.awr-voll__body { color: var(--awr-ink-soft); font-size: 16px; line-height: 1.7; margin: 0 0 18px; }
.awr-voll__body strong { color: var(--awr-ink); }
.awr-voll__body a { color: var(--awr-ink); }
.awr-voll__card {
  background: var(--awr-bg);
  border: 1px solid var(--awr-line);
  padding: 36px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.awr-voll__card-lbl {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--awr-lavender-2);
}
.awr-voll__card-name {
  font-family: 'Quicksand', sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--awr-ink);
  line-height: 1.2;
}
.awr-voll__card-meta { font-size: 14px; color: var(--awr-muted); }
.awr-voll__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  background: var(--awr-ink);
  color: #fff;
  text-decoration: none;
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1.5px solid var(--awr-ink);
  transition: all .18s;
  width: fit-content;
}
.awr-voll__btn:hover { background: transparent; color: var(--awr-ink); }
.awr-voll__btn svg { width: 16px; height: 16px; }
@media (max-width: 880px) { .awr-voll__inner { grid-template-columns: 1fr; gap: 32px; } }


/* ===================================================================
   PARTNER-SUBPAGE — Hero (helle 2-Spalten-Variante mit Bild rechts)
   =================================================================== */
.awr-psub-hero { background: var(--awr-paper); padding: clamp(40px,5vw,72px) 32px clamp(72px,9vw,112px); }
.awr-psub-hero__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
.awr-psub-hero__eye {
  display: inline-block;
  font-size: 12px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--awr-lavender-2);
  margin-bottom: 18px;
}
.awr-psub-hero__h1 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: clamp(36px,4.8vw,60px);
  line-height: 1.05; letter-spacing: -0.015em;
  margin: 0 0 24px;
  color: var(--awr-ink);
}
.awr-psub-hero__h1 em { font-style: italic; color: var(--awr-lavender-2); font-weight: 500; }
.awr-psub-hero__lead { font-size: 18px; line-height: 1.6; color: var(--awr-ink-soft); margin: 0 0 32px; }
.awr-psub-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.awr-psub-hero__visual { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.awr-psub-hero__visual--placeholder {
  background:
    repeating-linear-gradient(135deg, rgba(180,182,200,0.18) 0 14px, rgba(180,182,200,0.08) 14px 28px),
    var(--awr-bg);
  border: 1px dashed var(--awr-lavender-2);
  display: flex; align-items: center; justify-content: center;
  color: var(--awr-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px; letter-spacing: .06em;
  text-align: center; padding: 20px;
}
@media (max-width: 880px) { .awr-psub-hero__inner { grid-template-columns: 1fr; gap: 32px; } }

/* ===================================================================
   PARTNER-SUBPAGE — Benefits-Grid (6 Vorteile, 2 Spalten)
   =================================================================== */
.awr-psub-benefits { background: var(--awr-bg); padding: clamp(64px,8vw,112px) 32px; }
.awr-psub-benefits__inner { max-width: 1500px; margin: 0 auto; }
.awr-psub-benefits__head { margin-bottom: 56px; }
.awr-psub-benefits__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid var(--awr-line);
}
.awr-psub-benefit {
  padding: 32px 28px 32px 0;
  border-bottom: 1px solid var(--awr-line);
  display: grid; grid-template-columns: 48px 1fr;
  gap: 20px; align-items: start;
}
.awr-psub-benefit:nth-child(even) {
  padding-left: 48px; padding-right: 0;
  border-left: 1px solid var(--awr-line);
}
.awr-psub-benefit__num {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: 20px; color: var(--awr-lavender-2);
  letter-spacing: .04em; padding-top: 2px;
}
.awr-psub-benefit h3 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: 19px; line-height: 1.25;
  margin: 0 0 8px; color: var(--awr-ink);
}
.awr-psub-benefit p { margin: 0; color: var(--awr-ink-soft); font-size: 15px; line-height: 1.6; }
@media (max-width: 880px) {
  .awr-psub-benefits__grid { grid-template-columns: 1fr; }
  .awr-psub-benefit, .awr-psub-benefit:nth-child(even) { padding: 28px 0; border-left: 0; }
}

/* ===================================================================
   PARTNER-SUBPAGE — Issues-Grid (3 Spalten, für Werkstatt-Streitfälle)
   =================================================================== */
.awr-psub-issues { background: var(--awr-paper); padding: clamp(64px,8vw,112px) 32px; border-top: 1px solid var(--awr-line); }
.awr-psub-issues__inner { max-width: 1500px; margin: 0 auto; }
.awr-psub-issues__head { max-width: 780px; margin-bottom: 56px; }
.awr-psub-issues__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--awr-line);
  border: 1px solid var(--awr-line);
}
.awr-psub-issue { background: var(--awr-paper); padding: 32px 28px; }
.awr-psub-issue-tag {
  display: inline-block;
  font-size: 11px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--awr-ink);
  padding: 4px 10px;
  background: rgba(180,182,200,0.25);
  margin-bottom: 14px;
}
.awr-psub-issue h3 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: 20px; line-height: 1.25;
  color: var(--awr-ink); margin: 0 0 10px;
}
.awr-psub-issue p { font-size: 14.5px; line-height: 1.6; color: var(--awr-ink-soft); margin: 0; }
@media (max-width: 880px) { .awr-psub-issues__grid { grid-template-columns: 1fr; } }

/* ===================================================================
   PARTNER-SUBPAGE — Alert-Sektion (Gutachter Abtretungs-Aufklärung)
   =================================================================== */
.awr-psub-alert {
  background: var(--awr-paper);
  border-top: 1px solid var(--awr-line);
  padding: clamp(64px,8vw,112px) 32px;
  position: relative;
}
.awr-psub-alert::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0;
  height: 3px;
  background: var(--awr-alert);
}
.awr-psub-alert__inner { max-width: 1100px; margin: 0 auto; }
.awr-psub-alert__eye {
  display: inline-block;
  font-size: 11px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--awr-alert);
  padding: 5px 10px;
  border: 1px solid var(--awr-alert);
  margin-bottom: 18px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.awr-psub-alert__h2 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: clamp(28px,3.4vw,40px);
  line-height: 1.15; color: var(--awr-ink);
  margin: 0 0 18px;
  letter-spacing: -0.01em;
  max-width: 22ch;
}
.awr-psub-alert__h2 em { font-style: italic; color: var(--awr-alert); font-weight: 500; }
.awr-psub-alert__lead { font-size: 18px; line-height: 1.6; color: var(--awr-ink-soft); margin: 0 0 48px; max-width: 680px; }
.awr-psub-alert__cta { margin-top: 24px; }

.awr-psub-steps3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 40px;
}
.awr-psub-step3 {
  background: var(--awr-alert-soft);
  border-left: 3px solid var(--awr-alert);
  padding: 28px 24px;
}
.awr-psub-step3__n {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px; letter-spacing: .14em;
  color: var(--awr-alert);
  margin-bottom: 14px;
  display: flex; justify-content: space-between;
}
.awr-psub-step3__n b { font-weight: 700; }
.awr-psub-step3 h3 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: 19px; line-height: 1.25;
  color: var(--awr-ink); margin: 0 0 10px;
}
.awr-psub-step3 p { font-size: 14px; line-height: 1.6; color: var(--awr-ink-soft); margin: 0; }
@media (max-width: 720px) { .awr-psub-steps3 { grid-template-columns: 1fr; } }

/* "Was uns unterscheidet" — als Box innerhalb der Alert-Sektion */
.awr-psub-diff {
  background: var(--awr-paper);
  border-left: 3px solid var(--awr-ink);
  padding: 32px 36px;
  margin: 40px 0 24px;
}
.awr-psub-diff__lbl {
  display: inline-block;
  font-size: 11px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--awr-ink); margin-bottom: 14px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.awr-psub-diff p { color: var(--awr-ink); font-size: 16px; line-height: 1.7; margin: 0 0 14px; }
.awr-psub-diff p:last-child { margin: 0; }
.awr-psub-diff p strong { color: var(--awr-ink); font-weight: 700; }
.awr-psub-diff p.awr-psub-diff__our {
  padding-top: 14px;
  border-top: 1px solid var(--awr-line);
  margin-top: 18px;
}

/* ===================================================================
   PARTNER-SUBPAGE — Diff-Sektion (Fuhrpark, ruhiger Ton, kein Rot)
   =================================================================== */
.awr-psub-diffsec {
  background: var(--awr-paper);
  border-top: 1px solid var(--awr-line);
  padding: clamp(64px,8vw,112px) 32px;
  position: relative;
}
.awr-psub-diffsec::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0;
  height: 3px;
  background: var(--awr-ink);
}
.awr-psub-diffsec__inner { max-width: 1100px; margin: 0 auto; }
.awr-psub-diffsec__eye {
  display: inline-block;
  font-size: 11px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--awr-ink);
  padding: 5px 10px;
  border: 1px solid var(--awr-ink);
  margin-bottom: 18px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.awr-psub-diffsec__h2 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: clamp(28px,3.4vw,40px);
  line-height: 1.15; color: var(--awr-ink);
  margin: 0 0 18px;
  letter-spacing: -0.01em;
  max-width: 24ch;
}
.awr-psub-diffsec__h2 em { font-style: italic; color: var(--awr-lavender-2); font-weight: 500; }
.awr-psub-diffsec__lead { font-size: 18px; line-height: 1.6; color: var(--awr-ink-soft); margin: 0 0 40px; max-width: 680px; }

.awr-psub-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--awr-line);
}
.awr-psub-compare__col { padding: 28px 28px 32px; }
.awr-psub-compare__col + .awr-psub-compare__col { border-left: 1px solid var(--awr-line); }
.awr-psub-compare__col h4 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: 18px; margin: 0 0 14px;
  color: var(--awr-ink);
}
.awr-psub-compare__lbl {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10.5px; letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--awr-muted);
  margin-bottom: 10px; display: block;
}
.awr-psub-compare__col.is-us { background: rgba(42,49,66,0.06); }
.awr-psub-compare__col.is-us .awr-psub-compare__lbl { color: var(--awr-ink); }
.awr-psub-compare__col ul { margin: 0; padding: 0; list-style: none; }
.awr-psub-compare__col li {
  padding: 10px 0 10px 22px;
  position: relative;
  font-size: 14.5px; line-height: 1.55;
  color: var(--awr-ink-soft);
  border-top: 1px dotted var(--awr-line);
}
.awr-psub-compare__col li:first-child { border-top: 0; padding-top: 4px; }
.awr-psub-compare__col li::before {
  content: "–"; position: absolute; left: 0; top: 10px;
  color: var(--awr-lavender-2); font-weight: 700;
}
.awr-psub-compare__col.is-us li::before {
  content: "›"; color: var(--awr-ink);
}
@media (max-width: 720px) {
  .awr-psub-compare { grid-template-columns: 1fr; }
  .awr-psub-compare__col + .awr-psub-compare__col { border-left: 0; border-top: 1px solid var(--awr-line); }
}

/* ===================================================================
   PARTNER-SUBPAGE — Flow (4 Schritte, lavendel-Hintergrund)
   =================================================================== */
.awr-psub-flow { background: var(--awr-lavender); padding: clamp(64px,8vw,112px) 32px; }
.awr-psub-flow__inner { max-width: 1100px; margin: 0 auto; }
.awr-psub-flow__head { text-align: center; margin-bottom: 56px; }
.awr-psub-flow__head .awr-eye { color: var(--awr-ink); }
.awr-psub-flow__head .awr-sec-h2 { margin: 0 auto; max-width: 24ch; }
.awr-psub-flow__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  counter-reset: fs;
}
.awr-psub-flow-step {
  background: var(--awr-paper);
  padding: 28px 22px;
  counter-increment: fs;
}
.awr-psub-flow-step__n {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: 30px; color: var(--awr-lavender-2);
  line-height: 1; margin-bottom: 14px;
}
.awr-psub-flow-step__n::before { content: "0" counter(fs); }
.awr-psub-flow-step h4 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: 17px; line-height: 1.25;
  color: var(--awr-ink); margin: 0 0 8px;
}
.awr-psub-flow-step p { font-size: 13.5px; line-height: 1.55; color: var(--awr-ink-soft); margin: 0; }
@media (max-width: 880px) { .awr-psub-flow__steps { grid-template-columns: 1fr; } }

/* ===================================================================
   PARTNER-SUBPAGE — CTA-Footer (dunkler Block)
   =================================================================== */
.awr-psub-ctafoot { background: var(--awr-ink); color: #fff; padding: clamp(64px,8vw,112px) 32px; }
.awr-psub-ctafoot__inner { max-width: 900px; margin: 0 auto; text-align: center; }
.awr-psub-ctafoot h2 {
  font-family: 'Quicksand', sans-serif; font-weight: 500;
  font-size: clamp(28px,3.4vw,44px); line-height: 1.15;
  margin: 0 0 18px; color: #fff;
}
.awr-psub-ctafoot h2 em { font-style: italic; color: var(--awr-lavender); font-weight: 500; }
.awr-psub-ctafoot p { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.8); margin: 0 0 36px; }
.awr-psub-ctafoot__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Button-Aliasse für die hellen / Ghost-Light Varianten (im dunklen CTA-Block) */
.awr-btn--light { background: var(--awr-lavender); color: var(--awr-ink); border-color: var(--awr-lavender); }
.awr-btn--light:hover { background: #fff; border-color: #fff; }
.awr-btn--ghost-light { background: transparent; color: #fff; border-color: rgba(255,255,255,0.6); }
.awr-btn--ghost-light:hover { background: #fff; color: var(--awr-ink); border-color: #fff; }

/* "Anfechtbar"-Button für die Abtretung-Alert-Sektion */
.awr-btn--alert { background: var(--awr-alert); color: #fff; border-color: var(--awr-alert); }
.awr-btn--alert:hover { background: transparent; color: var(--awr-alert); }


/* ===================================================================
   LEGAL — Impressum & Datenschutz (lange Text-Layouts)
   =================================================================== */
.awr-legal {
  background: var(--awr-paper);
  padding: clamp(40px, 5vw, 72px) 32px clamp(72px, 9vw, 112px);
}
.awr-legal__inner {
  max-width: 780px;
  margin: 0 auto;
}
.awr-legal__h1 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: clamp(34px, 4.4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  margin: 0 0 40px;
  color: var(--awr-ink);
}
.awr-legal__intro {
  font-size: 17px;
  line-height: 1.65;
  color: var(--awr-ink-soft);
  margin: 0 0 40px;
}
.awr-legal h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.25;
  color: var(--awr-ink);
  margin: 44px 0 12px;
  letter-spacing: -0.005em;
}
.awr-legal h2:first-of-type { margin-top: 0; }
.awr-legal h3 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
  color: var(--awr-ink);
  margin: 24px 0 8px;
}
.awr-legal p {
  margin: 0 0 16px;
  color: var(--awr-ink-soft);
  font-size: 15.5px;
  line-height: 1.75;
}
.awr-legal ul {
  margin: 0 0 16px;
  padding-left: 22px;
  color: var(--awr-ink-soft);
  font-size: 15.5px;
  line-height: 1.75;
}
.awr-legal ul li { margin-bottom: 6px; }
.awr-legal address {
  font-style: normal;
  margin: 0 0 24px;
  padding: 20px 24px;
  background: var(--awr-bg);
  border-left: 3px solid var(--awr-lavender);
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--awr-ink);
}
.awr-legal address a {
  color: var(--awr-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--awr-lavender);
}
.awr-legal address a:hover { border-color: var(--awr-ink); }
.awr-legal a.awr-ext {
  color: var(--awr-ink-soft);
  text-decoration: none;
  border-bottom: 1px dotted var(--awr-lavender-2);
  word-break: break-all;
}
.awr-legal a.awr-ext:hover {
  color: var(--awr-ink);
  border-color: var(--awr-ink);
}
.awr-legal a.awr-contact-link {
  color: var(--awr-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--awr-lavender-2);
}
.awr-legal a.awr-contact-link:hover { border-color: var(--awr-ink); }
