:root{--tw-blue-dark:#123e5e;--tw-blue-main:#1a5276;--tw-blue-light:#2b74a8;--tw-gold:#f8b333;--border-light:#e2e8f0;--text-muted:#64748b;--radius-md:6px;--shadow-md:0 4px 6px -1px rgba(0,0,0,.05);--font-sans:'Inter',system-ui,sans-serif}

/* ── Slider ── */
.tw-inline-slider{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border-light);margin:24px 0;padding:12px}
.tw-slider-track-wrap{overflow:hidden;border-radius:4px;touch-action:pan-y;position:relative;max-height:600px;background:transparent}
.tw-slider-track{display:flex;align-items:center;transition:transform .3s cubic-bezier(.25,1,.5,1);will-change:transform}
.tw-slider-track img{flex:0 0 100%;width:100%;height:auto;max-height:600px;object-fit:contain;cursor:zoom-in!important;user-select:none;background:transparent}
.tw-slider-arrow{position:absolute;top:calc(50% - 16px);transform:translateY(-50%);background:rgba(18,62,94,.7);color:#fff;border:none;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:26px;z-index:10}
.tw-slider-arrow:hover{background:#f8b333;color:#123e5e}
.tw-slider-prev{left:24px}.tw-slider-next{right:24px}
.tw-slider-dots{display:flex;justify-content:center;gap:10px;margin-top:16px}
.tw-slider-dot{width:10px;height:10px;border-radius:50%;background:#e2e8f0;cursor:pointer}
.tw-slider-dot.is-active{background:#1a5276;transform:scale(1.2)}

/* ── Lightbox ── */
.tw-lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99999;align-items:center;justify-content:center;flex-direction:column}
.tw-lb.open{display:flex}
.tw-lb-img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.6);transition:opacity .2s}
.tw-lb-close{position:fixed;top:16px;right:20px;color:#fff;font-size:36px;cursor:pointer;z-index:100000;line-height:1;opacity:.8}
.tw-lb-close:hover{opacity:1}
.tw-lb-prev,.tw-lb-next{position:fixed;top:50%;transform:translateY(-50%);color:#fff;font-size:48px;cursor:pointer;z-index:100000;padding:10px;opacity:.7;user-select:none}
.tw-lb-prev:hover,.tw-lb-next:hover{opacity:1}
.tw-lb-prev{left:10px}.tw-lb-next{right:10px}
.tw-lb-counter{position:fixed;bottom:16px;color:#fff;font-size:14px;opacity:.7}

/* ── Stats-Block (Torwartvergleich 3-spaltig) ── */
.tw-stat-block{margin:28px 0;width:100%;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}
.tw-stat-header{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;background:#123e5e;color:#fff;padding:14px 16px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.tw-stat-header .tw-sh-left{text-align:left;color:#f8b333}.tw-stat-header .tw-sh-center{text-align:center;color:rgba(255,255,255,.6);font-size:11px}.tw-stat-header .tw-sh-right{text-align:right;color:#a5c8e8}
.tw-stat-label{font-size:12px;color:#64748b;text-align:center;white-space:nowrap}
.tw-stat-bar-row{display:flex;height:3px;background:#f1f5f9;border-radius:2px;overflow:hidden}
.tw-bar-left{background:#f8b333;border-radius:3px 0 0 3px;transition:width .4s ease}.tw-bar-right{background:#2b74a8;border-radius:0 3px 3px 0;transition:width .4s ease}
.tw-stat-val{display:flex;align-items:center;width:50px;height:32px}
.tw-stat-val.left{justify-content:flex-start}
.tw-stat-val.right{justify-content:flex-end}
.tw-stat-pill{display:inline-block;padding:3px 8px;border-radius:12px;font-size:16px;font-weight:700}
.tw-stat-val.left .tw-stat-pill{color:#f8b333}
.tw-stat-val.right .tw-stat-pill{color:#1a5276}
.tw-stat-val.left .tw-stat-pill.leader-left{background:#f8b333;color:#fff}
.tw-stat-val.right .tw-stat-pill.leader-right{background:#1a5276;color:#fff}
.tw-stat-row{display:grid;grid-template-columns:50px 1fr 50px;gap:16px;align-items:center;padding:8px 16px;border-bottom:1px solid #e2e8f0;background:#fff}
.tw-stat-row:last-child{border-bottom:none}
.tw-stat-bar-wrap{display:flex;flex-direction:column;gap:4px;padding:2px 0;max-width:400px;margin:0 auto;width:100%}

/* ── Stats-Block (Torwartvergleich 4-spaltig, kein Balken) ── */
.tw-stat-header4{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;background:#123e5e;color:#fff;padding:14px 16px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.tw-stat-row4{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;padding:8px 16px;border-bottom:1px solid #e2e8f0;background:#fff}
.tw-stat-row4:last-child{border-bottom:none}
.tw-stat-val4{display:flex;align-items:center;justify-content:center;height:32px}
.tw-stat-pill4{display:inline-block;padding:3px 7px;border-radius:12px;font-size:14px;font-weight:700;color:#64748b}
.tw-stat-pill4.leader{background:#f8b333;color:#fff}

/* ── Rating-Block (torwart.de-Bewertung 3-spaltig) ── */
.tw-rate-block{margin:28px 0;width:100%;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}
.tw-rate-header{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;background:#123e5e;color:#fff;padding:14px 16px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.tw-rh-left{text-align:left;color:#f8b333}
.tw-rh-center{text-align:center;color:rgba(255,255,255,.6);font-size:11px;white-space:nowrap}
.tw-rh-right{text-align:right;color:#a5c8e8}
.tw-rate-row{display:grid;grid-template-columns:1fr 160px 1fr;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid #e2e8f0;background:#fff}
.tw-rate-row:last-child{border-bottom:none}
.tw-rate-row:hover{background:#fafbff}
.tw-rate-label{font-size:12px;color:#64748b;text-align:center;white-space:nowrap}
.tw-rate-label img,.tw-rate-header img,.tw-rate-header4 img,.tw-stat-header img,.tw-stat-header4 img{height:14px;width:20px;object-fit:contain;vertical-align:middle;position:relative;top:-1px;margin-right:3px}
.tw-dots{display:flex;gap:4px}
.tw-dots.left{justify-content:flex-start}
.tw-dots.right{justify-content:flex-end}
.tw-dots.center{justify-content:center}
.tw-dot{width:13px;height:13px;border-radius:50%;background:#e8eaed;flex-shrink:0}
.tw-dot.full{background:#f8b333}
.tw-dot.half{background:linear-gradient(to right,#f8b333 50%,#e8eaed 50%)}

/* ── Rating-Block (torwart.de-Bewertung 4-spaltig) ── */
.tw-rate-header4{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;background:#123e5e;color:#fff;padding:14px 16px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.tw-rh-c1{text-align:center;color:#f8b333}
.tw-rh-c2{text-align:center;color:#a5c8e8}
.tw-rh-c3{text-align:center;color:rgba(255,255,255,.75)}
.tw-rate-row4{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid #e2e8f0;background:#fff}
.tw-rate-row4:last-child{border-bottom:none}
.tw-rate-row4:hover{background:#fafbff}

/* ── Flash-Ersatz: HTML5-Video (global, alle Breiten) ── */
.tw-video-html5-wrap{margin:14px 0;max-width:100%}
.tw-video-html5{display:block;width:100%;height:auto;max-height:70vh;background:#000;border-radius:8px}
.tw-video-fallback{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0;padding:12px 14px;background:#f6f7f9;border:1px solid #e7eaf0;border-left:3px solid #ffc82e;border-radius:0 8px 8px 0;font-size:14px;color:#16285c}
.tw-video-fallback a{color:#2b4fa7;font-weight:600;text-decoration:none}
.tw-video-fallback a:hover{text-decoration:underline}

/* ── Hero-Bühne (Startseite, Desktop + Mobile) ── */
.tw-hero{position:relative;overflow:hidden;margin:0 0 20px;border-radius:12px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 2px 12px rgba(27,47,109,.08)}
.tw-hero-track{display:flex;align-items:stretch;transition:transform .5s cubic-bezier(.25,1,.5,1);will-change:transform}
.tw-hero-slide{flex:0 0 100%;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.tw-hero-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#eef1f5}
.tw-hero-cap{flex:1 1 auto;padding:12px 16px 13px;background:#fff;border-top:2px solid #f8b333}
.tw-hero-headline{font:800 17px/1.34 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#16285c}
.tw-hero-credit{margin-top:5px;font-size:12px;line-height:1.4;color:#64748b}
.tw-hero-slide:hover .tw-hero-headline{color:#1b2f6d}
/* Steuerleiste (Pfeile + Dots), hell */
.tw-hero-ctrl{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 0 11px;background:#fff}
.tw-hero-arrow{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #e2e8f0;border-radius:50%;background:#fff;color:#1b2f6d;font-size:20px;line-height:1;cursor:pointer;padding:0;transition:background .15s ease,color .15s ease,border-color .15s ease}
.tw-hero-arrow:hover{background:#f8b333;color:#fff;border-color:#f8b333}
.tw-hero-dots{display:flex;align-items:center;gap:8px}
.tw-hero-dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#d7deea;cursor:pointer;transition:background .2s ease,transform .2s ease}
.tw-hero-dot.is-active{background:#f8b333;transform:scale(1.25)}

/* ── Responsive ── */
@media(max-width:600px){
  /* Stat-Block: kein Overflow */
  .tw-stat-block{max-width:100%;overflow:hidden}
  /* Stat-Werte: auto-Breite damit Zahlen wie -1,18 nicht überlaufen */
  .tw-stat-val{font-size:12px;width:auto;min-width:36px;height:auto;padding:0 2px;white-space:nowrap}
  .tw-stat-pill{font-size:13px;padding:2px 6px}
  /* Bar-Wrap: max-width entfernen, min-width:0 erlaubt 1fr zu schrumpfen */
  .tw-stat-bar-wrap{max-width:none;min-width:0;overflow:hidden}
  .tw-stat-row{grid-template-columns:auto 1fr auto;gap:6px;padding:8px 10px}
  .tw-stat-header4,.tw-stat-row4{gap:4px;padding:8px 10px}
  .tw-stat-pill4{font-size:12px;padding:2px 5px}
  .tw-rate-row{grid-template-columns:1fr 120px 1fr;gap:8px;padding:9px 10px}
  .tw-rate-header4,.tw-rate-row4{gap:4px;padding:9px 10px}
  .tw-dot{width:11px;height:11px}

  /* Torwartvergleich-Header: Label "TORWARTVERGLEICH" oben zentriert als eigene Zeile */
  .tw-stat-header {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 4px 8px !important;
  }
  .tw-stat-header .tw-sh-center {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    text-align: center !important;
    font-size: 10px !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
    order: -1 !important;
  }
  /* ── Stat-Header (Torwartvergleich) Keeper-Spalten ── */
  .tw-stat-header .tw-sh-left {
    grid-column: 1 !important; grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }
  .tw-stat-header .tw-sh-right {
    grid-column: 2 !important; grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    text-align: right !important;
  }

  /* ── Rate-Header (Bewertung) Mobile-Layout ── */
  .tw-rate-header {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 4px 8px !important;
  }
  .tw-rate-header .tw-rh-center {
    grid-column: 1 / -1 !important; grid-row: 1 !important;
    text-align: center !important; font-size: 10px !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  }
  .tw-rate-header .tw-rh-left {
    grid-column: 1 !important; grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }
  .tw-rate-header .tw-rh-right {
    grid-column: 2 !important; grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    text-align: right !important;
  }

  /* Keeper-Logos (links + rechts): inline neben dem Namen */
  .tw-stat-header .tw-sh-left img,
  .tw-stat-header .tw-sh-right img,
  .tw-rate-header .tw-rh-left img,
  .tw-rate-header .tw-rh-right img {
    display: inline-block !important;
    height: 26px !important;
    width: auto !important;
    max-width: 36px !important;
    object-fit: contain !important;
    vertical-align: middle !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
  }
  /* Logo links: kleiner Abstand rechts zum Namen */
  .tw-stat-header .tw-sh-left img,
  .tw-rate-header .tw-rh-left img {
    margin-right: 5px !important;
  }
  /* Logo rechts: kleiner Abstand links vom Namen */
  .tw-stat-header .tw-sh-right img,
  .tw-rate-header .tw-rh-right img {
    margin-left: 5px !important;
  }


  /* Vereinswappen im Content-Bereich: kompakte Inline-Icon-Größe */
  body img[src*="vereinswappen"],
  body img[src*="wappen"] {
    height: 22px !important;
    width: auto !important;
    max-width: none !important;
    display: inline !important;
    vertical-align: middle !important;
    object-fit: contain !important;
  }
}

/* ==========================================================================
   RECORD 2: RESPONSIVE MOBILE LAYOUT
   ========================================================================== */

/* ====== Responsive-Patch (nur < 1000px) ====== */
@media (max-width: 1000px) {

  /* --- A0. Box-sizing — verhindert, dass Padding die 100%-Breite sprengt --- */
  #rwd, #rwd *, #rwd *::before, #rwd *::after,
  body, body *, body *::before, body *::after { box-sizing: border-box !important; }

  /* --- A0b. Seitenränder: nur auf body (10px l/r), nicht doppelt auf body > table ---
       body-Padding übernimmt die 10px. Hier nur box-sizing sicherstellen. */
  body > table { box-sizing: border-box !important; }
  /* Leere 43px-Spacer-TDs (links/rechts neben .content) ausblenden — sonst Padding-Asymmetrie auf Artikel-Seiten */
  body td[width="43"]:not(:has(*:not(img[src*="1x1.gif"]))) { display: none !important; }

  /* --- A1. Layout-Tabellen linearisieren --- */
  body table, body thead, body tbody, body tr, body td, body th {
    display: block !important; width: 100% !important; max-width: 100% !important;
    height: auto !important; float: none !important;
  }
  /* Ausnahme: Statistik-Tabellen bleiben tabellarisch (horizontal scrollbar) */
  body .content table.table_tech { display: block !important; overflow-x: auto; width: 100% !important; white-space: nowrap; }
  body .content table.table_tech tbody { display: table !important; width: 100% !important; }
  body .content table.table_tech tr { display: table-row !important; width: auto !important; }
  body .content table.table_tech td, body .content table.table_tech th { display: table-cell !important; width: auto !important; }

  /* --- A2. Spacer-/Deko-GIFs ausblenden --- */
  body img[src*="1x1.gif"], body img[src*="mainnav-left"], body img[src*="subnav-line-top"] { display: none !important; }
  /* more-icon: alle inline + feste Größe (kein Block, kein Zeilenumbruch) */
  body img[src*="more-icon"] {
    display: inline !important; vertical-align: text-top !important;
    position: relative !important; top: 1px !important;
    width: auto !important; max-width: 25px !important; height: auto !important;
    padding-top: 0 !important; padding-bottom: 0 !important;
  }
  /* Ausnahme nach padding-Regel: more-icon bekommt kein padding-top */
  body img[src*="more-icon"] { padding-top: 0 !important; padding-bottom: 0 !important; }
  /* Innerhalb von Links: GIF verstecken, » per ::before ersetzen */
  body a img[src*="more-icon"] { display: none !important; }
  body a:has(img[src*="more-icon"])::before {
    content: "»";
    font-size: 13px; font-weight: 700; margin-right: 3px;
    color: inherit;
  }

  /* --- Moderne Artikel-Link-Cards (rwd-article-link via JS-Wrapping) --- */
  body .rwd-article-link {
    margin: 6px 0 !important;
  }
  body .rwd-article-link a {
    display: block !important;
    padding: 13px 42px 13px 16px !important;
    background: #f6f7f9 !important;
    border: 1px solid #e7eaf0 !important;
    border-left: 3px solid #ffc82e !important;
    border-radius: 0 8px 8px 0 !important;
    color: #16285c !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1.45 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    transition: background 0.15s ease, box-shadow 0.15s ease !important;
    position: relative !important;
  }
  body .rwd-article-link a::after {
    content: "\203A" !important; /* › */
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: #ffc82e !important;
    opacity: 0.7 !important;
    transition: opacity 0.15s ease, transform 0.12s ease !important;
  }
  body .rwd-article-link a:hover {
    background: rgba(27, 47, 109, 0.11) !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.09) !important;
    color: #1b2f6d !important;
    text-decoration: none !important;
  }
  body .rwd-article-link a:hover::after {
    opacity: 1 !important;
    transform: translateY(-50%) translateX(3px) !important;
  }

  /* --- Shop-Showcase: doppelte News aus, Handschuh-Vorstellungen als Bild-Grid --- */
  body .tw-news-dup, body .tw-hr-dup, body .tw-shop-orig { display: none !important; }
  body .tw-shop-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 6px 0 16px !important;
  }
  body .tw-shop-card {
    flex: 0 0 calc(50% - 5px) !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid #e7eaf0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(27,47,109,.07) !important;
    transition: box-shadow .15s ease, transform .15s ease !important;
  }
  body .tw-shop-card:hover {
    box-shadow: 0 6px 16px rgba(27,47,109,.14) !important;
    transform: translateY(-2px) !important;
  }
  /* Banner sind immer 220×341 → echtes <img> füllt die Kachelbreite voll aus, natürliche Höhe */
  body img.tw-shop-card-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
  body .tw-shop-card-noimg {
    aspect-ratio: 220 / 341 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 34px !important;
    background-image: linear-gradient(135deg, #1b2f6d 0%, #2b4fa7 100%) !important;
  }
  body .tw-shop-card-noimg::before { content: "🧤" !important; }
  body .tw-shop-card-label {
    padding: 9px 11px 11px !important;
    font: 700 13px/1.32 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
    color: #16285c !important;
  }

  /* --- A3. Bilder fluid --- */
  body img { max-width: 100% !important; height: auto !important; }
  /* --- A4. Hintergrund-Slices (td background-Attribut) zaehmen --- */
  body td[background] { background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
  body .gsc-control-cse { float: none !important; width: 100% !important; padding: 6px 10px !important; }

  /* --- B. Kopf: kein Ueberlauf + saubere Logo-Leiste statt altem Header-Wirrwarr --- */
  html, body { overflow-x: hidden !important; }
  body td[align="right"] { text-align: center !important; }

  /* Originalen Header-Krempel auf Mobilgeraeten ausblenden:
    Nur gezielt die bekannten Header-Elemente, NICHT pauschal tr:first-child
    (das wuerde den Hauptinhalt treffen). */
  body table[height="72"],
  body tr:has(.ph-logo),
  body tr:has(.gsc-control-cse),
  body tr:has(.gcse-search),
  body img[src*="topbar-right"],
  body img[src*="slogan-left-big"],
  body td:has(img[src*="slogan-left-big"]) {
    display: none !important;
  }

  /* Originaler Slogan- & Shop-Banner-Bereich (responsive stapeln statt ausblenden) */

  body tr:has(img[src*="slogan"]) {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    background: #ffffff !important;
  }
  body td:has(img[src*="slogan"]):not(:has(img[src*="slogan-left-big"])) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    padding: 15px 0 !important;
    background: #f4f2ee !important;
    border-bottom: 1px solid #e4e7ee !important;
    box-sizing: border-box !important;
  }
  body img[src*="slogan"]:not([src*="slogan-left-big"]) {
    max-width: 80% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* --- F3. Shop-Banner fuer Mobile modernisieren (Extrem Kompakt & Premium) --- */
  body td:has(.topfeature) {
    display: block !important;
    position: relative !important;
    width: auto !important;
    margin: 10px 0 !important;
    border-radius: 16px !important;
    /* Explizite Longhands überschreiben das HTML-Attribut background="...feature-top-big.jpg" zuverlässig */
    background-color: #ffc83a !important;
    background-image: radial-gradient(130% 130% at 0% 0%, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 42%), linear-gradient(135deg, #ffd86b 0%, #ffc736 52%, #f0a90f 100%) !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    padding: 16px 16px !important;
    box-shadow: 0 10px 30px -8px rgba(214,150,20,.5), inset 0 1px 0 rgba(255,255,255,.55) !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,255,255,.4) !important;
  }
  /* SALE-Badge oben rechts — pulsierend mit Glüh-Ring für Aufmerksamkeit */
  @keyframes tw-sale-pulse {
    0%   { transform: scale(1);    box-shadow: 0 4px 10px -2px rgba(225,29,29,.55), inset 0 1px 0 rgba(255,255,255,.3), 0 0 0 0 rgba(225,29,29,.5); }
    55%  { transform: scale(1.1);  box-shadow: 0 7px 16px -2px rgba(225,29,29,.7), inset 0 1px 0 rgba(255,255,255,.3), 0 0 0 9px rgba(225,29,29,0); }
    100% { transform: scale(1);    box-shadow: 0 4px 10px -2px rgba(225,29,29,.55), inset 0 1px 0 rgba(255,255,255,.3), 0 0 0 0 rgba(225,29,29,0); }
  }
  body td:has(.topfeature)::after {
    content: "SALE" !important;
    position: absolute !important;
    top: 9px !important;
    right: 9px !important;
    z-index: 3 !important;
    background-image: linear-gradient(135deg, #ff5a4d 0%, #e11d1d 100%) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 10px -2px rgba(225,29,29,.55), inset 0 1px 0 rgba(255,255,255,.3) !important;
    pointer-events: none !important;
    transform-origin: center !important;
    animation: tw-sale-pulse 1.4s ease-in-out infinite !important;
  }
  /* SALE-Badge auch im Burger-Menü beim Shop-Link (rechtsbündig, pulsierend) */
  body #nav a[href*="shop.torwart"],
  body #rwd-sticky-nav a[href*="shop.torwart"] {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  body #nav a[href*="shop.torwart"]::after,
  body #rwd-sticky-nav a[href*="shop.torwart"]::after {
    content: "SALE" !important;
    flex: 0 0 auto !important;
    margin-left: 10px !important;
    background-image: linear-gradient(135deg, #ff5a4d 0%, #e11d1d 100%) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 1.3px !important;
    text-transform: uppercase !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 10px -2px rgba(225,29,29,.55), inset 0 1px 0 rgba(255,255,255,.3) !important;
    transform-origin: center !important;
    animation: tw-sale-pulse 1.4s ease-in-out infinite !important;
  }
  body td:has(.topfeature) table,
  body td:has(.topfeature) tbody,
  body td:has(.topfeature) tr {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    border: none !important;
  }
  body td:has(.topfeature) tr {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 8px !important;
  }
  
  /* Desktop-Spacer td links ausblenden, damit kein leerer Raum entsteht */
  body td:has(.topfeature) tr td:first-child {
    display: none !important;
  }
  
  body .topfeature {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0 !important;
    width: auto !important;
    flex: 1 1 65% !important;
    font-size: 0 !important; /* Versteckt den langen originalen Marken-Text */
  }
  
  /* Headline-Bild ausblenden und durch Text ersetzen */
  body .topfeature img[src*="headline"] {
    display: none !important;
  }
  body .topfeature a:first-child {
    display: block !important;
    text-decoration: none !important;
    width: 100% !important;
    margin: 0 0 2px 0 !important;
  }
  body .topfeature a:first-child::after {
    content: "TORWART.DE ONLINE-SHOP" !important;
    display: block !important;
    color: #16285c !important;
    font-size: 13.5px !important;
    font-weight: 900 !important;
    letter-spacing: .5px !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.3) !important;
  }

  /* Kleiner kompakter Untertitel mit den wichtigsten Marken kombiniert */
  body .topfeature::before {
    content: "Torwarthandschuhe von adidas, Reusch, Uhlsport, Nike, Puma u.v.m." !important;
    display: block !important;
    color: #3a4775 !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    margin: 4px 0 10px !important;
    line-height: 1.4 !important;
    letter-spacing: .1px !important;
    order: 2 !important; /* Unter der Headline */
    text-align: center !important;
  }

  /* Button-Bild ausblenden und durch echten, kompakten Button ersetzen */
  body .topfeature img[src*="button-shop"] {
    display: none !important;
  }
  body .topfeature a:has(img[src*="button-shop"]) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #1b2f6d !important;
    background-image: linear-gradient(135deg, #2b4fa7 0%, #1b2f6d 100%) !important;
    color: #ffffff !important;
    padding: 9px 22px !important;
    border-radius: 24px !important;
    font-weight: 800 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    text-decoration: none !important;
    box-shadow: 0 6px 16px -4px rgba(27,47,109,.55), inset 0 1px 0 rgba(255,255,255,.18) !important;
    margin: 2px 0 0 0 !important;
    width: auto !important;
    order: 3 !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
  }
  body .topfeature a:has(img[src*="button-shop"]):hover {
    animation-play-state: paused !important;
    background-image: linear-gradient(135deg, #3a5fc0 0%, #24407f 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px -4px rgba(27,47,109,.65), inset 0 1px 0 rgba(255,255,255,.25), 0 0 0 2px rgba(255,200,46,.55) !important;
  }
  body .topfeature a:has(img[src*="button-shop"])::after {
    content: "Go Shopping →" !important;
  }

  /* Handschuhe-Grafik rechts daneben platzieren */
  body td:has(img[src*="topfeature-shop-right"]) {
    flex: 0 0 30% !important;          /* reserviert Platz → Text bleibt links, Headline einzeilig */
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    overflow: visible !important;
  }
  body img[src*="topfeature-shop-right"] {
    position: absolute !important;     /* relativ zur Karte → frei in die untere rechte Ecke */
    right: 8px !important;             /* komplett im Kasten, nah am rechten Rand */
    bottom: 8px !important;            /* unten, aber voll innerhalb der Karte */
    max-width: 135px !important;       /* Größerer Handschuh-Stapel */
    height: auto !important;
    filter: drop-shadow(0 5px 12px rgba(0,0,0,.24)) !important;
    display: block !important;
    margin: 0 !important;
    z-index: 1 !important;
  }

  /* Facebook-Boxen in der Sidebar/Footer komplett ausblenden */
  body iframe[src*="facebook"],
  body .fb-page,
  body .fb-like-box,
  body .leftcontent table:has(iframe[src*="facebook"]),
  body .leftcontent table:has(a[href*="facebook.com"]) {
    display: none !important;
  }

  /* B1. Burger-Button mit integriertem Branding-Logo */
  #rwd-burger {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: auto !important;
    margin: 8px 0 !important;
    padding: 10px 16px !important;
    background: linear-gradient(180deg,#2b4fa7,#244196) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(27,47,109,.18) !important;
  }
  #rwd-burger .rwd-burger-logo {
    height: 26px !important;
    width: auto !important;
    display: block !important;
  }
  #rwd-burger .rwd-burger-trigger {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  #rwd-burger .bars { position: relative; display: inline-block; width: 22px; height: 2px; background: #fff; }
  #rwd-burger .bars::before, #rwd-burger .bars::after { content: ""; position: absolute; left: 0; width: 22px; height: 2px; background: #fff; }
  #rwd-burger .bars::before { top: -6px; }
  #rwd-burger .bars::after { top: 6px; }
  #rwd-burger .rwd-burger-trigger span {
    font: bold 13px/1 Arial, sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: .6px !important;
  }

  /* B2. Hauptmenue als Panel */
  body #nav { display: none; background: #2b4fa7; padding: 0 !important; border-radius: 0; margin: 0 -10px 8px !important; width: calc(100% + 20px) !important; overflow: hidden; }
  body #nav.nav-open { display: block; }
  body #nav > li {
    float: none !important;
    border-left: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.18);
    font-size: 14px;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    width: 100% !important;
  }
  body #nav > li > a:link, body #nav > li > a:visited, body #nav > li > a:active {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 13px 20px !important;
    box-sizing: border-box !important;
  }

  /* Wenn top-level li geöffnet ist, sorgen wir für einen eleganten Hintergrund */
  body #nav > li.rwd-main-expanded {
    background: rgba(0, 0, 0, 0.08) !important;
  }

  /* Inneres UL unter Hauptmenü-Punkten (z.B. LOGIN unter HOME) standardmäßig stylen */
  body #nav > li > ul {
    width: 100% !important;
    list-style: none !important;
    padding: 0 0 0 20px !important;
    margin: 0 !important;
    background: rgba(0, 0, 0, 0.15) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
  }

  body #nav > li > ul > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
  }
  body #nav > li > ul > li:last-child {
    border-bottom: 0 !important;
  }

  /* --- C. Inhalt / Spalten --- */
  body .leftcontent, body .content { padding: 10px 15px !important; }

  /* C1. Reihenfolge: ARTIKEL zuerst, Kategorie-/Navi-Spalte DARUNTER (via :has, ohne Template-Edit) */
  body tr:has(> td.leftcontent) { display: flex !important; flex-direction: column !important; }
  body tr:has(> td.leftcontent) > td:has(.content) { order: 1 !important; }
  body tr:has(> td.leftcontent) > td.leftcontent { order: 2 !important; }
  body tr:has(> td.leftcontent) > td:not(.leftcontent):not(:has(.content)) { order: 3 !important; }

  /* C2. Kategorie-Navigation (#subnav) einklappbar — Jetzt gemergt in Burger-Menü */
  .rwd-cat-toggle { display: none !important; }
  body #subnav { display: none !important; }
  body td:has(#subnav) { display: none !important; }

  /* Premium Accordion Styling für das gemergte Submenü im Burger */
  body #nav li .rwd-cat-tree {
    display: none;
    list-style: none !important;
    padding: 0 !important;
    margin: 8px 15px 12px 15px !important;
    background: rgba(0, 0, 0, 0.25) !important;
    border-radius: 6px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    overflow: hidden !important;
    width: calc(100% - 30px) !important; /* Passt sich der Breite an */
  }

  body #nav li .rwd-cat-tree li {
    position: relative !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-left: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body #nav li .rwd-cat-tree li:last-child {
    border-bottom: 0 !important;
  }

  body #nav li .rwd-cat-tree li a {
    flex: 1 1 auto !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    float: none !important;
    border-bottom: 0 !important;
  }

  body #nav li .rwd-cat-tree li.active > a,
  body #nav li .rwd-cat-tree li.actifsub > a,
  body #nav li .rwd-cat-tree li.curifsub > a {
    color: #ffc82e !important; /* Premium gold torwart.de highlight */
    font-weight: 700 !important;
    background: rgba(255, 255, 255, 0.04) !important;
  }

  body #nav li .rwd-cat-tree li a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.08) !important;
  }



  /* Verschachtelte Ebenen 2 & 3 Einrückung */
  body #nav li .rwd-cat-tree ul {
    width: 100% !important;
    list-style: none !important;
    padding: 0 0 0 12px !important;
    margin: 0 !important;
    background: rgba(0, 0, 0, 0.12) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.04) !important;
  }

  /* --- D. Footer — neu gestalten --- */

  /* GIF-Icons ausblenden, Links bleiben erhalten */
  body img[src*="icon-"] { display: none !important; }

  /* Footer-Zeilen als Block stapeln */
  body td.impressum,
  body td.functionsbottom { display: block !important; width: 100% !important; }

  /* Impressum-Zeile: dunkel, mit Copyright */
  body td.impressum {
    text-align: center !important;
    padding: 18px 16px 14px !important;
    background: #1b2f6d !important;
    border-top: none !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.55) !important;
    font-family: system-ui, -apple-system, Arial, sans-serif !important;
    letter-spacing: .2px !important;
    order: 99 !important;
  }
  body td.impressum a {
    color: rgba(255,255,255,0.80) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
  }
  body td.impressum a:hover { color: #f6c42f !important; }

  /* functionsbottom-Zeile: 2×2-Grid auf dunklem Hintergrund */
  /* Container-Chain: Breite auf Viewport deckeln */
  body table:has(td.functionsbottom),
  body tbody:has(td.functionsbottom),
  body td:has(table:has(td.functionsbottom)) {
    overflow: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* functionsbottom-Zeile: flex, eine Zeile, zentriert */
  body tr:has(> td.functionsbottom) {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    background: #1b2f6d !important;
    padding: 12px 16px !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* Leere Zellen (nur GIF-Icons, kein Link) ausblenden */
  body td.functionsbottom:empty,
  body td.functionsbottom:not(:has(a)) { display: none !important; }

  /* Zellen mit Links: kompakt, auto-Breite */
  body td.functionsbottom:has(a) {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* Icon-Buttons: quadratisch, kompakt */
  body td.functionsbottom a,
  body .functionsbottom a:link,
  body .functionsbottom a:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    color: rgba(255,255,255,0.75) !important;
    text-decoration: none !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    background: rgba(255,255,255,0.08) !important;
  }
  body td.functionsbottom a:hover {
    background: rgba(255,255,255,0.15) !important;
    color: #fff !important;
  }

  /* SVG-Icons via ::before */
  body td.functionsbottom a[href*="sitemap"]::before,
  body td.functionsbottom a[href*="Sitemap"]::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.8)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
    display: inline-block; line-height: 0; vertical-align: middle;
  }
  body td.functionsbottom a[href*="print"]::before,
  body td.functionsbottom a[href*="druck"]::before,
  body td.functionsbottom a[href*="Druck"]::before,
  body td.functionsbottom a[href*="version"]::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.8)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V2h12v7'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8'/%3E%3C/svg%3E");
    display: inline-block; line-height: 0; vertical-align: middle;
  }
  body td.functionsbottom a[href*="pagetop"]::before,
  body td.functionsbottom a[href="#pagetop"]::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.8)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 15l-6-6-6 6'/%3E%3C/svg%3E");
    display: inline-block; line-height: 0; vertical-align: middle;
  }
  body td.functionsbottom a[class*="tipafriend"]::before,
  body td.functionsbottom a[class*="icon"]::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.8)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
    display: inline-block; line-height: 0; vertical-align: middle;
  }

  /* Nur Icons — Link-Text ausblenden (alle Pseudo-Klassen um :link-Spezifität zu schlagen) */
  body td.functionsbottom a,
  body td.functionsbottom a:link,
  body td.functionsbottom a:visited,
  body td.functionsbottom a:active {
    font-size: 0 !important;
    line-height: 0 !important;
  }
  body td.functionsbottom a img { display: none !important; }

  body #topBanner a:link, body #topBanner a:visited, body #topBanner a:active { width: 100% !important; }

  /* --- E. Formulare (pw_comments / powermail / csc-mailform / generisch) --- */

  /* Fieldset-Rahmen weg — trifft gold border aus main.css */
  body fieldset {
    border: none !important; border-left: none !important;
    padding: 0 !important; margin: 0 0 8px !important;
  }
  /* Gold-Border auf dem Wrapper-DIV selbst (.csc-mailform, .tx-powermail) entfernen */
  body .csc-mailform,
  body .tx-powermail {
    border: none !important; border-left: none !important;
    padding-left: 0 !important;
  }

  /* Labels — generisch alle Formulare: float aufheben, über Feld stapeln */
  body .content label,
  body form label {
    float: none !important; display: block !important;
    width: 100% !important; margin: 0 0 5px !important;
    font-size: 13px !important; font-weight: 600 !important;
    color: #374151 !important;
  }

  /* Alle Texteingaben: volle Breite, margin-left 170px aufheben */
  body .content input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body .content select,
  body .content textarea,
  body form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body form select,
  body form textarea {
    display: block !important; float: none !important;
    margin: 0 0 14px 0 !important;
    width: 100% !important; max-width: 100% !important;
    padding: 11px 13px !important; font-size: 15px !important;
    border: 1.5px solid #d1d5db !important; border-radius: 8px !important;
    background: #fff !important; box-sizing: border-box !important;
    color: #111827 !important; -webkit-appearance: none !important;
  }
  body form textarea { min-height: 110px !important; resize: vertical !important; }

  /* Submit-Button — nach den generischen Selektoren mit höherer Spezifität */
  body input[type="submit"],
  body button[type="submit"],
  body .powermail_submit,
  body .csc-mailform-submit {
    display: inline-block !important; width: auto !important; float: none !important;
    background: #1b2f6d !important; background-image: none !important;
    color: #fff !important; border: 0 !important; border-radius: 10px !important;
    padding: 13px 32px !important; font-size: 15px !important; font-weight: 700 !important;
    cursor: pointer !important; margin: 6px 0 16px !important; letter-spacing: .3px !important;
    box-shadow: 0 3px 10px rgba(27,47,109,.25) !important;
    -webkit-appearance: none !important;
  }

  /* Formular-Wrapper als Karte */
  body .tx-pwcomments, body .tx-pwcomments-pi1,
  body .tx-powermail, body .csc-mailform {
    background: #f8fafc !important; border-radius: 10px !important;
    padding: 16px !important; margin: 16px 0 !important;
    border: 1px solid #e5e7eb !important;
  }

  /* --- F. Design-Feinschliff --- */
  body { background: #fff !important; }
  body, body table, body td, body p, body li, body a {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
  }
  /* Artikel-Spalte (enthaelt .content) als weisse Karte */
  body tr:has(> td.leftcontent) > td:has(.content) {
    background: #fff !important; margin: 0 !important; border-radius: 0 !important;
    box-shadow: none !important; overflow: hidden;
    width: 100% !important;
  }
  body .content { padding: 16px 8px !important; }
  body .content h1, body .headline1, body .leftcontent h1 {
    font-size: 21px !important; line-height: 1.25 !important; color: #1b2f6d !important;
    font-weight: 700 !important; letter-spacing: -.01em; margin: 2px 0 12px !important;
  }
  body .content h2 { font-size: 18px !important; color: #1b2f6d !important; margin: 18px 0 8px !important; }
  /* Grafische GIF-Überschriften (Layout 5): GIF aus, echter Text als Abschnitts-Header */
  body img[src*="graf-headline-background"] { display: none !important; }
  body .tw-gfx-headline {
    display: block !important;
    position: relative !important;
    font: 800 16px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
    color: #1b2f6d !important;
    text-transform: uppercase !important;
    letter-spacing: .6px !important;
    padding: 0 0 9px 0 !important;
    margin: 26px 0 14px !important;
    border-bottom: 2px solid #e4e7ee !important;
    background: none !important;
  }
  /* Kurzer Gold-Akzent links unter dem Text — klare Abschnitts-Markierung */
  body .tw-gfx-headline::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -2px !important;
    width: 44px !important;
    height: 2px !important;
    background: #ffc82e !important;
  }
  body .content, body .content p { font-size: 15px !important; line-height: 1.62 !important; color: #2a2f3a !important; }
  body .content p { margin: 0 0 14px !important; }
  /* Lange Wörter umbrechen statt am Kartenrand abschneiden (Sicherheitsnetz, kein Body-Effekt im Normalfall) */
  body .content { overflow-wrap: break-word !important; }
  /* Breadcrumb-Pfad: echte Silbentrennung mit Bindestrich (lang="de" ist gesetzt) statt hartem Clip */
  body .tw-breadcrumb {
    -webkit-hyphens: auto !important; hyphens: auto !important;
    overflow-wrap: break-word !important;
    -webkit-hyphenate-limit-before: 3; -webkit-hyphenate-limit-after: 3;
    hyphenate-limit-chars: 6 3 3;
  }
  body .content hr { border: 0 !important; border-top: 1px solid #e4e7ee !important; margin: 6px 0 !important; }
  /* YouTube-Videos: aus dem 8px-Content-Padding ausbrechen → volle Kartenbreite */
  body .tw-video-full {
    width: calc(100% + 16px) !important;
    max-width: none !important;
    margin-left: -8px !important; margin-right: -8px !important;
    margin-top: 14px !important; margin-bottom: 14px !important;
  }
  body .content a { color: #2b4fa7 !important; }
  body .content a:hover { text-decoration: underline !important; }

  /* Info-Boxen / Floated-Boxen mit festen Breiten auf Mobile linearisieren */
  body .content div[style*="float: right"],
  body .content div[style*="float:right"],
  body .content div[style*="width: 300px"],
  body .content div[style*="width:300px"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    box-sizing: border-box !important;
  }
  /* Linke Spalte (Sidebar/Ticker) als Karte - transparent */
  body .leftcontent {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    width: auto !important;
  }

  /* Subnav — 3-Ebenen-Hierarchie */
  body #subnav {
    background: #fff !important;
    margin: 0 0 8px !important;
    border-radius: 0 !important;
    box-shadow: 0 4px 12px rgba(27,47,109,.08) !important;
    padding: 4px 0 6px !important;
    overflow: hidden !important;
  }

  /* Reset für alle Ebenen */
  body #subnav li { border: 0 !important; border-bottom: 1px solid #f0f2f5 !important; }
  body #subnav li:last-child,
  body #subnav li ul li:last-child,
  body #subnav li ul li ul li:last-child { border-bottom: 0 !important; }
  body #subnav ul { padding: 0 !important; margin: 0 !important; border-top: 1px solid #f0f2f5 !important; }

  /* EBENE 1: Hauptkategorien — kompakt, uppercase, kräftig */
  body #subnav > li > a:link,
  body #subnav > li > a:visited,
  body #subnav > li > a:active {
    display: block !important;
    padding: 10px 16px !important;
    font-size: 11px !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: .05em !important;
    color: #1b2f6d !important;
  }
  body #subnav > li > a:hover { background: #f5f7fa !important; }
  /* Aktive L1 */
  body #subnav > li.active > a,
  body #subnav > li.curifsub > a,
  body #subnav > li.actifsub > a {
    color: #1b2f6d !important;
    background: #fef9ee !important;
    box-shadow: inset 3px 0 0 #f8b333 !important;
    font-weight: 800 !important;
  }

  /* EBENE 2: Unterkategorien — etwas kleiner, eingerückt, grau */
  body #subnav > li > ul > li > a:link,
  body #subnav > li > ul > li > a:visited,
  body #subnav > li > ul > li > a:active {
    display: block !important;
    padding: 8px 16px 8px 24px !important;
    font-size: 11px !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: .04em !important;
    color: #475569 !important;
  }
  body #subnav > li > ul > li > a:hover { background: #f8f9fb !important; color: #1b2f6d !important; }
  body #subnav > li > ul > li.active > a,
  body #subnav > li > ul > li.curifsub > a,
  body #subnav > li > ul > li.actifsub > a {
    color: #1b2f6d !important;
    background: #fef9ee !important;
    box-shadow: inset 3px 0 0 #f8b333 !important;
    font-weight: 700 !important;
  }

  /* EBENE 3: Artikel — normal case, kompakt, stärker eingerückt */
  body #subnav > li > ul > li > ul > li > a:link,
  body #subnav > li > ul > li > ul > li > a:visited,
  body #subnav > li > ul > li > ul > li > a:active {
    display: block !important;
    padding: 7px 14px 7px 34px !important;
    font-size: 12px !important; font-weight: 400 !important;
    text-transform: none !important; letter-spacing: 0 !important;
    color: #64748b !important; line-height: 1.35 !important;
  }
  body #subnav > li > ul > li > ul > li > a:hover { color: #1b2f6d !important; background: #f8f9fb !important; }
  body #subnav > li > ul > li > ul > li.active > a,
  body #subnav > li > ul > li > ul > li.cur > a {
    color: #1b2f6d !important; font-weight: 600 !important;
    background: #fef9ee !important;
    box-shadow: inset 3px 0 0 #f8b333 !important;
  }

  /* iframes responsive — Video-Embeds (YouTube, Vimeo etc.) mit 16:9-Ratio */
  body iframe:not([src*="facebook"]):not([src*="fb.com"]) {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Video-iframes: aspect-ratio statt fixer Höhe */
  body iframe[src*="youtube"],
  body iframe[src*="youtu.be"],
  body iframe[src*="vimeo"],
  body iframe[src*="player."],
  body .ce-html iframe,
  body .tx-flvplayer-pi1 iframe {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
  }
  /* Wrapper-Elemente die iframes enthalten: overflow verhindern */
  body .ce-html,
  body .tx-flvplayer-pi1 { max-width: 100% !important; overflow: hidden !important; }

  /* TYPO3-Bilder (Text-mit-Bild) als Flex-Container stapeln
     Gilt fuer DIV- und TABLE-basierte CSC-Ausgabe. */
  body .csc-textpic,
  body .ce-textpic,
  body .csc-textpic tr,
  body .ce-textpic tr,
  body .csc-textpic tbody,
  body .ce-textpic tbody {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    float: none !important;
  }

  /* Bild-Container: order: -1 -> erscheint IMMER ZUERST */
  body .csc-textpic > .csc-textpic-imagewrap,
  body .ce-textpic > .ce-gallery,
  body td.csc-textpic-image,
  body td.csc-textpic-imagewrap,
  body td.csc-textpic-imagecolumn,
  body td:has(> .csc-textpic-image),
  body td:has(.csc-textpic-imagewrap),
  body td:has(.csc-textpic-imagecolumn),
  body td:has(.ce-gallery) {
    order: -1 !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
  }

  /* Text-Container: order: 0 (kommt nach order:-1) */
  body .csc-textpic > .csc-textpic-text,
  body .ce-textpic > .ce-bodytext,
  body .ce-textpic > .ce-body,
  body td.csc-textpic-text,
  body td:has(.csc-textpic-text),
  body td:has(.ce-body) {
    order: 0 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Fallback: td ohne Klasse = Textzelle in TABLE-basierter Ausgabe */
  body [class*="csc-textpic-intext"] tr > td:not([class]),
  body [class*="csc-textpic-intext"] tr > td:not(.csc-textpic-image):not(.csc-textpic-imagewrap):not(.csc-textpic-imagecolumn) {
    order: 0 !important;
  }

  body .csc-textpic-image,
  body .csc-textpic-imagerow,
  body .csc-textpic-equalheight,
  body .csc-textpic-imagecolumn {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    float: none !important;
    margin: 0 0 12px 0 !important;
    display: block !important;
  }
  body .csc-textpic-image:last-child,
  body .csc-textpic-imagerow:last-child,
  body .csc-textpic-imagecolumn:last-child {
    margin-bottom: 0 !important;
  }

  /* news-single-img (floated Artikel-Bild): auch zentriert über dem Text */
  body .news-single-img {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto 20px auto !important;
  }

  body .csc-textpic-image img,
  body .news-single-img img,
  body .ce-textpic .ce-gallery img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* Bildunterschriften (Captions) sauber ausrichten */
  body figcaption.csc-textpic-caption,
  body .csc-textpic-caption,
  body .ce-textpic .ce-caption {
    padding: 6px 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  /* Sonstige Bilder fluid halten */
  body img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* Eingebettete Content-Bilder (TYPO3 csc/ce/direct im .content) bekommen 10px Abstand oben */
  body .content img:not([src*="more-icon"]):not([src*="icon-"]):not([src*="1x1"]):not([src*="wappen"]):not([src*="vereinswappen"]):not([src*="logo"]):not([src*="slogan"]):not([src*="banner"]):not([src*="button"]):not(.tw-hero-img) {
    margin-top: 10px !important;
  }
  /* Erstes Bild direkt am Anfang eines Content-Blocks braucht keinen Extra-Abstand oben */
  body .content > img:first-child,
  body .content p:first-child > img,
  body .csc-textpic-image img,
  body .news-single-img img,
  body .ce-textpic .ce-gallery img {
    margin-top: 0 !important;
  }


  /* Ausnahme: Logos in stat/rate-Headern bleiben inline und kompakt —
     display:block + height:auto vom Patch oben überschreibt sonst height:14px */
  .tw-stat-header img,
  .tw-rate-header img,
  .tw-stat-header4 img,
  .tw-rate-header4 img,
  body img[src*="vereinswappen"],
  body img[src*="wappen"] {
    display: inline !important;
    height: 20px !important;
    width: auto !important;
    max-width: 28px !important;
    object-fit: contain !important;
    vertical-align: middle !important;
  }
  body .topfeature { padding: 12px 14px !important; line-height: 1.5; }

  /* --- F. Sticky-Header — immer sichtbar als permanenter Top-Bar --- */
  #rwd-stickybar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    background: #1b2f6d; color: #fff;
    box-shadow: 0 4px 16px rgba(0,0,0,.20);
  }
  /* Body-Padding damit Inhalt nicht unter der fixen Leiste steckt + Seitenränder */
  body { padding-top: 56px !important; padding-left: 10px !important; padding-right: 10px !important; }
  #rwd-stickybar .rwd-sticky-logo {
    height: 26px !important;
    width: auto !important;
    display: block !important;
  }
  #rwd-stickybar .sb-burger { margin-left: auto; width: 42px; height: 36px; border: 1px solid rgba(255,255,255,.4); border-radius: 9px; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
  #rwd-stickybar .sb-burger .bars { position: relative; display: inline-block; width: 18px; height: 2px; background: #fff; }
  #rwd-stickybar .sb-burger .bars::before, #rwd-stickybar .sb-burger .bars::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: #fff; }
  #rwd-stickybar .sb-burger .bars::before { top: -5px; }
  #rwd-stickybar .sb-burger .bars::after { top: 5px; }
  #rwd-stickybar #rwd-sticky-nav { display: none; list-style: none; margin: 0; padding: 6px; position: absolute; top: 100%; left: 0; right: 0; background: #1b2f6d; box-shadow: 0 10px 24px rgba(0,0,0,.28); max-height: calc(100vh - 60px) !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; }
  #rwd-stickybar.nav-open #rwd-sticky-nav { display: block; }
  #rwd-stickybar #rwd-sticky-nav li { list-style: none; }
  #rwd-stickybar #rwd-sticky-nav a { display: block; color: #fff; padding: 12px 16px; font-weight: 600; border-radius: 8px; text-transform: uppercase; font-size: 14px; letter-spacing: .3px; }
  #rwd-stickybar #rwd-sticky-nav a:hover { background: rgba(255,255,255,.10); }
  #rwd-stickybar #rwd-sticky-nav > li.active > a { background: #e5b31e !important; color: #1b2f6d !important; }

  /* Alter inline Burger-Button ausblenden wenn Stickybar existiert */
  body:has(#rwd-stickybar) #rwd-burger { display: none !important; }

  /* --- F2. Service-Navigation (Reiter oben) fuer Mobile optimieren --- */
  body .serviceNavigationContainer {
    margin-left: -10px !important; margin-right: -10px !important; margin-bottom: 12px !important;
    width: calc(100% + 20px) !important;
    background-color: #fff !important;
    border-bottom: 1px solid #e4e7ee !important;
    padding: 0 !important;
  }
  body .serviceNavigationContainer .serviceNavigation {
    display: flex !important;
    justify-content: space-around !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 4px !important;
  }
  body .serviceNavigationContainer .serviceNavigation li {
    display: block !important;
    flex: 1 !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body .serviceNavigationContainer .serviceNavigation li a {
    font-size: 11px !important;
    line-height: 42px !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
    color: #4b5563 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important;
  }
  body .serviceNavigationContainer .serviceNavigation li.active a {
    color: #1b2f6d !important;
    border-bottom: 3px solid #ffc82e !important;
    line-height: 39px !important;
  }
  body .serviceNavigationContainer .serviceNavigation li:hover a {
    border-bottom-color: #1b2f6d !important;
  }

  /* --- Homepage: Feature-Boxen 2-spaltig (Forum/Training/Goldener | Shop/Community) --- */
  body table:has(img[src*="feature-forum-gross"]) > tbody > tr:has(> td[width="280"]) {
    display: flex !important; flex-wrap: nowrap !important;
    gap: 8px !important; align-items: flex-start !important;
  }
  body table:has(img[src*="feature-forum-gross"]) > tbody > tr > td[width="280"] {
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important; max-width: calc(50% - 4px) !important;
  }
  body table:has(img[src*="feature-forum-gross"]) > tbody > tr > td[width="102"] {
    display: none !important;
  }

  /* --- Homepage: Banner-Bilder 2-spaltig --- */
  body .frame-type-html > center > center {
    display: flex !important; flex-wrap: wrap !important;
    gap: 8px !important; width: 100% !important;
  }
  body .frame-type-html > center > center > a,
  body .frame-type-html > center > center > p {
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important; margin: 0 !important; display: block !important;
  }
  body .frame-type-html > center > center img { width: 100% !important; height: auto !important; }
  body a:has(> #banner-rotation) { display: block !important; width: 100% !important; }
  body #banner-rotation {
    display: flex !important; flex-wrap: wrap !important;
    gap: 8px !important; width: 100% !important;
  }
  body #banner-rotation > p { display: none !important; }
  body #banner-rotation > a {
    flex: 0 0 calc(50% - 4px) !important; width: calc(50% - 4px) !important; display: block !important;
  }
  body #banner-rotation > a:last-of-type:nth-of-type(odd) {
    flex: 0 0 100% !important; width: 100% !important;
  }
  body #banner-rotation img { width: 100% !important; height: auto !important; }
  body center:has(img[src*="banner-datenbank"]) > a:has(img),
  body center:has(img[src*="contentproxy"]) > a:has(img) {
    display: block !important; width: 100% !important;
  }
  body center:has(img[src*="banner-datenbank"]) img,
  body center:has(img[src*="contentproxy"]) img { width: 100% !important; height: auto !important; }

  /* === Torwarttraining-Datenbank: Imagemap → Accordion === */
  body img.tw-tdb-orig { display: none !important; }
  body .tw-tdb { margin: 12px 0 18px !important; }
  body .tw-tdb-title {
    font: 800 16px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
    color: #16285c !important;
    padding: 0 2px 9px !important;
    border-bottom: 2px solid #e4e7ee !important;
    margin-bottom: 10px !important;
    position: relative !important;
  }
  body .tw-tdb-title::after {
    content: "" !important; position: absolute !important; left: 2px !important; bottom: -2px !important;
    width: 46px !important; height: 2px !important; background: #f8b333 !important;
  }
  body .tw-tdb-cat { margin: 7px 0 !important; }
  body .tw-tdb-head {
    display: flex !important; align-items: center !important; gap: 10px !important;
    width: 100% !important; box-sizing: border-box !important;
    padding: 13px 14px !important;
    background: #f6f7f9 !important;
    border: 1px solid #e7eaf0 !important;
    border-left: 3px solid #ffc82e !important;
    border-radius: 0 8px 8px 0 !important;
    color: #16285c !important;
    font: 700 15px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    -webkit-appearance: none !important; appearance: none !important;
    transition: background .15s ease !important;
  }
  body .tw-tdb-head:hover { background: rgba(27,47,109,.07) !important; }
  body .tw-tdb-name { flex: 1 1 auto !important; }
  body .tw-tdb-count {
    flex: 0 0 auto !important; min-width: 14px !important; text-align: center !important;
    font-size: 12px !important; font-weight: 700 !important;
    color: #6b7280 !important; background: #eef1f5 !important;
    border-radius: 11px !important; padding: 2px 8px !important;
  }
  body .tw-tdb-chev {
    flex: 0 0 auto !important; font-size: 22px !important; line-height: 1 !important;
    color: #ffc82e !important; transition: transform .18s ease !important;
  }
  body .tw-tdb-cat.is-open .tw-tdb-chev { transform: rotate(90deg) !important; }
  body .tw-tdb-cat.is-open .tw-tdb-head {
    border-radius: 0 8px 0 0 !important; background: rgba(27,47,109,.06) !important;
  }
  body .tw-tdb-panel { display: none !important; padding: 3px 0 6px !important; }
  body .tw-tdb-cat.is-open .tw-tdb-panel { display: block !important; }
  body .tw-tdb-link {
    display: block !important;
    padding: 11px 32px 11px 22px !important;
    margin: 4px 0 !important;
    background: #fff !important;
    border: 1px solid #eef0f4 !important;
    border-left: 2px solid #d7deea !important;
    border-radius: 0 7px 7px 0 !important;
    color: #1b2f6d !important;
    font-size: 14px !important; font-weight: 600 !important;
    text-decoration: none !important;
    position: relative !important;
  }
  body .tw-tdb-link::after {
    content: "\203A" !important; position: absolute !important; right: 12px !important; top: 50% !important;
    transform: translateY(-50%) !important; color: #c4ccd9 !important; font-size: 18px !important; line-height: 1 !important;
  }
  body .tw-tdb-link:hover { background: #f6f8fc !important; border-left-color: #ffc82e !important; }
  body .tw-tdb-ov {
    background: #f0f3f9 !important; color: #16285c !important; font-weight: 700 !important;
    border-left-color: #ffc82e !important;
  }
  body .tw-tdb-extra { margin-top: 12px !important; }
  body .tw-tdb-extra-link { border-left: 3px solid #2b4fa7 !important; }

  /* === Übungstabellen (westorwarttraining 3-spaltig) → Karten-Liste === */
  body table.tw-ex-orig { display: none !important; }
  body .tw-ex-list { margin: 10px 0 18px !important; }
  body .tw-ex-cat {
    font: 700 12px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
    text-transform: uppercase !important; letter-spacing: .04em !important;
    color: #6b7280 !important;
    margin: 16px 0 7px !important; padding: 0 2px 5px !important;
    border-bottom: 1px solid #e4e7ee !important;
  }
  body .tw-ex-list > .tw-ex-cat:first-child { margin-top: 2px !important; }
  body .tw-ex-card {
    display: block !important; position: relative !important;
    padding: 12px 30px 12px 16px !important;
    margin: 7px 0 !important;
    background: #fff !important;
    border: 1px solid #e7eaf0 !important;
    border-left: 3px solid #d7deea !important;
    border-radius: 0 9px 9px 0 !important;
    text-decoration: none !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
    transition: box-shadow .15s ease, transform .12s ease !important;
  }
  body .tw-ex-card.has-video { border-left-color: #ffc82e !important; }
  body .tw-ex-card:hover { box-shadow: 0 4px 12px rgba(27,47,109,.10) !important; transform: translateY(-1px) !important; }
  body .tw-ex-card::after {
    content: "\203A" !important; position: absolute !important; right: 12px !important; top: 50% !important;
    transform: translateY(-50%) !important; color: #c4ccd9 !important; font-size: 20px !important; line-height: 1 !important;
  }
  body .tw-ex-badge {
    display: inline-block !important; vertical-align: middle !important; margin-right: 8px !important;
    font: 700 10px/1 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
    letter-spacing: .06em !important;
    color: #7a5300 !important; background: #ffe39a !important;
    border-radius: 4px !important; padding: 3px 6px !important;
  }
  body .tw-ex-title {
    font: 700 14.5px/1.35 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
    color: #16285c !important;
  }
  body .tw-ex-demo {
    display: flex !important; align-items: center !important; gap: 7px !important;
    margin-top: 7px !important;
    font-size: 12px !important; color: #64748b !important; line-height: 1.35 !important;
  }
  body img.tw-ex-logo {
    width: 22px !important; height: 22px !important; object-fit: contain !important;
    flex: 0 0 auto !important; border-radius: 3px !important; background: #fff !important;
  }

  /* === Shop-Banner Gold ERZWINGEN (höchste Spezifität, source-order-last) ===
     Überschreibt HTML-Attribut background="...feature-top-big.jpg" + evtl. weiße Kind-Zellen */
  html body td:has(.topfeature) {
    background-color: #ffc83a !important;
    background-image: radial-gradient(130% 130% at 0% 0%, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 42%), linear-gradient(135deg, #ffd86b 0%, #ffc736 52%, #f0a90f 100%) !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }
  html body td:has(.topfeature) table,
  html body td:has(.topfeature) tbody,
  html body td:has(.topfeature) tr,
  html body td:has(.topfeature) > table td {
    background-color: transparent !important;
    background-image: none !important;
  }
}

/* Desktop: Patch-Elemente nie anzeigen */
@media (min-width: 1001px) {
  #rwd-burger, .rwd-cat-toggle, #rwd-stickybar { display: none !important; }
  /* Grafische GIF-Überschriften: auf Desktop bleibt das GIF, Text-Ersatz aus */
  .tw-gfx-headline { display: none !important; }
  /* Shop-Showcase-Grid nur auf Mobile — Desktop zeigt Originale */
  .tw-shop-grid, .tw-shop-head { display: none !important; }
  /* Trainingsdatenbank-Accordion nur auf Mobile — Desktop zeigt die Imagemap */
  .tw-tdb { display: none !important; }
  /* Übungs-Kartenliste nur auf Mobile — Desktop zeigt die Originaltabelle */
  .tw-ex-list { display: none !important; }

  /* Verhindert das Quetschen von Bildern im responsive Template auf Desktop */
  .news-single-img img,
  .csc-textpic-image img,
  .csc-textpic img,
  .ce-textpic img {
    max-width: 100% !important;
    height: auto !important;
  }
}