/*
 * Das Aussehen der eigenen Klassen, als Datei.
 *
 * ERZEUGT von landingpage/klassenblatt.py aus denselben
 * Klassendefinitionen, die ins Bricks-Paket gehen. Nicht von Hand
 * ändern: Beim nächsten Bau ist die Änderung weg.
 *
 * Warum diese Datei existiert, steht im Kopf von klassenblatt.py.
 * Kurz: Ob Bricks die globalen Klassen beim Import anlegt, hat sich
 * als der unzuverlässigste Teil der ganzen Kette erwiesen. Das
 * Aussehen hängt jetzt nicht mehr daran.
 *
 * 97 Klassen.
 */

.abschnittsgrund{width:100%}
.abschnittsgrund { --karte-grund: var(--surface-raised); }
.abschnittsgrund--orange{background-color:var(--orange-soft)}
.abschnittsgrund--sand{background-color:var(--sand)}
.abschnittsgrund--stein{background-color:var(--stone)}
.abschnittsgrund--teal{background-color:var(--teal-soft)}
.abschnittstitel{width:100%;font-size:var(--display-l);font-weight:800;line-height:1.12;letter-spacing:-.025em}
.anmeldung__formular{width:100%}

.anmeldung__formular .woocommerce-form-login__rememberme { display: flex; align-items: center;
  gap: var(--space-2); min-height: var(--ziel-min); }
.anmeldung__formular a { color: var(--link); }

.appstore{width:100%;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--space-6);align-items:center;padding-top:var(--space-6);padding-right:var(--space-6);padding-bottom:var(--space-6);padding-left:var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-style:solid;border-color:var(--line);background-color:var(--karte-grund)}
@media (max-width:991px){.appstore{grid-template-columns:1fr}}
.appstore__bild{width:100%}
.appstore__text{width:100%;display:flex;row-gap:12px;flex-direction:column}
.bildunterschrift{width:100%;font-size:var(--caption);text-align:center;color:var(--ink-muted)}
.danke__bestellung{width:100%}
.dankekopf{width:100%;display:flex;align-items:center;column-gap:var(--space-4);row-gap:var(--space-4);flex-direction:column;text-align:center}
.dankekopf__zeichen{width:var(--ziel-kachel);height:var(--ziel-kachel);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full) var(--radius-full) var(--radius-full) var(--radius-full);border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0;border-style:solid;border-color:transparent;background-color:var(--teal-soft);font-size:var(--h1);color:var(--teal-strong)}
.dunkelbuehne{width:100%;position:relative;overflow:hidden;background-image:linear-gradient(155deg, var(--surface) 0%, var(--tief-2) 52%, var(--tief-3) 100%)}
.dunkelbuehne::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(60% 55% at 78% 18%, rgba(255,255,255,.10), transparent 70%); }
.dunkelbuehne__inhalt{width:100%;position:relative;z-index:2}
.dunkelbuehne__raster{width:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--space-12);align-items:center}
@media (max-width:991px){.dunkelbuehne__raster{grid-template-columns:1fr}}
.dunkelbuehne__text{width:100%;display:flex;row-gap:var(--space-4);flex-direction:column}
.einblenden{width:100%;opacity:1}
@keyframes einblenden-auf { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .einblenden { animation: einblenden-auf .7s cubic-bezier(.2,.7,.3,1) both; animation-timeline: view(); animation-range: entry 0% entry 100%; }
  }
}
.einleitungstext{width:100%;max-width:60ch;font-size:var(--lead);line-height:1.6;color:var(--ink-muted)}
.fliesstext{width:100%;font-size:var(--body-sm);line-height:1.65;color:var(--ink-muted)}
.fliesstext p { margin: 0 0 .85rem; }
.fliesstext p:last-child { margin-bottom: 0; }
.fragenliste{width:100%}
.fragenliste .brxe-block { border-bottom: 1px solid var(--line); }
.fragenliste .accordion-title-wrapper { min-height: 58px; padding: var(--space-4) 0; gap: var(--space-4);
  cursor: pointer; }
.fragenliste .accordion-title-wrapper h3 { font-family: var(--schrift-display); font-size: var(--h3);
  font-weight: 700; letter-spacing: -.015em; color: var(--ink); margin: 0; }
.fragenliste .accordion-title-wrapper .brxe-icon { color: var(--orange); }
.fragenliste .accordion-content-wrapper { padding-bottom: var(--space-6); }
.fragenliste .accordion-content-wrapper .brxe-text { font-size: var(--body-sm); line-height: 1.65;
  color: var(--ink-muted); max-width: 72ch; }
.fragenliste .accordion-content-wrapper p { margin: 0; }
.fusszeile{padding-top:var(--space-12);padding-right:var(--gutter);padding-bottom:var(--space-12);padding-left:var(--gutter);background-color:var(--stone)}
.fusszeile__inhalt{width:100%;max-width:var(--content-width);display:flex;align-items:center;row-gap:var(--space-5);flex-direction:column;margin-right:auto;margin-left:auto}
.fusszeile__link{font-size:var(--caption);font-weight:600;color:var(--ink-muted);text-decoration:underline}
.fusszeile__link:hover { color: var(--ink); }
.fusszeile__links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:var(--space-5);row-gap:2px;flex-direction:row}
.fusszeile__links a { display: inline-flex; align-items: center;
  min-height: var(--ziel-min); }
.fusszeile__marke{display:flex;align-items:center;justify-content:center;column-gap:12px;flex-direction:row}
.fusszeile__name{font-family:var(--schrift-display);font-size:var(--h3);font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.fusszeile__zeile{font-size:var(--caption);color:var(--ink-muted);text-align:center}
.hellbuehne{width:100%;position:relative;overflow:hidden;background-image:linear-gradient(172deg, var(--surface-raised) 0%, var(--surface) 45%, var(--sand) 100%)}
.hellbuehne::before { content: ''; position: absolute; inset: 0;
  pointer-events: none; z-index: 0;
  background:
    radial-gradient(78% 62% at 4% -14%, #4b979cc4 0%, transparent 66%),
    radial-gradient(72% 58% at 98% -8%, #ed7f02cc 0%, transparent 64%),
    radial-gradient(64% 54% at 54% 108%, #e8543f9e 0%, transparent 68%),
    radial-gradient(40% 36% at 76% 58%, #ebd7c1b3 0%, transparent 70%); }
.hellbuehne::after { content: ''; position: absolute; inset: 0;
  pointer-events: none; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='240'%3E%3Cfilter%20id='k'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.9'%20numOctaves='4'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='240'%20height='240'%20filter='url(%23k)'/%3E%3C/svg%3E");
  background-size: 240px 240px; opacity: .3; mix-blend-mode: multiply; }
.hellbuehne { padding-top: calc(var(--kopfhoehe, 76px) + clamp(24px, 5vw, 64px));
     padding-bottom: clamp(120px, 16vw, 200px); }
.hinweiskasten{width:100%;display:flex;column-gap:var(--space-2);row-gap:var(--space-2);flex-direction:column;padding-top:var(--space-5);padding-right:var(--space-5);padding-bottom:var(--space-5);padding-left:var(--space-5);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-md);border-top-width:1;border-right-width:1;border-bottom-width:1;border-left-width:1;border-style:solid;border-color:var(--orange);background-color:var(--orange-soft)}
.hinweiskasten--ruhig{border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-md);border-top-width:1;border-right-width:1;border-bottom-width:1;border-left-width:1;border-style:solid;border-color:var(--line);background-color:var(--stone)}
.hinweiskasten__text{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;font-size:var(--body-sm);font-weight:400;line-height:1.5;color:var(--ink)}
.hinweiskasten__titel{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;font-size:var(--label);font-weight:700;line-height:1.35;color:var(--ink);font-family:var(--schrift-display)}
.kasse__bestellung{width:100%}

.kasse__bestellung table.woocommerce-checkout-review-order-table { width: 100%; }
.kasse__bestellung table th { text-align: left; }
.kasse__bestellung table td { text-align: right; }
.kasse__bestellung #payment ul.payment_methods { list-style: none; margin: 0;
  padding-left: 0; }
.kasse__bestellung #payment ul.payment_methods li { padding: 0; }
.kasse__bestellung #place_order { min-height: var(--ziel-komfort);
  border-radius: var(--radius-full); border: 0; background: var(--orange);
  color: var(--on-accent); font-family: var(--schrift-text);
  font-size: var(--body); font-weight: 600; cursor: pointer; }
.kasse__bestellung .woocommerce-terms-and-conditions-wrapper { margin-top: var(--space-4);
  font-size: var(--body-sm); color: var(--ink-muted); }
.kasse__bestellung a { color: var(--link); }

.kasse__kunde{width:100%;padding-top:var(--space-6);padding-right:var(--space-6);padding-bottom:var(--space-6);padding-left:var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1;border-right-width:1;border-bottom-width:1;border-left-width:1;border-style:solid;border-color:var(--line);background-color:var(--surface-raised)}

.kasse__kunde input.input-text, .kasse__kunde input[type=text], .kasse__kunde input[type=email],
.kasse__kunde input[type=tel], .kasse__kunde textarea, .kasse__kunde select,
.kasse__kunde .select2-container .select2-selection--single {
  min-height: var(--ziel-komfort); padding: var(--space-3) var(--space-4);
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--surface-raised); color: var(--ink);
  font-family: var(--schrift-text); font-size: var(--body); line-height: 1.4;
  box-shadow: none; }
.kasse__kunde textarea { min-height: 104px; }
.kasse__kunde input:focus, .kasse__kunde textarea:focus, .kasse__kunde select:focus {
  outline: none; border-color: var(--orange); box-shadow: var(--focus-ring); }
.kasse__kunde .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0; line-height: 30px; color: var(--ink); }
.kasse__kunde .select2-container .select2-selection--single .select2-selection__arrow {
  top: var(--space-3); right: var(--space-3); }
.kasse__kunde .required { color: var(--coral-strong); text-decoration: none; }
.kasse__kunde a { color: var(--link); }
.kasse__kunde h3 { font-family: var(--schrift-display); }

.knopfreihe{width:100%;display:flex;flex-wrap:wrap;column-gap:var(--space-3);row-gap:var(--space-3)}
.knopfreihe--mitte{justify-content:center}
.konto__bereich{width:100%}

.konto__bereich .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0;
  padding-left: 0; display: flex; flex-direction: column; gap: var(--space-1); }
.konto__bereich .woocommerce-MyAccount-navigation a { display: flex; align-items: center;
  min-height: var(--ziel-min); text-decoration: none; }
.konto__bereich .woocommerce-MyAccount-content a { color: var(--link); }
@media (max-width: 991px) {
  .konto__bereich .woocommerce-MyAccount-navigation ul { flex-direction: row;
    flex-wrap: wrap; gap: var(--space-2); }
}

.kopfnavigation{display:flex;align-items:center;column-gap:var(--space-4);margin-right:auto;margin-left:auto}
@media (max-width:991px){.kopfnavigation{display:none}}
.kopfnavigation a { display: inline-flex; align-items: center;
  min-height: var(--ziel-min); }
.kopfnavigation__link{transition:color .2s ease;font-size:var(--caption);font-weight:600;color:var(--ink-muted);text-decoration:none}
.kopfnavigation__link:hover { color: var(--ink); }
.kopfzeile{width:100%;z-index:50;padding-top:12px;padding-right:var(--gutter);padding-bottom:12px;padding-left:var(--gutter);border-bottom-width:1px;border-style:solid;border-color:#00000000}
.kopfzeile { position: fixed; top: 0; left: 0; right: 0;
  background: transparent; border-bottom-color: transparent;
  transition: background-color .28s ease, border-color .28s ease, backdrop-filter .28s ease; }
.kopfzeile.ist-fest { background: #fffdf7e6; border-bottom-color: var(--line);
  backdrop-filter: blur(14px); }
@media (prefers-reduced-motion: reduce) { .kopfzeile { transition: none; } }
.kopfzeile__inhalt{width:100%;max-width:calc(var(--content-width) + 80px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;column-gap:var(--space-4);row-gap:10px;flex-direction:row;margin-right:auto;margin-left:auto}
.kopfzeile__knoepfe{display:flex;align-items:center;flex-wrap:wrap;column-gap:9px;row-gap:9px}
.kopfzeile__knoepfe .bricks-button { min-height: var(--ziel-min);
  padding-inline: 1.1rem; font-size: var(--caption); }

/* Auf dem Telefon bleiben nur die Symbole stehen. Zwei ausgeschriebene
   Knoepfe brauchen dort mehr Platz als die halbe Zeile und schieben sich in
   eine zweite Reihe, und die Kopfzeile ist dann doppelt so hoch wie noetig.
   Die Beschriftung wird nicht entfernt, sondern nur auf Groesse null
   gesetzt: Sie steht weiter im Dokument, und der Screenreader liest
   weiterhin "Anmelden" und nicht "Link". */
@media (max-width: 575px) {
  .kopfzeile__knoepfe .bricks-button { width: var(--ziel-min); min-width: var(--ziel-min);
    padding-inline: 0; gap: 0; font-size: 0; }
  .kopfzeile__knoepfe .bricks-button i, .kopfzeile__knoepfe .bricks-button svg { font-size: 17px; width: 17px; height: 17px; }
}
.kopfzeile__marke{display:flex;align-items:center;column-gap:10px}
.kopfzeile__name{font-size:var(--body);font-weight:800;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.kopfzeile__name { display: inline-flex; align-items: center;
  min-height: var(--ziel-min); }
.ladeninhalt{width:100%;max-width:var(--content-width);display:flex;column-gap:var(--space-6);row-gap:var(--space-6);flex-direction:column}
.ladenkarte{width:100%;display:flex;column-gap:var(--space-4);row-gap:var(--space-4);flex-direction:column;padding-top:var(--space-6);padding-right:var(--space-6);padding-bottom:var(--space-6);padding-left:var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1;border-right-width:1;border-bottom-width:1;border-left-width:1;border-style:solid;border-color:var(--line);background-color:var(--surface-raised)}
.ladenkarte__titel{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;font-size:var(--h3);font-weight:700;line-height:1.27;letter-spacing:-0.02em;color:var(--ink);font-family:var(--schrift-display)}
.ladenknopf{width:fit-content;display:inline-flex;align-items:center;justify-content:center;column-gap:var(--space-2);padding-right:var(--space-6);padding-left:var(--space-6);border-radius:var(--radius-full) var(--radius-full) var(--radius-full) var(--radius-full);border-top-width:1;border-right-width:1;border-bottom-width:1;border-left-width:1;border-style:solid;border-color:transparent;background-color:var(--orange);font-size:var(--label);font-weight:600;line-height:1.2;color:var(--on-accent)}

.ladenknopf { transition: background-color .18s ease, color .18s ease; }
.ladenknopf:hover { background: var(--orange-hover); color: var(--on-accent); }
.ladenknopf:focus-visible { outline: none; box-shadow: var(--focus-ring); }
@media (prefers-reduced-motion: reduce) { .ladenknopf { transition: none; } }

.ladenknopf--rahmen{border-radius:var(--radius-full) var(--radius-full) var(--radius-full) var(--radius-full);border-top-width:1;border-right-width:1;border-bottom-width:1;border-left-width:1;border-style:solid;border-color:var(--line-strong);background-color:transparent;font-size:var(--label);font-weight:600;line-height:1.2;color:var(--ink)}

.ladenknopf--rahmen:hover { background: var(--stone); color: var(--ink); }

.ladenlead{width:100%;max-width:60ch;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;font-size:var(--lead);font-weight:400;line-height:1.6;color:var(--ink-muted)}
.ladenraster{width:100%;display:grid;grid-template-columns:15fr 8fr;gap:var(--space-8);align-items:start}
@media (max-width:991px){.ladenraster{grid-template-columns:1fr;gap:var(--space-6)}}
.ladenschritt{width:100%;display:flex;align-items:flex-start;column-gap:var(--space-4)}
.ladenschritt__nummer{width:var(--ziel-min);min-width:var(--ziel-min);height:var(--ziel-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full) var(--radius-full) var(--radius-full) var(--radius-full);border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0;border-style:solid;border-color:transparent;background-color:var(--orange-soft);font-size:var(--h3);font-weight:700;line-height:1;color:var(--orange-strong);font-family:var(--schrift-display)}
.ladenschritt__text{width:100%;display:flex;column-gap:var(--space-1);row-gap:var(--space-1);flex-direction:column}
.ladenschritt__titel{font-size:var(--label);font-weight:700;line-height:1.35;color:var(--ink);font-family:var(--schrift-display)}
.ladenschritte{width:100%;display:flex;column-gap:var(--space-4);row-gap:var(--space-4);flex-direction:column}

.ladenschritte { list-style: none; margin: 0; padding-left: 0; }
.ladenschritte > li { list-style: none; margin: 0; }

.ladenseite{width:100%;padding-top:var(--space-12);padding-bottom:var(--space-16);background-color:var(--surface)}
@media (max-width:991px){.ladenseite{padding-top:var(--space-8);padding-bottom:var(--space-12)}}
.ladenspalte{width:100%;min-width:0;display:flex;column-gap:var(--space-6);row-gap:var(--space-6);flex-direction:column}
.ladentext{width:100%;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;font-size:var(--body);font-weight:400;line-height:1.6;color:var(--ink)}
.ladentitel{width:100%;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;font-size:var(--h1);font-weight:800;line-height:1.15;letter-spacing:-0.02em;color:var(--ink);font-family:var(--schrift-display)}
.leerkorb{width:100%;display:flex;align-items:center;column-gap:var(--space-5);row-gap:var(--space-5);flex-direction:column;padding-top:var(--space-8);padding-bottom:var(--space-8);text-align:center}
.leerkorb__zeichen{width:88px;height:88px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full) var(--radius-full) var(--radius-full) var(--radius-full);border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0;border-style:solid;border-color:transparent;background-color:var(--stone);font-size:var(--display-l);color:var(--ink-muted)}
.merkliste{width:100%;display:flex;column-gap:var(--space-4);row-gap:var(--space-4);flex-direction:column}

.merkliste { list-style: none; margin: 0; padding-left: 0; }
.merkliste > li { list-style: none; margin: 0; }

.merkmal{width:100%;height:100%;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;padding-top:var(--space-6);padding-right:var(--space-6);padding-bottom:var(--space-6);padding-left:var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-style:solid;border-color:var(--line);background-color:var(--karte-grund)}
.merkmal:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg);
  border-color: var(--orange); }
@media (prefers-reduced-motion: reduce) { .merkmal { transition: none; } .merkmal:hover { transform: none; } }
.merkmal__symbol{width:54px;height:54px;display:flex;align-items:center;justify-content:center;transition:transform .25s ease;border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-md);background-color:var(--orange-soft);font-size:24px;color:var(--orange-strong)}
.merkmal:hover .merkmal__symbol { transform: rotate(-6deg) scale(1.08); }
@media (prefers-reduced-motion: reduce) { .merkmal__symbol { transition: none; } .merkmal:hover .merkmal__symbol { transform: none; } }
.merkmal__titel{width:100%;font-size:var(--h3);font-weight:700;line-height:1.25;color:var(--ink)}
.merkzeile{width:100%;display:flex;align-items:flex-start;column-gap:var(--space-3)}
.merkzeile__symbol{font-size:var(--h3);color:var(--teal-strong)}
.merkzeile__text{width:100%;display:flex;column-gap:var(--space-1);row-gap:var(--space-1);flex-direction:column}
.merkzeile__titel{font-size:var(--label);font-weight:700;line-height:1.35;color:var(--ink);font-family:var(--schrift-display)}
.probeplayer{width:100%}
.produkt__formular{width:100%}
.schutzhinweis{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-6);align-items:start;padding-top:var(--space-6);padding-right:var(--space-6);padding-bottom:var(--space-6);padding-left:var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-style:solid;border-color:var(--line);background-color:var(--surface-raised)}
@media (max-width:767px){.schutzhinweis{grid-template-columns:1fr}}
.schutzhinweis__symbol{width:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);background-color:var(--orange-soft);font-size:28px;color:var(--orange-strong)}
.schutzhinweis__text{width:100%;display:flex;row-gap:11px;flex-direction:column}
.station{width:100%;height:100%;display:grid;transition:border-color .25s ease, box-shadow .25s ease;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);align-items:start;padding-top:var(--space-6);padding-right:var(--space-6);padding-bottom:var(--space-6);padding-left:var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-style:solid;border-color:var(--line);background-color:var(--karte-grund)}
.station:hover { border-color: var(--orange);
  box-shadow: var(--shadow-lg); }
@media (prefers-reduced-motion: reduce) { .station { transition: none; } }
.station__nummer{font-size:var(--caption);font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--orange-strong)}
.station__symbol{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-md);background-color:var(--orange-soft);font-size:23px;color:var(--orange-strong)}
.station__text{width:100%;display:flex;row-gap:8px;flex-direction:column}
.tarifkarte{width:100%;height:100%;transition:transform .25s ease, box-shadow .25s ease;padding-top:var(--space-6);padding-right:var(--space-6);padding-bottom:var(--space-6);padding-left:var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-style:solid;border-color:var(--line);background-color:var(--karte-grund)}
.tarifkarte:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
@media (prefers-reduced-motion: reduce) { .tarifkarte { transition: none; } .tarifkarte:hover { transform: none; } }
.tarifkarte--hervor{position:relative;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-style:solid;border-color:#ebe8d424;background-image:linear-gradient(155deg, #0b1a2c 0%, var(--tief-2) 52%, var(--tief-3) 100%);box-shadow:0px 18px 44px -16px #01204273}
.tarifkarte--hervor::after { content: ''; position: absolute; inset: 0;
  pointer-events: none; background: radial-gradient(60% 55% at 78% 18%, rgba(255,255,255,.10), transparent 70%); }
.tarifkarte--hervor > * { position: relative; z-index: 2; }
.tarifkarte__fahne{align-self:flex-start;font-size:var(--augenbraue);font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:var(--teal)}
.tarifkarte__merkmale{width:100%}
.tarifkarte__merkmale { list-style: none; margin: 0; padding-left: 0; }
.tarifkarte__merkmale li { list-style: none; margin: 0 0 .6rem 0; padding-left: 1.8rem; position: relative;
  line-height: 1.55; font-size: var(--body-sm); }
.tarifkarte__merkmale li::before { content: '\2713'; position: absolute; left: 0; top: 0;
  color: var(--teal); font-weight: 800; }
.tarifkarte__preis{width:100%;font-family:var(--schrift-display);font-size:var(--display-l);font-weight:800;line-height:1;letter-spacing:-.025em;color:var(--ink)}
.tarifkarte__titel{width:100%;font-size:var(--h3);font-weight:700;color:var(--ink)}
.tarifkarte__unterzeile{width:100%;font-size:var(--body-sm);line-height:1.55;color:var(--ink-muted)}
.telefone{width:100%}
.vorzuege{width:100%;display:flex;align-items:flex-start;flex-wrap:wrap;column-gap:var(--space-8);row-gap:var(--space-6);margin-top:var(--space-4)}
.vorzug{width:100%;flex-grow:1;flex-basis:190px;padding-top:var(--space-4);border-top-width:3px;border-right-width:0;border-bottom-width:0;border-left-width:0;border-style:solid;border-color:var(--orange)}
.vorzug:nth-child(2) { border-top-color: var(--teal); }
.vorzug:nth-child(3) { border-top-color: var(--coral); }
.vorzug__text{width:100%;font-size:var(--caption);line-height:1.5;color:var(--ink-muted)}
.vorzug__titel{width:100%;font-size:var(--body);font-weight:700;line-height:1.2;color:var(--ink)}
.warenkorb__positionen{width:100%;padding-top:var(--space-5);padding-right:var(--space-5);padding-bottom:var(--space-5);padding-left:var(--space-5);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-lg);border-top-width:1;border-right-width:1;border-bottom-width:1;border-left-width:1;border-style:solid;border-color:var(--line);background-color:var(--surface-raised)}

.warenkorb__positionen table.shop_table { width: 100%; border-collapse: collapse; }
.warenkorb__positionen th, .warenkorb__positionen td { padding: var(--space-3) var(--space-2); }
.warenkorb__positionen tr.cart_item { border-top: 1px solid var(--line); }
.warenkorb__positionen .quantity input.qty { min-height: var(--ziel-min); width: 4rem;
  text-align: center; border: 1px solid var(--line);
  border-radius: var(--radius-sm); background: var(--surface-raised);
  color: var(--ink); font-family: var(--schrift-text); }
.warenkorb__positionen td.actions { padding-top: var(--space-5); }
.warenkorb__positionen input#coupon_code { min-height: var(--ziel-min);
  padding: 0 var(--space-3); border: 1px solid var(--line);
  border-radius: var(--radius-sm); background: var(--surface-raised); }
@media (max-width: 767px) {
  .warenkorb__positionen table.shop_table, .warenkorb__positionen table.shop_table tbody { display: block; }
  .warenkorb__positionen table.shop_table thead { display: none; }
  .warenkorb__positionen tr.cart_item { display: grid;
    grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-4);
    row-gap: var(--space-2); padding: var(--space-4) 0; }
  .warenkorb__positionen tr.cart_item > * { display: block; padding: 0 !important; border: 0;
    text-align: left !important; float: none; width: auto; }
  .warenkorb__positionen tr.cart_item > *::before { display: none !important; content: none !important; }
  .warenkorb__positionen .product-name { grid-column: 1; grid-row: 1; }
  .warenkorb__positionen .product-remove { grid-column: 2; grid-row: 1; justify-self: end; }
  .warenkorb__positionen .product-price { display: none !important; }
  .warenkorb__positionen .product-quantity { grid-column: 1; grid-row: 2; }
  .warenkorb__positionen .product-subtotal { grid-column: 2; grid-row: 2; text-align: right !important; }
  .warenkorb__positionen td.actions { display: flex; flex-direction: column; gap: var(--space-2); }
}

.warenkorb__summen{width:100%}

.warenkorb__summen table.shop_table { width: 100%; }
.warenkorb__summen table.shop_table th { text-align: left; font-weight: 600;
  color: var(--ink-muted); font-family: var(--schrift-text);
  font-size: var(--body-sm); padding: var(--space-2) 0; }
.warenkorb__summen table.shop_table td { text-align: right; padding: var(--space-2) 0; }
.warenkorb__summen tr.order-total th, .warenkorb__summen tr.order-total td {
  border-top: 1px solid var(--line); padding-top: var(--space-4); }
.warenkorb__summen small.includes_tax { display: block; font-size: var(--caption);
  color: var(--ink-muted); font-weight: 400; }
.warenkorb__summen .wc-proceed-to-checkout { padding: 0; margin-top: var(--space-5); }
.warenkorb__summen .wc-proceed-to-checkout a.checkout-button { display: flex;
  align-items: center; justify-content: center;
  min-height: var(--ziel-komfort); border-radius: var(--radius-full);
  background: var(--orange); color: var(--on-accent);
  font-family: var(--schrift-text); font-size: var(--body); font-weight: 600;
  text-decoration: none; margin: 0; }

.wellenband{width:100%;position:absolute;bottom:0;left:0;z-index:1;opacity:0.85;pointer-events:none}
