/*
 * embed-design.css
 * Lokale @font-face-Blöcke + Font-Familien-Override fuer cod-embed.
 *
 * Reihenfolge beim Laden (global in widget-partner-karusell.php geregelt):
 *   0. cod-embed-live-tokens  — Live-Design-Tokens vom zentralen REST-Endpunkt
 *      (cod-ui/v1/design-tokens): Farben, Widget-Builder-Tokens, Mode-Vars.
 *      Wird VOR dieser Datei geladen.
 *   1. embed-design.css (diese Datei) — NUR @font-face + --cod-font-*-Overrides.
 *      Ueberschreibt die Schriftfamilien-Tokens aus den Live-Tokens, damit
 *      lokale Schriften (kein Cross-Origin-Problem) greifen.
 *
 * ENTFERNT: Statischer :root-Block mit --cod-color-*, --cod-font-*-Groessen,
 *           --cod-danger/success/warning/info, --cod-*-radius — diese Werte
 *           kommen jetzt live vom Endpunkt und duerfen HIER nicht mehr
 *           ueberschrieben werden (sonst gewinnt der Snapshot ueber die Live-Werte).
 *
 * BEHALTEN: @font-face (zeigen auf ../fonts/, kein Cross-Origin noetig) +
 *           --cod-font-*-Familien-Overrides (lokale Schriften statt Elementor-Vars).
 */

/* ── 1. Lokale @font-face-Blöcke (keine Cross-Origin-URLs) ── */
/* Schriften in Unicode-Bereiche zerlegt - der Browser holt nur, was er zeichnet.
 *
 * WARUM: Jede unserer Schriften enthaelt rund 2000 Zeichen. Für Deutsch
 * gebraucht werden etwa 190; Kyrillisch, Griechisch und Vietnamesisch wurden
 * bis zum 28.07.2026 bei jedem Seitenaufruf mitgeladen und nie gezeichnet.
 * Aufgeteilt sind es 176 KB statt 864 KB - und ein Mitglied mit kyrillischem
 * Namen bekommt genau für diesen Namen den passenden Teil nachgeladen, ohne
 * dass irgendjemand sonst dafür zahlt.
 *
 * REIHENFOLGE IST BEDEUTSAM: Die Bereiche überschneiden sich (Vietnamesisch
 * und Latin-Extended teilen sich Zeichen). Bei Überschneidung gewinnt die
 * SPÄTER deklarierte Regel - deshalb steht latin unten, nicht oben.
 *
 * Erzeugt mit: python3 -m fontTools.subset <ttf> --unicodes=<bereich>
 *              --layout-features='*' --flavor=woff2
 * Die vollen .woff2 bleiben liegen: Elementor-Custom-Fonts können kein
 * unicode-range und zeigen weiterhin auf eine einzelne Datei. */
@font-face{font-family:"Arial Rounded MT Bold - Family";src:url(../fonts/subsets/arial-rounded-bold.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Bold - Family";src:url(../fonts/subsets/arial-rounded-bold.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Bold - Family";src:url(../fonts/subsets/arial-rounded-bold.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Bold - Family";src:url(../fonts/subsets/arial-rounded-bold.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Bold - Family";src:url(../fonts/subsets/arial-rounded-bold.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Bold - Family";src:url(../fonts/subsets/arial-rounded-bold.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Light - Family";src:url(../fonts/subsets/arial-rounded-light.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Light - Family";src:url(../fonts/subsets/arial-rounded-light.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Light - Family";src:url(../fonts/subsets/arial-rounded-light.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Light - Family";src:url(../fonts/subsets/arial-rounded-light.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Light - Family";src:url(../fonts/subsets/arial-rounded-light.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Light - Family";src:url(../fonts/subsets/arial-rounded-light.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Regular - Family";src:url(../fonts/subsets/arial-rounded-regular.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Regular - Family";src:url(../fonts/subsets/arial-rounded-regular.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Regular - Family";src:url(../fonts/subsets/arial-rounded-regular.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Regular - Family";src:url(../fonts/subsets/arial-rounded-regular.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Regular - Family";src:url(../fonts/subsets/arial-rounded-regular.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Arial Rounded MT Regular - Family";src:url(../fonts/subsets/arial-rounded-regular.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:"Lato ThinItalic - Family";src:url(../fonts/subsets/lato-thinitalic.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"Lato ThinItalic - Family";src:url(../fonts/subsets/lato-thinitalic.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"Lato ThinItalic - Family";src:url(../fonts/subsets/lato-thinitalic.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"Lato Semibold - Family";src:url(../fonts/subsets/lato-semibold.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Lato Semibold - Family";src:url(../fonts/subsets/lato-semibold.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Lato Semibold - Family";src:url(../fonts/subsets/lato-semibold.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Lato Heavy - Semibold";src:url(../fonts/subsets/lato-heavy.weitere.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F,U+0370-03FF,U+1F00-1FFF,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Lato Heavy - Semibold";src:url(../fonts/subsets/lato-heavy.latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Lato Heavy - Semibold";src:url(../fonts/subsets/lato-heavy.latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal;font-display:swap;}

/* ── 2. Font-Familien-Override: lokale Plattform-Schriften statt Elementor-Variablen ── */
/* Ueberschreibt die Font-Family-Werte aus den Live-Tokens (kein Cross-Origin-Problem). */
:root{
  --cod-font-supporting:"Lato Semibold - Family",system-ui,sans-serif;
  --cod-font-headline-main:"Arial Rounded MT Bold - Family",system-ui,sans-serif;
  --cod-font-headline-sub:"Arial Rounded MT Bold - Family",system-ui,sans-serif;
  --cod-font-spruch:"Arial Rounded MT Bold - Family",system-ui,sans-serif;
  --cod-font-card-title:"Arial Rounded MT Bold - Family",system-ui,sans-serif;
  --cod-font-creator-distance:"Lato Semibold - Family",system-ui,sans-serif;
  --cod-font-button:"Lato Semibold - Family",system-ui,sans-serif;
  --cod-font-accent:"Lato Heavy - Semibold",system-ui,sans-serif;
  --cod-font-body:"Lato Semibold - Family",system-ui,sans-serif;
}

/* ── 3. Embed-Breite ──────────────────────────────────────────────────────── */
/*
 * KEIN CSS-Breakout mehr (der verschob die Wrapper aus der Mitte). Breite +
 * Zentrierung steuert die Seite selbst: Elementor-Abschnitt bzw. Hello-Theme
 * (Full-Width). Die Wrapper fuellen einfach die Breite ihres Containers.
 */
.cod-pkrs-wrap,
.codgw-wrap,
.codgw-next-draw {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}

/* ── 4. Platzhalter-Karten beim Laden ─────────────────────────────────────── */
/*
 * Die Inhalte kommen per JS nach. Vorher waren die Bereiche 60 bis 120 Pixel
 * hoch, danach 700 bis 810 - die Seite wuchs beim Laden um rund 3000 Pixel, und
 * wer gerade etwas antippen wollte, griff ins Leere. Diese Karten halten den
 * Platz frei und werden beim Befüllen einfach überschrieben.
 *
 * Auf schmalen Bildschirmen bleibt nur die erste stehen: Drei Karten
 * untereinander wären dort höher als der echte Inhalt - dann spränge die Seite
 * beim Laden nach oben statt nach unten.
 */
.cod-skel {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
  padding: 4px 0 8px;
}
.cod-skel__card {
  border: 1px solid rgba(140, 160, 190, .28);
  border-radius: 14px;
  background: var(--cod-card-bg, #fff);
  overflow: hidden;
  min-height: 420px;
}

/*
 * Im Partner-Karussell gelten andere Masse: Dort steht EINE Karte mittig, nicht
 * ein Raster aus dreien, und die echte Karte hat ein festes Seitenverhaeltnis von
 * 2:3 (siehe .cod-pkrs-owl .partner-card.item). Ohne diese Anpassung standen drei
 * flache Platzhalter nebeneinander und wurden von einer hohen, schmalen Karte
 * abgeloest - der Sprung blieb, nur in die andere Richtung.
 */
/*
 * Das Karussell legt seine Karten NEBENEINANDER: drei ab 1025 Pixeln, zwei ab
 * 768, eine darunter (items_lg/sm/xs in widget-partner-karusell.php). Die
 * Slot-Breite bestimmt über das feste Seitenverhältnis 2:3 die Höhe - und zwar
 * unabhängig davon, wie viele Partner es tatsächlich gibt. Der Platzhalter muss
 * deshalb dieselbe Aufteilung und dieselben Kartenbreiten verwenden, sonst passt
 * er nur bei genau einem Partner.
 */
.cod-pkrs-owl .cod-skel {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: none;
}
.cod-pkrs-owl .cod-skel__card {
  max-width: var(--cod-pkrs-card-width, 360px);
  margin-inline: auto;
  width: 100%;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .cod-pkrs-owl .cod-skel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cod-pkrs-owl .cod-skel__card { max-width: var(--cod-pkrs-card-width-tablet, 300px); }
  .cod-pkrs-owl .cod-skel__card:nth-child(n + 3) { display: none; }
}

@media (max-width: 767px) {
  .cod-pkrs-owl .cod-skel { grid-template-columns: minmax(0, 1fr); }
  .cod-pkrs-owl .cod-skel__card {
    max-width: min(var(--cod-pkrs-card-width, 360px), calc(100% - 44px));
  }
  .cod-pkrs-owl .cod-skel__card:nth-child(n + 2) { display: none; }
}
.cod-pkrs-owl .cod-skel__card {
  aspect-ratio: 2 / 3;
  min-height: 0;
}
.cod-pkrs-owl .cod-skel__img { height: 55%; }

/*
 * Academy: einspaltige Liste mit QUERFORMAT-Zeilen - Bild links (250 px), Text
 * rechts (.cod-course-head in academy.css, Bild mindestens 228 px hoch). Ein
 * dreispaltiges Hochkant-Raster hat damit nichts gemeinsam. Auf schmalen
 * Bildschirmen stapelt die echte Zeile, deshalb dort wieder untereinander.
 */
.cod-embed-academy-inner .cod-skel { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.cod-embed-academy-inner .cod-skel__card {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  min-height: 0;
  padding: 16px;
}
.cod-embed-academy-inner .cod-skel__img { height: 228px; border-radius: 12px; }
.cod-embed-academy-inner .cod-skel__line { margin-left: 0; margin-right: 0; }
.cod-embed-academy-inner .cod-skel__card:nth-child(n + 3) { display: none; }

@media (max-width: 800px) {
  .cod-embed-academy-inner .cod-skel__card { grid-template-columns: minmax(0, 1fr); }
  .cod-embed-academy-inner .cod-skel__img { height: 180px; }
}

/*
 * Gewinnspiele: 3 Spalten, ab 1024 zwei, ab 767 eine (.codgw-grid).
 */
@media (max-width: 1024px) {
  .cod-embed-gws-inner .cod-skel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cod-embed-gws-inner .cod-skel__card:nth-child(n + 3) { display: none; }
}
@media (max-width: 767px) {
  .cod-embed-gws-inner .cod-skel { grid-template-columns: minmax(0, 1fr); }
  .cod-embed-gws-inner .cod-skel__card:nth-child(n + 2) { display: none; }
}

/*
 * Mitgliedschaft: Pakete im Raster, ab 1024 zwei Spalten, ab 680 eine - andere
 * Schwelle als die übrigen Widgets (cod-membership-widget__grid).
 */
@media (max-width: 1024px) {
  .cod-embed-membership-wrap .cod-skel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cod-embed-membership-wrap .cod-skel__card:nth-child(n + 3) { display: none; }
}
@media (max-width: 680px) {
  .cod-embed-membership-wrap .cod-skel { grid-template-columns: minmax(0, 1fr); }
  .cod-embed-membership-wrap .cod-skel__card:nth-child(n + 2) { display: none; }
}

/*
 * Listen-Variante (Events): Kopfzeile mit Anzahl-Satz, Suchfeld und Rubriken,
 * darunter eine breite Karte. Die Höhen folgen den drei Formaten aus events.css -
 * mobil bis 767, Tablet bis 1024, Desktop darüber. Auf dem Telefon ist die Karte
 * höher, weil Bild und Text dort untereinander statt nebeneinander stehen.
 */
.cod-skel-list { padding: 4px 0 8px; }
.cod-skel-list__bar {
  height: 56px;
  border-radius: 12px;
  background: rgba(140, 160, 190, .16);
  margin: 16px 0 12px;
}
.cod-skel-list__chips { display: flex; gap: 10px; margin-bottom: 18px; }
.cod-skel-list__chips span {
  height: 38px;
  width: 96px;
  border-radius: 999px;
  background: rgba(140, 160, 190, .16);
}
.cod-skel-list__card {
  height: 420px;
  border-radius: 14px;
  border: 1px solid rgba(140, 160, 190, .28);
  background: rgba(140, 160, 190, .1);
}

@media (max-width: 767px) {
  .cod-skel-list__card { height: 560px; }
  .cod-skel-list__chips span:nth-child(n + 3) { display: none; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .cod-skel-list__card { height: 480px; }
}

@media (prefers-reduced-motion: no-preference) {
  .cod-skel-list__bar,
  .cod-skel-list__chips span,
  .cod-skel-list__card { animation: cod-skel-pulse 1.4s ease-in-out infinite; }
}
.cod-skel__img,
.cod-skel__line {
  background: rgba(140, 160, 190, .16);
}
.cod-skel__img { height: 200px; }
.cod-skel__line {
  height: 12px;
  border-radius: 6px;
  margin: 14px 16px 0;
}
.cod-skel__line--short { width: 45%; }
.cod-skel__line--mid   { width: 72%; }

/* Ohne Bildfläche (Preis-Pakete): niedriger, sonst klafft eine Leerfläche. */
.cod-skel--flat .cod-skel__card { min-height: 150px; padding-bottom: 16px; }

@media (prefers-reduced-motion: no-preference) {
  .cod-skel__img,
  .cod-skel__line { animation: cod-skel-pulse 1.4s ease-in-out infinite; }
  @keyframes cod-skel-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: .45; }
  }
}

@media (max-width: 600px) {
  .cod-skel__card:nth-child(n + 2) { display: none; }
}
