/* =========================================================
   WARTUNG & PFLEGE (Phase E1) – /leistungen/wartung-service/
   Baut auf home-v2.css, motion.css und service-v2.css auf (Master-Layout).
   Eigene Komponenten mit Präfix .mr-wt-*.
   Eigene Note: Status-Thema mit ruhigem Grün (--wt-ok) für „in Ordnung“
   und gedämpftem Bernstein (--wt-wait) für „ungeprüft / wird geprüft“.
   Regeln: keine dekorativen Pfeile, keine Unterstreichung bei UI-Links (siehe layout.css).
========================================================= */

.mr-wt-section,
.mr-wt-hero {
  --wt-ok: #62dfa5;
  --wt-ok-soft: rgba(98, 223, 165, .1);
  --wt-ok-line: rgba(98, 223, 165, .34);
  --wt-wait: #f0c36e;
  --wt-wait-soft: rgba(240, 195, 110, .12);
  --wt-panel: linear-gradient(165deg, rgba(19, 28, 52, .94), rgba(9, 14, 28, .97));
  --wt-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* ---------- Section-Rhythmus ---------- */

.mr-wt-scope.e-con,
.mr-wt-pricing.e-con,
.mr-wt-process.e-con {
  background:
    radial-gradient(circle at 8% 0%, rgba(98,223,165,.06), transparent 38%),
    radial-gradient(circle at 94% 100%, rgba(47,124,255,.09), transparent 42%),
    var(--mr-bg-soft);
  border-block: 1px solid rgba(255,255,255,.05);
}

.mr-wt-faq.mr-sv-faq.e-con { background: var(--mr-bg-soft); }

.mr-wt-section p,
.mr-wt-hero p { margin-block: 0; }

/* Checkliste mit grünem Haken (mehrfach genutzt) */
.mr-wt-fit__list li::before,
.mr-wt-group__list li::before,
.mr-wt-base__list li::before,
.mr-wt-plan__list li::before,
.mr-wt-side__list li::before,
.mr-wt-person__facts li::before,
.mr-wt-final__checks li::before {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  margin-top: .18em;
  background-color: var(--wt-ok);
  -webkit-mask: var(--wt-ico-check) center / contain no-repeat;
  mask: var(--wt-ico-check) center / contain no-repeat;
}

/* =========================================================
   HERO + SIGNATURE: Website-Status
========================================================= */

@media (min-width: 1025px) {
  .mr-wt-hero.mr-sv-hero .mr-hv2-hero__inner.e-con {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    gap: clamp(40px, 5vw, 88px);
  }
}

.mr-wt-hero .mr-hv2-h1 .elementor-heading-title { max-width: 14em; }

.mr-wt-hero__visual.e-con { --align-items: stretch; --container-widget-width: 100%; }
.mr-wt-status-wrap.elementor-widget { width: 100%; }

.mr-wt-status {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(98,223,165,.12), transparent 46%),
    radial-gradient(circle at 0% 100%, rgba(47,124,255,.16), transparent 50%),
    var(--wt-panel);
  box-shadow: 0 30px 80px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06);
}

.mr-wt-status__bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--hv2-line);
  background: rgba(255,255,255,.025);
}

.mr-wt-status__dots { display: inline-flex; gap: 6px; flex: none; }
.mr-wt-status__dots i { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.16); }

.mr-wt-status__site {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: var(--hv2-text);
  font-size: .86rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mr-wt-status__site-icon { display: inline-flex; flex: none; color: var(--hv2-muted); }

.mr-wt-status__tag {
  flex: none;
  padding: 4px 10px;
  border: 1px dashed rgba(255,255,255,.24);
  border-radius: 999px;
  color: var(--hv2-muted);
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.3;
}

.mr-wt-status__head { padding: clamp(20px, 2.2vw, 28px) clamp(20px, 2.4vw, 30px) 0; }

.mr-wt-status__title {
  color: var(--hv2-muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mr-wt-status__summary {
  margin-top: 8px !important;
  color: #fff;
  font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem);
  font-weight: 700;
  line-height: 1.35;
}

.mr-wt-status__meter {
  height: 6px;
  margin-top: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  overflow: hidden;
}

.mr-wt-status__meter span {
  display: block;
  width: var(--wt-progress, 100%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2f7cff, var(--wt-ok));
  transition: width 700ms cubic-bezier(.22, 1, .36, 1);
}

.mr-wt-status__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: clamp(18px, 2vw, 24px) clamp(16px, 2vw, 24px) !important;
  list-style: none;
}

.mr-wt-check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 13px 14px;
  border: 1px solid var(--hv2-line);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  transition: border-color 500ms ease, background-color 500ms ease, opacity 500ms ease;
}

.mr-wt-check:hover { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.05); }

.mr-wt-check__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(143,182,255,.22);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(47,124,255,.2), rgba(124,60,255,.16));
  color: #b9d0ff;
  transition: color 500ms ease, border-color 500ms ease, background 500ms ease;
}

.mr-wt-check__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.mr-wt-check__text strong { color: #fff; font-size: .98rem; font-weight: 700; line-height: 1.3; }
.mr-wt-check__text > span { color: var(--hv2-muted); font-size: .86rem; line-height: 1.45; }

.mr-wt-check__state {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 11px;
  border: 1px solid var(--wt-ok-line);
  border-radius: 999px;
  background: var(--wt-ok-soft);
  color: var(--wt-ok);
  font-size: .8rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
  transition: color 500ms ease, border-color 500ms ease, background-color 500ms ease;
}

.mr-wt-check__dot {
  position: relative;
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 3px rgba(98,223,165,.18);
}

/* Zustand: ungeprüft */
.mr-wt-check[data-state="pending"] { opacity: .72; }
.mr-wt-check[data-state="pending"] .mr-wt-check__state { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: var(--hv2-muted); }
.mr-wt-check[data-state="pending"] .mr-wt-check__dot { background: transparent; border: 1.5px solid currentColor; box-shadow: none; }

/* Zustand: wird geprüft */
.mr-wt-check[data-state="checking"] { border-color: rgba(240,195,110,.3); }
.mr-wt-check[data-state="checking"] .mr-wt-check__state { border-color: rgba(240,195,110,.36); background: var(--wt-wait-soft); color: var(--wt-wait); }
.mr-wt-check[data-state="checking"] .mr-wt-check__dot { background: transparent; border: 1.5px solid currentColor; border-top-color: transparent; box-shadow: none; animation: mr-wt-spin 900ms linear infinite; }

/* Zustand: in Ordnung */
.mr-wt-check[data-state="ok"] .mr-wt-check__icon { border-color: var(--wt-ok-line); background: linear-gradient(135deg, rgba(98,223,165,.16), rgba(47,124,255,.14)); color: var(--wt-ok); }

@keyframes mr-wt-spin { to { transform: rotate(360deg); } }

.mr-wt-status__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  padding: 0 clamp(20px, 2.4vw, 30px) clamp(18px, 2vw, 24px);
}

.mr-wt-status__note { color: var(--hv2-muted); font-size: .8rem; line-height: 1.45; flex: 1 1 220px; }

.mr-wt-status__replay {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: #fff;
  font: inherit;
  font-size: .86rem;
  font-weight: 650;
  cursor: pointer;
  transition: border-color var(--mr-transition), background-color var(--mr-transition), transform var(--mr-transition);
}

.mr-wt-status__replay[hidden] { display: none; }
.mr-wt-status__replay:hover,
.mr-wt-status__replay:focus-visible { border-color: var(--wt-ok-line); background: var(--wt-ok-soft); transform: translateY(-1px); }
.mr-wt-status__replay:focus-visible { outline: 2px solid var(--wt-ok); outline-offset: 3px; }
.mr-wt-status__replay:disabled { opacity: .5; cursor: default; transform: none; }

@media (max-width: 600px) {
  .mr-wt-status { border-radius: 22px; }
  .mr-wt-status__tag { display: none; }
  .mr-wt-status__list { gap: 10px; }
  .mr-wt-check {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "icon text" "icon state";
    align-items: center;
    gap: 6px 12px;
    padding: 12px 14px;
  }
  .mr-wt-check__icon { grid-area: icon; width: 36px; height: 36px; border-radius: 10px; }
  .mr-wt-check__text { grid-area: text; }
  .mr-wt-check__text > span { display: none; }
  .mr-wt-check__state { grid-area: state; justify-self: start; }
}

/* =========================================================
   NACH DEM LAUNCH: Bausteine, häufige Situationen, Einordnung
========================================================= */

.mr-wt-parts-wrap { margin-bottom: clamp(20px, 2.4vw, 28px) !important; }

.mr-wt-parts__label,
.mr-wt-fit__title,
.mr-wt-base__title,
.mr-wt-side__kicker {
  color: var(--hv2-muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.mr-wt-parts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0 !important;
  list-style: none;
}

.mr-wt-parts li {
  margin: 0;
  padding: 7px 14px;
  border: 1px solid var(--hv2-line);
  border-radius: 999px;
  background: rgba(255,255,255,.03);
  color: #e3e9f7;
  font-size: .9rem;
  line-height: 1.3;
}

.mr-wt-risks.e-con { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mr-wt-risk.e-con { --justify-content: flex-start; }

.mr-wt-risk__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--wt-wait);
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.3;
}

.mr-wt-risk__tag::before { content: ""; width: 7px; height: 7px; border: 1.5px solid currentColor; border-radius: 50%; }
.mr-wt-risk .mr-hv2-h3 { margin-top: 14px !important; }
.mr-wt-risk .mr-hv2-card__text { margin-top: 8px !important; }

.mr-wt-issue__after.e-con {
  --display: grid;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: var(--hv2-gap);
  align-items: stretch;
  margin-top: clamp(24px, 3vw, 36px);
}

.mr-wt-honest.mr-sv-note.mr-hv2-note { margin-top: 0 !important; height: 100%; }

.mr-wt-fit {
  padding: clamp(20px, 2.2vw, 26px);
  border: 1px solid var(--wt-ok-line);
  border-radius: var(--hv2-radius);
  background: linear-gradient(160deg, rgba(98,223,165,.07), rgba(255,255,255,.02));
}

.mr-wt-fit__list {
  display: grid;
  gap: 9px;
  margin: 12px 0 0;
  padding: 0 !important;
  list-style: none;
}

.mr-wt-fit__list li { display: flex; align-items: flex-start; gap: 10px; margin: 0; color: #e3e9f7; font-size: .95rem; line-height: 1.45; }

@media (max-width: 1099px) {
  .mr-wt-risks.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .mr-wt-issue__after.e-con { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 600px) {
  .mr-wt-risks.e-con { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   LEISTUNGSUMFANG: vier Gruppen
========================================================= */

.mr-wt-groups.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mr-wt-group.e-con { --justify-content: flex-start; gap: 18px; }
.mr-wt-group.e-con:hover { transform: translateY(-2px); }

.mr-wt-group__head.e-con {
  --flex-direction: row;
  --align-items: flex-start;
  --column-gap: 16px;
  --flex-wrap: nowrap;
}

.mr-wt-group__icon { flex: none; width: auto !important; }
.mr-wt-group__icon p { margin: 0; line-height: 0; }
.mr-wt-group__intro.e-con { min-width: 0; }
.mr-wt-group .mr-hv2-h3 { margin-top: 2px !important; }
.mr-wt-group .mr-hv2-card__text { margin-top: 6px !important; }

.mr-wt-group__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--hv2-line);
  list-style: none;
}

.mr-wt-group__list li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px 10px;
  margin: 0;
  color: #e3e9f7;
  font-size: .95rem;
  line-height: 1.45;
}

.mr-wt-group__list li::before { margin-right: 0; }

.mr-wt-group__tag {
  align-self: center;
  padding: 2px 9px;
  border: 1px solid rgba(143,182,255,.28);
  border-radius: 999px;
  color: #b9d0ff;
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}

.mr-wt-legend { margin-top: 18px !important; }
.mr-wt-legend p { color: var(--hv2-muted); font-size: .9rem; line-height: 1.5; }

@media (max-width: 900px) {
  .mr-wt-groups.e-con { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   SUPPORT & ERNSTFALL
   Links drei Schritte mit ruhiger Verbindungslinie (Blau → Violett, wie im übrigen System),
   rechts eine kompakte Ansprechpartner-Karte, unten bündig mit den Schritten.
========================================================= */

.mr-wt-support__grid.e-con {
  --display: grid;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
}

.mr-wt-support__content.e-con { --gap: 0; }
.mr-wt-support__content .mr-hv2-text { margin-top: 18px; max-width: 640px; }

.mr-wt-steps-wrap { margin-top: 32px !important; }

.mr-wt-steps {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 !important;
  list-style: none;
  counter-reset: wt-step;
}

.mr-wt-steps li {
  --wt-step-size: 38px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: var(--wt-step-size);
  margin: 0;
  padding: 7px 0 26px calc(var(--wt-step-size) + 20px);
  counter-increment: wt-step;
}

.mr-wt-steps li:last-child { padding-bottom: 0; }

/* Nummer: Verlaufsrahmen Blau → Violett, dunkler Kern */
.mr-wt-steps li::before {
  content: counter(wt-step);
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: var(--wt-step-size);
  height: var(--wt-step-size);
  border: 1px solid transparent;
  border-radius: 50%;
  background:
    linear-gradient(145deg, #121b36, #0b1122) padding-box,
    linear-gradient(135deg, #2f7cff, #7c3cff 60%, #22d3ee) border-box;
  color: #fff;
  font-size: .92rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 5px var(--mr-bg, #070b16), 0 0 22px rgba(47,124,255,.22);
}

/* Verbindung je Schritt: von unterhalb der Nummer bis zur nächsten Nummer */
.mr-wt-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: calc(var(--wt-step-size) / 2 - 1px);
  top: calc(var(--wt-step-size) + 8px);
  bottom: 8px;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(47,124,255,.55), rgba(124,60,255,.35));
  pointer-events: none;
}

.mr-wt-steps strong { color: #fff; font-size: 1.05rem; font-weight: 700; line-height: 1.35; }
.mr-wt-steps span { color: var(--hv2-text); font-size: .95rem; line-height: 1.55; max-width: 520px; }

/* Ansprechpartner-Karte */
.mr-wt-person.mr-hv2-card.e-con {
  --justify-content: flex-start;
  --gap: 0;
  gap: 0;
  width: 100%;
  max-width: 440px;
  justify-self: stretch;
  padding: clamp(22px, 2.2vw, 28px);
  border-color: rgba(143,182,255,.18);
  background:
    radial-gradient(circle at 0% 0%, rgba(47,124,255,.12), transparent 48%),
    radial-gradient(circle at 100% 100%, rgba(124,60,255,.1), transparent 50%),
    var(--wt-panel);
}

.mr-wt-person__top.e-con {
  --flex-direction: row;
  --align-items: center;
  --column-gap: 14px;
  --flex-wrap: nowrap;
}

.mr-wt-person__photo { flex: none; width: auto !important; }

.mr-wt-person__photo img {
  display: block;
  width: 60px;
  height: 60px;
  object-fit: cover;
  object-position: 50% 18%;
  border: 1px solid transparent;
  border-radius: 50%;
  background: linear-gradient(135deg, #2f7cff, #7c3cff) border-box;
  box-shadow: 0 0 0 4px rgba(47,124,255,.1);
}

.mr-wt-person__name { flex: 1 1 0; min-width: 0; }
.mr-wt-person__name p,
.mr-wt-final__name p { display: flex; flex-direction: column; gap: 2px; line-height: 1.35; }
.mr-wt-person__name strong,
.mr-wt-final__name strong { color: #fff; font-size: 1.08rem; font-weight: 700; }
.mr-wt-person__name span,
.mr-wt-final__name span { color: var(--hv2-muted); font-size: .9rem; }

.mr-wt-person__text.mr-hv2-card__text { margin-top: 16px !important; }
.mr-wt-person__text p { color: #e3e9f7; font-size: .98rem; line-height: 1.55; }

.mr-wt-person__facts-wrap { margin-top: 16px !important; }

.mr-wt-person__facts {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--hv2-line);
  list-style: none;
}

.mr-wt-person__facts li { display: flex; align-items: flex-start; gap: 10px; margin: 0; color: #e3e9f7; font-size: .93rem; line-height: 1.45; }

/* Google-Bewertung: kompakt, originales G, ohne Unterstreichung */
.mr-wt-person__rating { margin-top: 18px !important; }
.mr-wt-person__rating p { margin: 0; }
/* Pill selbst: zentrale Komponente in layout.css (Phase Q2.3) */

@media (max-width: 1024px) {
  .mr-wt-support__grid.e-con { grid-template-columns: minmax(0, 1fr); gap: 36px; align-items: start; }
  .mr-wt-person.mr-hv2-card.e-con { max-width: 560px; justify-self: start; }
}

@media (max-width: 480px) {
  .mr-wt-steps li { --wt-step-size: 34px; padding-left: calc(var(--wt-step-size) + 16px); padding-top: 5px; }
  .mr-wt-steps li::before { font-size: .86rem; }
}

/* =========================================================
   PAKETE: Basis-Leiste + drei Betreuungsstufen
   Desktop: Subgrid, damit Kopf, Preis, Beschreibung, Liste und CTA
   in allen drei Karten auf gleicher Höhe liegen.
========================================================= */

.mr-wt-base-wrap.elementor-widget { width: 100%; }

.mr-wt-base {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr) minmax(0, .85fr);
  gap: clamp(18px, 2.4vw, 36px);
  align-items: start;
  padding: clamp(20px, 2.4vw, 30px);
  border: 1px solid var(--hv2-line);
  border-radius: var(--hv2-radius);
  background: rgba(255,255,255,.025);
}

.mr-wt-base__title { color: var(--wt-ok); }
.mr-wt-base__text { margin-top: 8px !important; color: var(--hv2-text); font-size: .95rem; line-height: 1.5; }

.mr-wt-base__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.3;
}

.mr-wt-base__incl {
  padding: 2px 9px;
  border-radius: 999px;
  background: rgba(47,124,255,.18);
  color: #b9d0ff;
  font-size: .76rem;
  font-weight: 650;
}

.mr-wt-base__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
  margin: 12px 0 0;
  padding: 0 !important;
  list-style: none;
}

.mr-wt-base__group.is-host .mr-wt-base__list { grid-template-columns: minmax(0, 1fr); }

.mr-wt-base__group.is-host {
  padding-left: clamp(18px, 2.4vw, 36px);
  border-left: 1px dashed rgba(143,182,255,.3);
}

.mr-wt-base__list li { display: flex; align-items: flex-start; gap: 9px; margin: 0; color: #e3e9f7; font-size: .93rem; line-height: 1.4; }

.mr-wt-plans-wrap { margin-top: clamp(28px, 3.4vw, 44px) !important; }

.mr-wt-plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(16px, 1.8vw, 24px);
  row-gap: 0;
  margin: 0;
  padding: 14px 0 0 !important;
  list-style: none;
  align-items: stretch;
}

.mr-wt-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: clamp(24px, 2.4vw, 32px) clamp(22px, 2.2vw, 30px);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012) 45%),
    rgba(12,18,36,.92);
  transition: transform var(--mr-transition), border-color var(--mr-transition), box-shadow var(--mr-transition);
}

.mr-wt-plan:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.16); box-shadow: 0 24px 60px rgba(0,0,0,.32); }

.mr-wt-plan.is-featured {
  border-color: transparent;
  background:
    radial-gradient(circle at 0% 0%, rgba(98,223,165,.12), transparent 50%) padding-box,
    linear-gradient(180deg, rgba(27,42,78,.96), rgba(13,19,38,.98)) padding-box,
    linear-gradient(160deg, rgba(98,223,165,.65), rgba(47,124,255,.45) 50%, rgba(124,60,255,.5)) border-box;
  box-shadow: 0 28px 70px rgba(0,0,0,.36), 0 0 60px rgba(98,223,165,.07);
}

.mr-wt-plan.is-featured:hover { border-color: transparent; box-shadow: 0 32px 80px rgba(0,0,0,.42), 0 0 70px rgba(98,223,165,.11); }

.mr-wt-plan p, .mr-wt-plan h3 { margin: 0; }

.mr-wt-plan__badge {
  position: absolute;
  top: 0;
  left: clamp(22px, 2.2vw, 30px);
  transform: translateY(-50%);
  padding: 5px 12px;
  border: 1px solid var(--wt-ok-line);
  border-radius: 999px;
  background: #0f2420;
  color: var(--wt-ok);
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}

.mr-wt-plan__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.mr-wt-plan__label {
  color: var(--hv2-muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.mr-wt-plan__level { display: inline-flex; gap: 4px; flex: none; }
.mr-wt-plan__level i { width: 16px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.12); }
.mr-wt-plan__level i.is-on { background: linear-gradient(90deg, #2f7cff, var(--wt-ok)); }

.mr-wt-plan__name {
  margin-top: 12px !important;
  color: #fff;
  font-size: clamp(1.4rem, 1.2rem + .5vw, 1.65rem);
  font-weight: 750;
  letter-spacing: -.01em;
  line-height: 1.15;
}

.mr-wt-plan__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 18px !important; }

.mr-wt-plan__price strong {
  color: #fff;
  font-size: clamp(2.5rem, 2.1rem + 1.2vw, 3.1rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.035em;
  line-height: 1;
  white-space: nowrap;
}

.mr-wt-plan__price span { color: var(--hv2-text); font-size: 1rem; font-weight: 500; white-space: nowrap; }

.mr-wt-plan__year {
  justify-self: start;
  align-self: start;
  width: fit-content;
  max-width: 100%;
  margin-top: 10px !important;
  color: var(--wt-ok);
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.4;
}

.mr-wt-plan__desc {
  margin-top: 18px !important;
  padding-top: 18px;
  border-top: 1px solid var(--hv2-line);
  color: var(--hv2-text);
  font-size: .96rem;
  line-height: 1.6;
}

.mr-wt-plan__inc {
  margin-top: 20px !important;
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mr-wt-plan__list { display: grid; align-content: start; gap: 10px; margin: 12px 0 0; padding: 0 !important; list-style: none; }
.mr-wt-plan__list li { display: flex; align-items: flex-start; gap: 10px; margin: 0; color: #dfe6f5; font-size: .95rem; line-height: 1.45; }

.mr-wt-plan__action { margin-top: 26px !important; align-self: end; width: 100%; }

.mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: #fff;
  font-size: .98rem;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  text-decoration-line: none;
  transition: transform var(--mr-transition), border-color var(--mr-transition), background-color var(--mr-transition), box-shadow var(--mr-transition);
}

.mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta:hover,
.mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta:focus-visible {
  border-color: var(--wt-ok-line);
  background: var(--wt-ok-soft);
  color: #fff;
  transform: translateY(-1px);
  text-decoration: none;
}

.mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta.is-primary {
  border-color: rgba(255,255,255,.16);
  background: var(--mr-gradient-primary);
  box-shadow: 0 16px 40px rgba(47,124,255,.28);
}

.mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta.is-primary:hover,
.mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta.is-primary:focus-visible {
  background: var(--mr-gradient-primary-hover, var(--mr-gradient-primary));
  box-shadow: 0 20px 50px rgba(0,212,255,.24);
}

.mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta:focus-visible { outline: 2px solid var(--wt-ok); outline-offset: 3px; }

@supports (grid-template-rows: subgrid) {
  @media (min-width: 1025px) {
    .mr-wt-plan {
      display: grid;
      grid-row: span 8;
      grid-template-rows: subgrid;
      row-gap: 0;
    }
  }
}

.mr-wt-addons-wrap { margin-top: clamp(24px, 3vw, 32px) !important; }

.mr-wt-addons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--hv2-gap);
  margin: 0;
  padding: 0 !important;
  list-style: none;
}

.mr-wt-addons li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 16px 20px;
  border: 1px dashed rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(255,255,255,.02);
}

.mr-wt-addons strong { color: #fff; font-size: .98rem; font-weight: 700; line-height: 1.35; }
.mr-wt-addons span { color: var(--hv2-text); font-size: .93rem; line-height: 1.5; }

.mr-wt-plans__vat-wrap { margin-top: 20px !important; }
.mr-wt-plans__vat { color: var(--hv2-muted); font-size: .86rem; line-height: 1.5; text-align: center; }

.mr-wt-plans__phone.mr-sv-final__phone-wrap { margin-top: 18px !important; padding-top: 18px; }
.mr-wt-plans__phone .mr-sv-final__phone { justify-content: center; align-items: baseline; }
.mr-hv2 .mr-wt-plans__phone.mr-sv-final__phone-wrap .mr-sv-final__phone a { font-size: 1.3rem; }

@media (max-width: 1024px) {
  .mr-wt-base { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .mr-wt-base__head { grid-column: 1 / -1; }
  .mr-wt-base__group:not(.is-host) { padding-right: 0; }
  .mr-wt-plans { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
}

/* Tablet: Paket als Querformat, links Kopf, Preis und CTA, rechts Leistungen */
@media (min-width: 768px) and (max-width: 1024px) {
  .mr-wt-plan {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto auto 1fr;
    column-gap: clamp(28px, 4vw, 48px);
    align-content: start;
  }
  .mr-wt-plan > :not(.mr-wt-plan__badge) { grid-column: 1; }
  .mr-wt-plan > .mr-wt-plan__inc { grid-column: 2; grid-row: 1; margin-top: 0 !important; }
  .mr-wt-plan > .mr-wt-plan__list { grid-column: 2; grid-row: 2 / -1; }
  .mr-wt-plan > .mr-wt-plan__action { grid-column: 1; grid-row: 6; }
}

@media (max-width: 767px) {
  .mr-wt-base { grid-template-columns: minmax(0, 1fr); }
  .mr-wt-base__group.is-host { padding: 16px 0 0; border-left: 0; border-top: 1px dashed rgba(143,182,255,.3); }
  .mr-wt-addons { grid-template-columns: minmax(0, 1fr); }
  .mr-wt-plan { border-radius: 22px; }
}

@media (max-width: 480px) {
  .mr-wt-base__list { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   ABGRENZUNG: Wartung & Pflege / Webhosting
========================================================= */

.mr-wt-compare__grid.e-con {
  --display: grid;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--hv2-gap);
}

.mr-wt-side.e-con { --justify-content: flex-start; gap: 0; position: relative; overflow: hidden; }

.mr-wt-side.e-con::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--wt-ok), rgba(98,223,165,0));
}

.mr-wt-side--host.e-con::after { background: linear-gradient(90deg, #2f7cff, rgba(47,124,255,0)); }

.mr-wt-side__kicker {
  display: inline-flex;
  padding: 4px 10px;
  border: 1px solid var(--wt-ok-line);
  border-radius: 999px;
  color: var(--wt-ok);
  font-size: .72rem;
}

.mr-wt-side--host .mr-wt-side__kicker { border-color: rgba(143,182,255,.3); color: #b9d0ff; }

.mr-wt-side .mr-hv2-h3 { margin-top: 14px !important; }
.mr-wt-side .mr-hv2-card__text { margin-top: 8px !important; }
.mr-wt-side .mr-hv2-card__text p + p { margin-top: 8px !important; }
.mr-wt-side__def { color: #fff; font-weight: 650; }

.mr-wt-side__list-wrap { margin-top: 18px !important; }

.mr-wt-side__list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--hv2-line);
  list-style: none;
}

.mr-wt-side__list li { display: flex; align-items: flex-start; gap: 10px; margin: 0; color: #e3e9f7; font-size: .95rem; line-height: 1.45; }
.mr-wt-side--host .mr-wt-side__list li::before { background-color: #8fb6ff; }

.mr-wt-side__price-wrap,
.mr-wt-side__link { margin-top: auto !important; padding-top: 20px; }

.mr-wt-side__price { color: var(--wt-ok); font-size: .95rem; font-weight: 650; line-height: 1.4; }

.mr-wt-combo.mr-sv-note.mr-hv2-note { border-color: rgba(143,182,255,.24); }

@media (max-width: 767px) {
  .mr-wt-compare__grid.e-con { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   ABLAUF: vier Schritte
========================================================= */

.mr-wt-flow.e-con { position: relative; grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Verbindungslinie (überschreibt Elementors Overlay-Pseudo-Element .e-con::before) */
.mr-wt-flow.e-con::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: calc(clamp(24px, 2.4vw, 32px) + 20px);
  width: auto;
  height: 1px;
  opacity: 1;
  mix-blend-mode: normal;
  transition: none;
  background: linear-gradient(90deg, rgba(47,124,255,.5), rgba(98,223,165,.55));
  pointer-events: none;
}

.mr-wt-flow__step.e-con { --justify-content: flex-start; background: var(--mr-bg-soft, #0b1122); }
.mr-wt-flow__step.e-con:hover { transform: translateY(-2px); }

.mr-wt-flow__num span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--wt-ok-line);
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(98,223,165,.16), rgba(47,124,255,.18));
  color: #fff;
  font-size: .88rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 6px var(--mr-bg-soft, #0b1122);
}

.mr-wt-flow__step .mr-hv2-h3 { margin-top: 18px !important; }
.mr-wt-flow__step .mr-hv2-card__text { margin-top: 8px !important; }

@media (max-width: 1099px) {
  .mr-wt-flow.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mr-wt-flow.e-con::before { display: none; }
}

@media (max-width: 600px) {
  .mr-wt-flow.e-con { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   ABSCHLUSS: Gespräch links, Ansprechpartner rechts
========================================================= */

.mr-wt-final.e-con { padding-top: clamp(56px, 6vw, 96px); }

.mr-wt-final__panel.mr-hv2-final__panel.e-con {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  padding: clamp(28px, 4.5vw, 64px);
  background:
    radial-gradient(circle at 100% 50%, rgba(98,223,165,.14), transparent 42%) padding-box,
    radial-gradient(circle at 0% 0%, rgba(47,124,255,.22), transparent 45%) padding-box,
    radial-gradient(circle at 40% 100%, rgba(124,60,255,.18), transparent 45%) padding-box,
    linear-gradient(150deg, #101a33, #0a1020) padding-box,
    linear-gradient(135deg, rgba(47,124,255,.4), rgba(124,60,255,.3) 50%, rgba(98,223,165,.45)) border-box;
}

.mr-wt-final__content.e-con { --gap: 0; }
.mr-wt-final__content .mr-hv2-h2 .elementor-heading-title { max-width: 16em; }
.mr-wt-final__content .mr-hv2-text { margin-top: 18px; max-width: 580px; }

.mr-wt-final__checks-wrap { margin-top: 22px !important; }

.mr-wt-final__checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0 !important;
  list-style: none;
}

.mr-wt-final__checks li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 7px 14px 7px 12px;
  border: 1px solid var(--wt-ok-line);
  border-radius: 999px;
  background: var(--wt-ok-soft);
  color: #e3e9f7;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.2;
}

.mr-wt-final__checks li::before { margin-top: 0; width: 14px; height: 14px; }

.mr-wt-final__ctas.e-con { --justify-content: flex-start; margin-top: 28px; }
.mr-wt-final__content .mr-sv-tertiary { margin-top: 14px !important; }

.mr-wt-final__contact.e-con {
  --align-items: center;
  --gap: 0;
  padding: clamp(22px, 2.6vw, 32px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: rgba(10,16,32,.6);
  text-align: center;
}

.mr-wt-final__photo { width: auto !important; }

.mr-wt-final__photo img {
  display: block;
  width: 112px;
  height: 112px;
  object-fit: cover;
  object-position: 50% 18%;
  border: 2px solid var(--wt-ok-line);
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(98,223,165,.07), 0 18px 40px rgba(0,0,0,.4);
}

.mr-wt-final__name { margin-top: 16px !important; }
.mr-wt-final__name p { align-items: center; }

.mr-wt-final__call-wrap {
  width: 100%;
  margin-top: 20px !important;
  padding-top: 18px;
  border-top: 1px solid var(--hv2-line);
}

.mr-wt-final__call { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.mr-wt-final__call span { color: var(--hv2-muted); font-size: .9rem; }

.mr-hv2 .mr-wt-final__call-wrap .mr-wt-final__call a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: #fff;
  font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
  font-weight: 750;
  letter-spacing: -.02em;
  text-decoration: none;
  text-decoration-line: none;
  white-space: nowrap;
  transition: color var(--mr-transition);
}

.mr-hv2 .mr-wt-final__call-wrap .mr-wt-final__call a:hover,
.mr-hv2 .mr-wt-final__call-wrap .mr-wt-final__call a:focus-visible { color: #b9d0ff; }

.mr-hv2 .mr-wt-final__call-wrap .mr-wt-final__call a::before {
  content: "";
  flex: none;
  width: .8em;
  height: .8em;
  background-color: var(--wt-ok);
  -webkit-mask: var(--mr-ico-phone) center / contain no-repeat;
  mask: var(--mr-ico-phone) center / contain no-repeat;
}

@media (max-width: 1024px) {
  .mr-wt-final__panel.mr-hv2-final__panel.e-con {
    grid-template-columns: minmax(0, 1fr);
    padding: clamp(24px, 4vw, 44px) clamp(20px, 4vw, 44px);
    border-radius: 24px;
  }
  .mr-wt-final__contact.e-con {
    --flex-direction: row !important;
    --flex-wrap: wrap;
    --justify-content: flex-start;
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 6px 16px;
    text-align: left;
  }
  .mr-wt-final__photo img { width: 72px; height: 72px; }
  .mr-wt-final__name { flex: 1 1 0; min-width: 0; margin-top: 0 !important; }
  .mr-wt-final__name p { align-items: flex-start; }
  .mr-wt-final__call-wrap { flex: 1 1 100%; margin-top: 12px !important; }
  .mr-wt-final__call { align-items: flex-start; }
}

@media (max-width: 767px) {
  .mr-wt-final__ctas.e-con { width: 100%; }
}

/* =========================================================
   Reduzierte Bewegung: Endzustand sofort, keine Hover-Bewegung
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .mr-wt-check,
  .mr-wt-check__icon,
  .mr-wt-check__state,
  .mr-wt-status__meter span,
  .mr-wt-status__replay,
  .mr-wt-group.e-con,
  .mr-wt-flow__step.e-con,
  .mr-wt-plan,
  .mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta { transition: none; }
  .mr-wt-check[data-state="checking"] .mr-wt-check__dot { animation: none; }
  .mr-wt-status__replay:hover,
  .mr-wt-group.e-con:hover,
  .mr-wt-flow__step.e-con:hover,
  .mr-wt-plan:hover,
  .mr-hv2 .mr-wt-plans-wrap a.mr-wt-plan__cta:hover { transform: none; }
}
