/* Safety: Header-Grid Floats neutralisieren (nur im Header) */
#rt-header [class*="rt-grid"],
.koq-stick-target [class*="rt-grid"]{
  display: block; /* statt inline */
}
#rt-navigation [class*="rt-grid"],
.rt-menubar [class*="rt-grid"]{
  display:block;
}

@media (min-width:768px){
      /* Container als Grid: Logo links, NAV exakt in der Mitte, Rest rechts */
  #rt-header .rt-container,
  .koq-stick-target .rt-container{
    display: grid !important;
    grid-template-columns: 1fr auto 1fr; /* Mitte = Auto-Spalte für die NAV */
    align-items: center !important;
  }

  /* Floats & fixe Grid-Breiten der Theme-Columns neutralisieren */
  #rt-header .rt-container > [class*="rt-grid"],
  .koq-stick-target .rt-container > [class*="rt-grid"]{
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }

  /* Logo-Block sicher links verankern (falls vorhanden) */
  #rt-header .rt-logo-block,
  .koq-stick-target .rt-logo-block{
    grid-column: 1;
    justify-self: start;
  }

  /* Menü-Block: echte Mitte der Seite, unabhängig von Logo-Breite */
  #rt-header .menu-block,
  .koq-stick-target .menu-block{
    grid-column: 2;
    justify-self: center;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    max-width: 100% !important;
    width: auto !important;
    float: none !important;
    margin: 0 auto !important;
  }

  /* Sicherstellen, dass die UL selbst nicht durch alte Floats/Widths verschoben wird */
  #rt-header .menu-block .gf-menu.l1,
  #rt-header .menu-block ul.g-toplevel,
  #rt-header .menu-block nav ul.menu,
  .koq-stick-target .menu-block .gf-menu.l1,
  .koq-stick-target .menu-block ul.g-toplevel,
  .koq-stick-target .menu-block nav ul.menu{
    float: none !important;
    width: auto !important;
    margin: 0 auto !important;
  }
}


/* ===== FINAL FIX: Minimal & robuste Zentrierung (überschreibt alles oben) ===== */
@media (min-width:1025px){
  /* 3-Spalten-Grid: 1) links (Logo/rt-grid-2), 2) Mitte (NAV), 3) rechter Ausgleich */
  #rt-header .rt-inner-container,
  #rt-navigation .rt-inner-container{
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
  }

  /* Alte Floats der Theme-Grids neutralisieren */
  #rt-header .rt-inner-container > [class*="rt-grid"],
  #rt-navigation .rt-inner-container > [class*="rt-grid"]{
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }

  /* Linke Spalte: Logo/rt-grid-2 sauber auf Spalte 1 festlegen */
  #rt-header .rt-inner-container > .rt-grid-2.rt-alpha,
  #rt-navigation .rt-inner-container > .rt-grid-2.rt-alpha{
    grid-column: 1 !important;
    justify-self: start !important;
  }

  /* Menü-Container exakt in die Mitte (Spalte 2) */
  #rt-header .rt-inner-container > .menu-block,
  #rt-navigation .rt-inner-container > .menu-block{
    grid-column: 2 !important;
    justify-self: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
  }

  /* Rechter Ausgleich ohne DOM-Element: Pseudo-Grid-Item */
  #rt-header .rt-inner-container::after,
  #rt-navigation .rt-inner-container::after{
    content: "";
    grid-column: 3;
  }

  /* UL selbst – keine Floats, mittig bleiben */
  #rt-header .rt-inner-container .menu-block .gf-menu.l1,
  #rt-navigation .rt-inner-container .menu-block .gf-menu.l1{
    float: none !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  /* LI inline, keine Floats */
  #rt-header .rt-inner-container .menu-block .gf-menu.l1 > li,
  #rt-navigation .rt-inner-container .menu-block .gf-menu.l1 > li{
    float: none !important;
    display: inline-block !important;
    margin: 0 0px !important;
    white-space: nowrap !important;
  }
}

/* ===== Tablet-Zentrierung (768–1024px): Haupt-Navi mittig wie auf Desktop ===== */
@media (min-width:768px) and (max-width:1024px){
  /* 3-Spalten-Grid auch auf Tablets */
  #rt-header .rt-inner-container,
  #rt-navigation .rt-inner-container{
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
  }

  /* Alte Floats neutralisieren */
  #rt-header .rt-inner-container > [class*="rt-grid"],
  #rt-navigation .rt-inner-container > [class*="rt-grid"]{
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }

  /* Linke Spalte für Logo */
  #rt-header .rt-inner-container > .rt-grid-2.rt-alpha,
  #rt-navigation .rt-inner-container > .rt-grid-2.rt-alpha{
    grid-column: 1 !important;
    justify-self: start !important;
  }

  /* Menü-Container exakt in die Mitte (Spalte 2) */
  #rt-header .rt-inner-container > .menu-block,
  #rt-navigation .rt-inner-container > .menu-block{
    grid-column: 2 !important;
    justify-self: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    float: none !important;
    margin: 0 auto !important;
  }

  /* Rechter Ausgleich ohne DOM-Element */
  #rt-header .rt-inner-container::after,
  #rt-navigation .rt-inner-container::after{
    content: "";
    grid-column: 3;
  }

  /* UL selbst – inline zentriert */
  #rt-header .rt-inner-container .menu-block .gf-menu.l1,
  #rt-navigation .rt-inner-container .menu-block .gf-menu.l1{
    float: none !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  /* LI inline, keine Floats */
  #rt-header .rt-inner-container .menu-block .gf-menu.l1 > li,
  #rt-navigation .rt-inner-container .menu-block .gf-menu.l1 > li{
    float: none !important;
    display: inline-block !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
}


:root{
  --koq-green: #2f7a32;
  --xmas-red: #b7182e;
  --xmas-gold: #f6d36b;
  --xmas-snow: rgba(255,255,255,.85);
}

/* ===== Dropdown-Breite: flexibel an längsten Eintrag anpassen ===== */
#rt-header .gf-menu .dropdown,
#rt-navigation .gf-menu .dropdown,
.rt-menubar .gf-menu .dropdown{
  width: auto !important;
  min-width: 100% !important;      /* mindestens so breit wie das Eltern-Item */
  max-width: 420px !important;     /* Begrenzung, damit lange Titel umbrechen */
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Submenü-Links: Umbruch zulassen, sauber block-level */
#rt-header .gf-menu .dropdown li > a,
#rt-navigation .gf-menu .dropdown li > a,
.rt-menubar .gf-menu .dropdown li > a{
  white-space: normal !important;   /* Umbruch zulassen */
  overflow-wrap: anywhere !important; /* notfalls mitten im Wort */
  word-break: normal !important;
  display: block !important;        /* voller Background hinter dem Text */
}

/* ===== Weihnachts-Theme – Variablen ===== */
:root{
  --koq-green: #2f7a32;
  --xmas-red: #b7182e;
  --xmas-gold: #f6d36b;
  --xmas-snow: rgba(255,255,255,.85);
}

/* ============= Weihnachts-Theme – Grundschalter ============= */
:root{
  --koq-green: #2f7a32;
  --xmas-red: #b7182e;
  --xmas-gold: #f6d36b;
  --xmas-snow: rgba(255,255,255,.85);
}

/* Body-Schalter: .xmas-active */
body.xmas-active{
  /* sanfte Gesamtstimmung */
  background-image:
    radial-gradient(1200px 800px at 15% -10%, rgba(246,211,107,.10), transparent 60%),
    radial-gradient(900px 600px at 100% 0%, rgba(183,24,46,.08), transparent 60%);
  background-attachment: fixed;
}

/* -------------------------------------------
   1) Weihnachtsglow (für Boxen/Buttons/Badges)
-------------------------------------------- */
.xmas-glow{
  box-shadow:
    0 0 0 1px rgba(255,255,255,.4) inset,
    0 6px 18px rgba(183,24,46,.25),
    0 0 24px rgba(246,211,107,.35);
}

/* Variante für Hover-Intensivierung */
.xmas-hover-glow:hover{
  box-shadow:
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 8px 22px rgba(183,24,46,.32),
    0 0 34px rgba(246,211,107,.5);
  transform: translateY(-1px);
}

/* -------------------------------------------
   2) Akzent-Überschreibung für bestehende Elemente
-------------------------------------------- */
/* Aktive Navigation-Pills, Links, Badges etc. */
body.xmas-active .staffel-nav .is-active,
body.xmas-active .char-nav .is-active,
body.xmas-active a:hover,
body.xmas-active .btn-primary{
  background: linear-gradient(135deg, var(--koq-green), var(--xmas-red));
  color:#fff;
}

/* Karten-Kanten + leichte Glorie */
body.xmas-active .karte.karte--full{
  border-color: rgba(246,211,107,.6);
  position: relative;
}
body.xmas-active .karte.karte--full::after{
  content:"";
  position:absolute; inset:-2px;
  border-radius:12px;
  pointer-events:none;
  box-shadow: 0 0 24px rgba(246,211,107,.35);
}

/* Headline-Schimmer */
body.xmas-active h1, 
body.xmas-active h2{
  text-shadow: 0 1px 0 #fff, 0 0 14px rgba(246,211,107,.35);
}

/* -------------------------------------------
   3) Dezente „Sparkles“ (Goldpunkte, optional)
-------------------------------------------- */
@keyframes twinkle { 
  0%,100% { opacity:.25; transform:translateY(0) }
  50% { opacity:1; transform:translateY(-1px) }
}
body.xmas-active .xmas-sparkles{
  position:relative; overflow:visible;
}
body.xmas-active .xmas-sparkles::before{
  content:"";
  position:absolute; inset:-10%;
  background:
    radial-gradient(3px 3px at 10% 20%, var(--xmas-gold), transparent 55%),
    radial-gradient(2.5px 2.5px at 40% 10%, var(--xmas-gold), transparent 55%),
    radial-gradient(2.5px 2.5px at 70% 25%, var(--xmas-gold), transparent 55%),
    radial-gradient(3px 3px at 85% 15%, var(--xmas-gold), transparent 55%),
    radial-gradient(2px 2px at 30% 75%, var(--xmas-gold), transparent 55%),
    radial-gradient(3px 3px at 80% 70%, var(--xmas-gold), transparent 55%);
  animation: twinkle 2.8s ease-in-out infinite;
  pointer-events:none;
}

/* -------------------------------------------
   4) Ultra-leichter CSS-Schnee (respektiert reduced-motion)
-------------------------------------------- */
@media (prefers-reduced-motion: no-preference){
  body.xmas-active::after{
    content:"";
    position: fixed; left:0; top:0; right:0; bottom:0;
    pointer-events: none;
    background-image:
      radial-gradient(2px 2px at 20% 0%, var(--xmas-snow) 50%, transparent 51%),
      radial-gradient(2px 2px at 60% -10%, var(--xmas-snow) 50%, transparent 51%),
      radial-gradient(2px 2px at 80% 0%, var(--xmas-snow) 50%, transparent 51%);
    background-repeat: repeat;
    background-size: 220px 140px, 260px 170px, 300px 200px;
    animation: snowFall 18s linear infinite;
    opacity:.7;
    z-index: 9999;
  }
  @keyframes snowFall{
    from{ background-position: 0 0, 0 0, 0 0; }
    to  { background-position: 0 600px, 0 700px, 0 800px; }
  }
}

/* -------------------------------------------
   5) Utilities zum gezielten Einsatz
-------------------------------------------- */
/* gib einzelnen Elementen gezielt Glow: */
.karte--xmas, .btn--xmas, .badge--xmas{ }

/* Beispiel: Buttons überall leicht weihnachtlich */
body.xmas-active .btn,
body.xmas-active button{
  border:1px solid rgba(246,211,107,.6);
  transition: box-shadow .25s, transform .2s;
}
body.xmas-active .btn:hover{ /* nutzt .xmas-hover-glow falls vorhanden */ }

/* Fallback, wenn du nur an wenigen Stellen Glow willst:
   einfach class="xmas-glow xmas-hover-glow" auf das Element. */

/* Mini-Ribbon in der Ecke */
body.xmas-active .koq-header::after{
  content:"Frohe Weihnachten";
  position:absolute; right:10px; top:10px;
  background: linear-gradient(135deg, var(--koq-green), var(--xmas-red));
  color:#fff; padding:6px 10px; font-weight:600; font-size:.9rem;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
}

/* Weihnachts-Toggle */
#xmas-toggle{
  position:fixed; right:18px; bottom:86px; /* ggf. anpassen */
  width:44px; height:44px; border-radius:9999px;
  background:linear-gradient(135deg, #2f7a32, #b7182e);
  color:#fff; border:1px solid rgba(246,211,107,.6);
  box-shadow:0 8px 18px rgba(0,0,0,.25);
  display:grid; place-items:center; cursor:pointer;
  z-index:99999;
}
#xmas-toggle[aria-pressed="true"]{ filter: saturate(1.1) brightness(1.05); }
#xmas-toggle svg{ display:block; width:22px; height:22px; }

/* ===== Sichtbare Weihnachtsakzente ohne HTML-Änderungen ===== */

/* sanfter Gesamt-Hintergrund für die ganze Seite */
body.xmas-active{
  background-image:
    radial-gradient(1200px 800px at 15% -10%, rgba(246,211,107,.10), transparent 60%),
    radial-gradient(900px 600px at 100% 0%, rgba(183,24,46,.08), transparent 60%) !important;
  background-attachment: fixed !important;
}

/* Karten (Episodenguide, Darsteller, etc.) */
body.xmas-active .karte.karte--full{
  border-color: rgba(246,211,107,.7) !important;
  box-shadow: 0 6px 18px rgba(183,24,46,.25), 0 0 24px rgba(246,211,107,.35) !important;
}

/* Headline-Schimmer */
body.xmas-active h1,
body.xmas-active h2{
  text-shadow: 0 1px 0 #fff, 0 0 14px rgba(246,211,107,.35) !important;
}

/* Aktive Navigations-Pills */
body.xmas-active .staffel-nav .is-active,
body.xmas-active .char-nav .is-active{
  background: linear-gradient(135deg, #2f7a32, #b7182e) !important;
  color:#fff !important;
  border-color: rgba(246,211,107,.7) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.18) !important;
}

/* Buttons (so breit wie möglich abholen) */
body.xmas-active .btn,
body.xmas-active .button,
body.xmas-active .readon,
body.xmas-active a.btn,
body.xmas-active a.button,
body.xmas-active .btn-primary{
  border:1px solid rgba(246,211,107,.7) !important;
  background: linear-gradient(135deg, #2f7a32, #b7182e) !important;
  color:#fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.22), 0 0 22px rgba(246,211,107,.45) !important;
}

/* Hover-Verstärkung */
body.xmas-active .btn:hover,
body.xmas-active .button:hover,
body.xmas-active .readon:hover,
body.xmas-active a.btn:hover,
body.xmas-active a.button:hover,
body.xmas-active .btn-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0,0,0,.28), 0 0 30px rgba(246,211,107,.6) !important;
}

/* Mini-Ribbon im Header (falls .koq-header existiert, sonst ignoriert der Browser’s einfach) */
body.xmas-active .koq-header::after{
  content:"Frohe Weihnachten";
  position:absolute; right:10px; top:10px;
  background: linear-gradient(135deg, #2f7a32, #b7182e);
  color:#fff; padding:6px 10px; font-weight:600; font-size:.9rem;
  border-radius:999px; box-shadow:0 6px 14px rgba(0,0,0,.18);
}

/* ===== Dezentes Weihnachts-Theme (Vermilion-kompatibel) ===== */

/* Farbvariablen */
body.xmas-active {
  --xmas-primary: #2f7a32;   /* KOQ-Grün */
  --xmas-red:     #b7182e;   /* Weinrot */
  --xmas-gold:    #f6d36b;   /* Gold */
}

/* ===== Header & Hauptbereiche: Nur Farbakzente, keine Hintergründe ===== */
body.xmas-active #rt-header,
body.xmas-active #rt-top,
body.xmas-active #rt-navigation {
  border-bottom: 3px solid var(--xmas-gold) !important;
}
body.xmas-active #rt-header .rt-logo-block,
body.xmas-active #rt-header .module-content {
  filter: drop-shadow(0 0 10px rgba(246,211,107,0.4));
}

/* ===== Menü / Navigation ===== */
body.xmas-active #rt-navigation .gf-menu > li:hover > a,
body.xmas-active #rt-navigation .gf-menu > li.active > a {
  background: linear-gradient(135deg, var(--xmas-primary), var(--xmas-red)) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  border-radius: 6px;
}

/* Untermenüs neutral lassen */
body.xmas-active #rt-navigation .dropdown,
body.xmas-active #rt-navigation .gf-menu .dropdown {
  background: inherit !important;
  border: none !important;
}

/* ===== Buttons ===== */
body.xmas-active .btn,
body.xmas-active .button,
body.xmas-active .readon,
body.xmas-active a.btn,
body.xmas-active a.button {
  background: linear-gradient(135deg, var(--xmas-primary), var(--xmas-red)) !important;
  border: 1px solid var(--xmas-gold) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
  transition: all 0.2s ease-in-out;
}
body.xmas-active .btn:hover,
body.xmas-active .button:hover,
body.xmas-active .readon:hover {
  background: linear-gradient(135deg, var(--xmas-red), var(--xmas-primary)) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}

/* ===== Modulrahmen & Akzente ===== */
body.xmas-active .rt-block.accent,
body.xmas-active .accent {
  border-top: 3px solid var(--xmas-gold) !important;
  border-bottom: 3px solid var(--xmas-gold) !important;
  box-shadow: 0 0 12px rgba(246,211,107,0.35);
}

/* ===== Karten (Episodenguide etc.) ===== */
body.xmas-active .karte.karte--full {
  border-color: rgba(246,211,107,0.6) !important;
  box-shadow: 0 4px 10px rgba(183,24,46,0.2), 0 0 18px rgba(246,211,107,0.25) !important;
}

/* ===== Hover-Farben NUR für Texte & Links (kein Overlay!) ===== */
/* ===== Linkfarben feinjustiert ===== */

/* Im Seiteninhalt: Rot beim Hover */
body.xmas-active #rt-main a:hover,
body.xmas-active #rt-content a:hover,
body.xmas-active .component-content a:hover,
body.xmas-active .karte.karte--full a:hover {
  color: var(--xmas-red) !important;
  text-decoration: underline;
}

/* In Header, Navigation, Top-Bereichen: weiß wie vorher */
body.xmas-active #rt-header a,
body.xmas-active #rt-top a,
body.xmas-active #rt-navigation a {
  color: #fff !important;
  text-decoration: none !important;
}
body.xmas-active #rt-header a:hover,
body.xmas-active #rt-top a:hover,
body.xmas-active #rt-navigation a:hover {
  color: #fff !important;
  text-decoration: underline;
}

/* ===== Header-Titel mit leichtem Glanz ===== */
body.xmas-active h1, body.xmas-active h2 {
  text-shadow: 0 0 10px rgba(246,211,107,0.4);
}

/* ===== Dezente Schneeglut im Hintergrund (beibehalten) ===== */
body.xmas-active {
  background-image:
    radial-gradient(1000px 700px at 10% -5%, rgba(246,211,107,0.05), transparent 60%),
    radial-gradient(800px 600px at 90% 0%, rgba(183,24,46,0.06), transparent 60%);
  background-attachment: fixed;
}



/* ===== Tablet-Dropdown Fix (iPad Air/mini 768–1024px): Dropdown darf den Nav-Container überlappen ===== */
@media (min-width:768px) and (max-width:1024px){
  /* Alle relevanten Container dürfen NICHT clippen */
  #rt-header,
  #rt-navigation,
  #rt-header .rt-container,
  #rt-navigation .rt-container,
  #rt-header .rt-inner-container,
  #rt-navigation .rt-inner-container,
  #rt-header .menu-block,
  #rt-navigation .menu-block,
  #rt-header .gf-menu.l1,
  #rt-navigation .gf-menu.l1{
    overflow: visible !important;
  }

  /* Eltern-LIs als Bezugspunkt für absolute Dropdowns */
  #rt-header .gf-menu.l1 > li,
  #rt-navigation .gf-menu.l1 > li{
    position: relative !important;
  }

  /* Dropdown-Panel darf außerhalb rendern – keine eigene Scrollbox mehr */
  #rt-header .gf-menu .dropdown,
  #rt-navigation .gf-menu .dropdown,
  #rt-header .gf-menu .dropdown.columns-1,
  #rt-navigation .gf-menu .dropdown.columns-1{
    position: absolute !important;
    left: 0 !important;
    top: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;   /* statt scroll im Panel */
    z-index: 10050 !important;      /* sicher über Header */
  }
}


/* ===== Tablet (793–1024px): Pfeile wieder rechts neben den Titeln (Standard-Layout) ===== */
@media (min-width:793px){
  /* Halte .item schmal/inline – Pfeile kommen aus .menu-item-content (::after) */
  .gf-menu li.parent > .item{
    position: relative !important;
    display: inline-block !important; /* nicht block-breit */
    padding-right: 0 !important;      /* kein Extra-Platz hier, damit nicht breiter */
    line-height: 60px !important;     /* konsistent zur Navi-Höhe */
    white-space: nowrap;               /* wie Standard */
  }

  /* Kein Pfeil mehr am .item – verhindert Doppel-Pfeile & Breiten-Reserve */
  .gf-menu li.parent > .item:after{
    content: none !important;
  }
}
/* ===== Tablet & Desktop: Navi-Height fix (immer 60px) ===== */
@media (min-width:768px){
  /* Header-/Nav-Container sollen mindestens 60px hoch sein */
  #rt-header,
  #rt-navigation{
    min-height: 60px !important;
  }
  #rt-header .rt-inner-container,
  #rt-navigation .rt-inner-container{
    min-height: 60px !important;
    align-items: center !important; /* in Grid/Flex-Layouts zentrieren */
  }

  /* Top-Level Links exakt auf 60px setzen und vertikal zentrieren */
  #rt-header .gf-menu.l1 > li > a,
  #rt-navigation .gf-menu.l1 > li > a{
    line-height: 60px !important;
    height: 60px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-block !important; /* konsistente Höhe */
  }

  /* Pfeil-Indikator bleibt sauber mittig in 60px-Links */
  .gf-menu li.parent > .item:after,
  .gf-menu li.parent > .menu-item-content:after{
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}
/* ===== Pfeile in span.menu-item-content (statt separater Span) – Tablet & Desktop ===== */
@media (min-width:768px){
  /* 1) Alte Indikator-Elemente ausblenden (Theme/Framework) */
  #rt-header .gf-menu .indicator,
  #rt-navigation .gf-menu .indicator,
  .rt-menubar .gf-menu .indicator,
  #rt-header .g-toplevel > li > a .g-menu-parent-indicator,
  #rt-navigation .g-toplevel > li > a .g-menu-parent-indicator,
  .rt-menubar .g-toplevel > li > a .g-menu-parent-indicator,
  #rt-header .gf-menu .dropdown-toggle,
  #rt-navigation .gf-menu .dropdown-toggle,
  .rt-menubar .gf-menu .dropdown-toggle,
  #rt-header .gf-menu .dropdown-expander,
  #rt-navigation .gf-menu .dropdown-expander,
  .rt-menubar .gf-menu .dropdown-expander{
    display: none !important;
  }

  /* 2) Pfeil NICHT mehr am .item platzieren (verhindert Doppel-Pfeile) */
  .gf-menu li.parent > .item::after{
    content: none !important;
  }

  /* 3) Pfeil innerhalb von span.menu-item-content platzieren (robuste Selektoren) */
  .gf-menu li.parent > a .menu-item-content,
  .gf-menu li.parent > .item .menu-item-content{
    position: relative !important;    /* Bezugspunkt für ::after */
    display: inline-block !important;  /* konsistente Box, bleibt neben Icon/Badge */
    padding-right: 36px !important;   /* Platz für Pfeil rechts */
    line-height: 60px !important;     /* zu deiner festen Navi-Höhe passend */
    white-space: nowrap;               /* wie Standard */
  }
  .gf-menu li.parent > a .menu-item-content::after,
  .gf-menu li.parent > .item .menu-item-content::after{
    content: "\f107" !important;     /* FontAwesome chevron-down */
    font-family: FontAwesome !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 18px !important;
    opacity: 0.8 !important;
    pointer-events: none;
  }
}

/* ===============================
   KOQ Shoutbox Floating Button
   =============================== */
.koq-chat-button {
  position: fixed;
  bottom: 22px;
  right: 22px;
  width: 56px;
  height: 56px;
  background-color: #2f7a32;
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9999;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.koq-chat-button:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 14px rgba(0,0,0,0.4);
}

/* SVG-Stil */
.koq-chat-button svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Mobile leichte Anpassung */
@media (max-width: 640px) {
  .koq-chat-button {
    width: 50px;
    height: 50px;
    bottom: 18px;
    right: 18px;
  }
}
/* KOQ Shoutbox Floating Button */
.koq-chat-button{
  position:fixed; bottom:22px; right:22px;
  width:56px; height:56px; border-radius:50%;
  background:#2f7a32; box-shadow:0 4px 8px rgba(0,0,0,.3);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:9999;
  transition:transform .25s ease, box-shadow .25s ease;
}
.koq-chat-button:hover{ transform:scale(1.08); box-shadow:0 6px 14px rgba(0,0,0,.4); }
.koq-chat-button svg{ width:26px; height:26px; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:640px){ .koq-chat-button{ width:50px; height:50px; bottom:18px; right:18px; } }