/*
 * Slin's – Komponenten-CSS
 * Werte NUR über Tokens aus theme.json (--wp--preset--*, --wp--custom--*).
 * Bare Werte nur für echte Dimensionen (Breiten, Grid-Tracks, Offsets).
 */

/* ---------- Basis ---------- */

html {
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: clip;
}

:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--wp--preset--color--mint);
  outline-offset: 3px;
  border-radius: var(--wp--custom--radius--sm);
}

:where(.wp-element-button, .wp-block-button__link) {
  transition:
    background-color var(--wp--custom--duration--fast) var(--wp--custom--ease--standard),
    color var(--wp--custom--duration--fast) var(--wp--custom--ease--standard);
}

/* ---------- Header ---------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-block-end: 1px solid rgb(255 255 255 / 0.08);

  & .site-header__brand {
    margin: 0;
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
    font-size: var(--wp--preset--font-size--xl);

    & a {
      color: inherit;
      text-decoration: none;
    }
  }

  & .site-header__phone .wp-block-button__link {
    padding: 0.55em 1.1em;
    border: 1px solid rgb(255 255 255 / 0.35);
    border-radius: var(--wp--custom--radius--pill);
    background: transparent;
    color: var(--wp--preset--color--white);
    font-size: var(--wp--preset--font-size--sm);
  }
}

/* Sprungziele nicht unter dem Sticky-Header verstecken. */
main [id] {
  scroll-margin-top: 4.5rem;
}

/* ---------- Footer ---------- */

.site-footer {
  color: rgb(255 255 255 / 0.7);

  & a {
    color: rgb(255 255 255 / 0.85);
    text-underline-offset: 3px;
  }

  & .site-footer__legal {
    display: flex;
    gap: var(--wp--preset--spacing--sm);
  }
}

/* ---------- Sektionen (Rahmen für alle Patterns) ---------- */

.section {
  --section-pad: var(--wp--preset--spacing--xxl);
  padding-block: var(--section-pad);
  /* alignfull hebt das Root-Padding auf; der Inhalt bekommt den Gutter hier zurück. */
  padding-inline: var(--wp--custom--gutter);
  margin-block: 0;

  /* Flow-Abstände zwischen Sektionen kommen über das Padding, nicht über blockGap. */
  & + .section {
    margin-block-start: 0;
  }
}

/* Inhalt einer Sektion: auf Wide-Breite zentriert, Gutter aus dem Root-Padding. */
.section__inner {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}

.section--dark {
  background-color: var(--wp--preset--color--dark);
  color: var(--wp--preset--color--white);

  & :where(h1, h2, h3, h4) {
    color: var(--wp--preset--color--white);
  }

  & a:where(:not(.wp-element-button)) {
    color: var(--wp--preset--color--white);
  }
}

.section--sage {
  background-color: var(--wp--preset--color--sage);
}

.section--white {
  background-color: var(--wp--preset--color--white);
}

.section--flush-top {
  padding-block-start: 0;
}

/* Gemeinsame Text-Bausteine */

.eyebrow {
  margin: 0;
  font-size: var(--wp--preset--font-size--xs);
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--mint);
}

.lead {
  max-width: var(--wp--custom--measure--sm);
  font-size: var(--wp--preset--font-size--lg);
  line-height: 1.6;
}

.section--dark .lead {
  color: rgb(255 255 255 / 0.82);
}

.intro {
  max-width: var(--wp--custom--measure--sm);
  color: var(--wp--preset--color--muted);
}

.section-head {
  margin-block-end: var(--wp--preset--spacing--lg);

  & > * {
    margin-block: 0;
  }

  & > * + * {
    margin-block-start: var(--wp--preset--spacing--xs);
  }
}

/* Häkchen-Liste (Hero, CTA) */

.checklist {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--xxs) var(--wp--preset--spacing--md);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--wp--preset--font-size--sm);

  & li {
    display: flex;
    align-items: center;
    gap: 0.5em;
  }

  & li::before {
    content: "";
    flex-shrink: 0;
    inline-size: 0.9em;
    block-size: 0.9em;
    background-color: var(--wp--preset--color--mint);
    mask: var(--icon-check) center / contain no-repeat;
  }

  &.is-stacked {
    flex-direction: column;
  }
}

.section--dark .checklist {
  color: rgb(255 255 255 / 0.8);
}

/* Icon-Masken: Farbe kommt aus background-color, Form aus der Maske. */
:root {
  --icon-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='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  --icon-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --icon-chart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m19 9-5 5-4-4-3 3'/%3E%3C/svg%3E");
  --icon-gauge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 14 4-4'/%3E%3Cpath d='M3.34 19a10 10 0 1 1 17.32 0'/%3E%3C/svg%3E");
  --icon-apple: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z'/%3E%3Cpath d='M10 2c1 .5 2 2 2 5'/%3E%3C/svg%3E");
  --icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  --icon-phone: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/* ---------- Pattern: Hero (Text + Bild, randabfallend) ---------- */

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-block-size: min(40rem, 85svh);
  padding: 0;

  & > * {
    margin: 0;
  }
}

.hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: var(--wp--preset--spacing--xxl);
  padding-inline-start: max(
    var(--wp--custom--gutter),
    calc((100vw - var(--wp--style--global--wide-size)) / 2)
  );
  padding-inline-end: var(--wp--preset--spacing--xl);

  & > * {
    margin-block: 0;
  }

  & > * + * {
    margin-block-start: var(--wp--preset--spacing--sm);
  }

  & h1 {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--sm);
  }

  & .wp-block-buttons {
    margin-block-start: var(--wp--preset--spacing--md);
  }
}

.hero__media {
  position: relative;
  min-block-size: 26rem;
  margin: 0;
  background-color: rgb(255 255 255 / 0.06);

  & img {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
}

.hero__badge {
  position: absolute;
  inset-inline-start: var(--wp--preset--spacing--sm);
  inset-block-end: var(--wp--preset--spacing--sm);
  margin: 0;
  padding: 0.75em 1em;
  border-radius: var(--wp--custom--radius--sm);
  background-color: var(--wp--preset--color--sand);
  color: var(--wp--preset--color--ink);
  font-size: var(--wp--preset--font-size--xs);
  line-height: 1.35;

  & strong {
    display: block;
    font-size: var(--wp--preset--font-size--sm);
  }
}

@media (width < 62rem) {
  .hero {
    grid-template-columns: minmax(0, 1fr);
    min-block-size: 0;
  }

  .hero__content {
    padding-inline: var(--wp--custom--gutter);
    padding-block: var(--wp--preset--spacing--xl);
  }
}

/* ---------- Pattern: Karten-Raster ---------- */

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  gap: var(--wp--preset--spacing--sm);

  & > * {
    margin: 0;
  }
}

.card {
  padding: var(--wp--preset--spacing--md);
  border-radius: var(--wp--custom--radius--md);
  background-color: var(--wp--preset--color--white);

  & > * {
    margin-block: 0;
  }

  & > * + * {
    margin-block-start: var(--wp--preset--spacing--xxs);
  }

  & p {
    font-size: var(--wp--preset--font-size--sm);
    color: var(--wp--preset--color--muted);
  }
}

/* ---------- Pattern: Zahlen-Banner ---------- */

.stat {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  align-items: end;
  gap: var(--wp--preset--spacing--md) var(--wp--preset--spacing--xl);
  padding-block-start: var(--wp--preset--spacing--lg);
  border-block-start: 2px solid var(--wp--preset--color--ink);

  & > * {
    margin: 0;
  }
}

.stat__figure {
  & > * {
    margin: 0;
  }

  & .stat__big {
    font-size: var(--wp--preset--font-size--display);
    font-weight: 900;
    font-style: italic;
    line-height: 0.95;
    letter-spacing: -0.02em;
  }

  & .stat__sub {
    font-size: var(--wp--preset--font-size--xxl);
    font-weight: 900;
    font-style: italic;
    line-height: 1.05;
    color: var(--wp--preset--color--muted);
  }
}

.stat__copy {
  font-size: var(--wp--preset--font-size--lg);

  & > * {
    margin-block: 0;
  }

  & > * + * {
    margin-block-start: var(--wp--preset--spacing--xs);
  }

  & .stat__accent {
    font-weight: 700;
    color: var(--wp--preset--color--green);
  }
}

@media (width < 62rem) {
  .stat {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- Pattern: Bild + Zitat (Person) ---------- */

.feature {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--wp--preset--spacing--xl);

  & > * {
    margin: 0;
  }
}

.feature__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--wp--custom--radius--md);

  & img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
}

.feature__quote {
  margin: 0 0 0.6em;
  padding: 0;
  border: 0;

  & p {
    margin: 0;
    font-size: var(--wp--preset--font-size--xxxl);
    font-weight: 900;
    font-style: italic;
    line-height: 1.02;
    text-transform: uppercase;
    hyphens: manual;
    overflow-wrap: break-word;
  }

  & cite {
    display: block;
    margin-block-start: var(--wp--preset--spacing--sm);
    font-style: normal;
    font-weight: 700;
    font-size: var(--wp--preset--font-size--lg);
    color: var(--wp--preset--color--mint);
  }
}

.feature__role {
  margin-block: 0 var(--wp--preset--spacing--md);
  font-size: var(--wp--preset--font-size--sm);
  color: rgb(255 255 255 / 0.7);
}

.facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
  column-gap: var(--wp--preset--spacing--md);

  & > * {
    margin: 0;
    padding-block: var(--wp--preset--spacing--sm);
    border-block-start: 1px solid rgb(255 255 255 / 0.14);
  }

  & > * > * {
    margin: 0;
  }

  & .fact__title {
    margin-block-end: 0.4em;
    font-size: var(--wp--preset--font-size--xs);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--wp--preset--color--mint);
  }

  & .fact__text {
    font-size: var(--wp--preset--font-size--sm);
    color: rgb(255 255 255 / 0.88);
  }
}

@media (width < 62rem) {
  .feature {
    grid-template-columns: minmax(0, 1fr);
  }

  .feature__media {
    aspect-ratio: 4 / 3;
  }
}

/* ---------- Pattern: Icon-Liste ---------- */

.iconlist-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.5fr);
  gap: var(--wp--preset--spacing--lg) var(--wp--preset--spacing--xl);
  align-items: start;

  & > * {
    margin: 0;
  }
}

.iconlist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
  gap: var(--wp--preset--spacing--md) var(--wp--preset--spacing--lg);

  & > * {
    margin: 0;
  }
}

.icon-item {
  position: relative;
  padding-inline-start: 2.25rem;

  & > * {
    margin-block: 0;
  }

  & > * + * {
    margin-block-start: 0.3em;
  }

  &::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0.1em;
    inline-size: 1.375rem;
    block-size: 1.375rem;
    background-color: var(--wp--preset--color--green);
    mask: var(--icon, var(--icon-check)) center / contain no-repeat;
  }

  & p {
    font-size: var(--wp--preset--font-size--sm);
    color: var(--wp--preset--color--muted);
  }
}

.icon--users {
  --icon: var(--icon-users);
}
.icon--checkbox {
  --icon: var(--icon-checkbox);
}
.icon--chart {
  --icon: var(--icon-chart);
}
.icon--gauge {
  --icon: var(--icon-gauge);
}
.icon--apple {
  --icon: var(--icon-apple);
}
.icon--calendar {
  --icon: var(--icon-calendar);
}

@media (width < 62rem) {
  .iconlist-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- Pattern: Schritte ---------- */

.steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  gap: var(--wp--preset--spacing--md) var(--wp--preset--spacing--xl);
  margin-block: var(--wp--preset--spacing--md) var(--wp--preset--spacing--lg);
  counter-reset: step;

  & > * {
    margin: 0;
    counter-increment: step;
  }

  & > * > * {
    margin-block: 0;
  }

  & > * > * + * {
    margin-block-start: 0.4em;
  }

  & > *::before {
    content: counter(step);
    display: block;
    margin-block-end: 0.2em;
    font-size: var(--wp--preset--font-size--xxxxl);
    font-weight: 900;
    font-style: italic;
    line-height: 1;
    color: var(--wp--preset--color--green);
  }

  & p {
    font-size: var(--wp--preset--font-size--sm);
    color: var(--wp--preset--color--muted);
  }
}

/* ---------- Pattern: Stimmen + Bildreihe ---------- */

.section-head--split {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--md);

  & > * + * {
    margin-block-start: 0;
  }
}

.rating {
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 700;

  &::before {
    content: "★★★★★";
    margin-inline-end: 0.5em;
    letter-spacing: 0.04em;
    color: #c08a2e;
  }
}

.quote-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: var(--wp--preset--spacing--md);
  border: 0;
  border-radius: var(--wp--custom--radius--md);
  background-color: var(--wp--preset--color--white);

  & p {
    flex-grow: 1;
    margin: 0;
  }

  & cite {
    margin-block-start: var(--wp--preset--spacing--sm);
    font-style: normal;
    font-size: var(--wp--preset--font-size--xs);
    color: var(--wp--preset--color--muted);

    & strong {
      display: block;
      font-size: var(--wp--preset--font-size--sm);
      color: var(--wp--preset--color--ink);
    }
  }
}

.gallery-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
  gap: var(--wp--preset--spacing--sm);
  margin-block-start: var(--wp--preset--spacing--xl);

  & > * {
    margin: 0;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: var(--wp--custom--radius--md);
  }

  & img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
}

/* ---------- Pattern: FAQ (core/details) ---------- */

.faq {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;

  & > * {
    margin-block: 0;
  }

  & .wp-block-details {
    border-block-end: 1px solid var(--wp--custom--line);

    &:first-of-type {
      border-block-start: 1px solid var(--wp--custom--line);
    }

    & > * {
      margin-block: 0;
    }

    & p {
      padding-block-end: var(--wp--preset--spacing--sm);
      color: var(--wp--preset--color--muted);
    }
  }

  & summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--wp--preset--spacing--sm);
    padding-block: var(--wp--preset--spacing--sm);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--lg);
    cursor: pointer;
    list-style: none;

    &::-webkit-details-marker {
      display: none;
    }

    &::after {
      content: "+";
      flex-shrink: 0;
      font-size: 1.25em;
      line-height: 1;
      color: var(--wp--preset--color--green);
      transition: transform var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
    }
  }

  & [open] > summary::after {
    transform: rotate(45deg);
  }
}

/* ---------- Pattern: CTA mit Formular ---------- */

.cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--wp--preset--spacing--lg) var(--wp--preset--spacing--xl);
  align-items: start;

  & > * {
    margin: 0;
  }
}

.cta__copy {
  & > * {
    margin-block: 0;
  }

  & > * + * {
    margin-block-start: var(--wp--preset--spacing--sm);
  }
}

.direct-call {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--xs);
  margin-block-start: var(--wp--preset--spacing--md) !important;

  & > * {
    margin: 0;
  }

  & figure {
    flex-shrink: 0;
    inline-size: 3.25rem;
    block-size: 3.25rem;
    overflow: hidden;
    border-radius: 50%;
  }

  & img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }

  & p {
    font-weight: 700;
    line-height: 1.3;
  }

  & a {
    color: var(--wp--preset--color--mint) !important;
    font-size: var(--wp--preset--font-size--lg);
  }
}

@media (width < 62rem) {
  .cta {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Formular (inc/form.php) */

.lead-form {
  display: grid;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--md);
  border-radius: var(--wp--custom--radius--lg);
  background-color: var(--wp--preset--color--sand);
  color: var(--wp--preset--color--ink);

  & label:not(.lead-form__consent) {
    display: grid;
    gap: 0.35em;
    font-size: var(--wp--preset--font-size--sm);
    font-weight: 700;
  }

  & :is(input:not([type="checkbox"]), select) {
    inline-size: 100%;
    block-size: 3rem;
    padding-inline: 0.875rem;
    border: 1px solid rgb(19 23 20 / 0.2);
    border-radius: var(--wp--custom--radius--sm);
    background-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--ink);
    font: inherit;
    font-weight: 400;

    &:focus-visible {
      border-color: var(--wp--preset--color--green);
      outline-offset: 1px;
    }
  }

  & select {
    appearance: none;
    padding-inline-end: 2.75rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232e6b47' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    cursor: pointer;
  }

  & .lead-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    font-size: var(--wp--preset--font-size--xs);
    color: var(--wp--preset--color--muted);
    cursor: pointer;

    & input {
      flex-shrink: 0;
      inline-size: 1.125rem;
      block-size: 1.125rem;
      margin: 0.15em 0 0;
      accent-color: var(--wp--preset--color--green);
    }
  }

  & .wp-element-button {
    inline-size: 100%;
    border: 0;
    font-size: var(--wp--preset--font-size--lg);
    cursor: pointer;
  }

  & .lead-form__note {
    margin: 0;
    font-size: var(--wp--preset--font-size--xs);
    text-align: center;
    color: var(--wp--preset--color--muted);
  }

  /* Honeypot: für Menschen unsichtbar, für Bots ein normales Feld. */
  & .lead-form__hp {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
}

.lead-form__message {
  padding: var(--wp--preset--spacing--md);
  border-radius: var(--wp--custom--radius--lg);
  background-color: var(--wp--preset--color--sage);
  color: var(--wp--preset--color--ink);
  font-weight: 700;

  &.is-error {
    background-color: #f9dcd6;
  }
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0s !important;
    animation-duration: 0s !important;
  }
}
