/* SBB24 Glossar-Modul - Praefix sbbgl-. Alle Farben/Ebenen sind Variablen; das Template ueberschreibt sie
   (z.B. aus tokens.css). Orange #f07800 ist nie Textfarbe (2,84:1). Reines ASCII. */
:root{--sbbgl-mark:#0c527b;--sbbgl-focus:#0c527b;--sbbgl-pop-bg:#fff;--sbbgl-pop-text:#1c2b36;--sbbgl-pop-link:#0c527b;--sbbgl-pop-title:#0c527b;--sbbgl-pop-border:#e2e8ee;--sbbgl-z:10050;--sbbgl-radius:8px}

/* Begriff: span[role=button], bricht wie Fliesstext um (ein inline-<button> waere atomar -> Layout-Sprung) */
.sbbgl-term{display:inline;margin:0;padding:0;border:0;border-radius:0;background:none;font:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;color:inherit;text-align:inherit;text-transform:inherit;text-indent:0;text-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;-webkit-text-decoration-color:var(--sbbgl-mark);text-decoration-color:var(--sbbgl-mark);text-decoration-thickness:1px;text-underline-offset:3px}
@media (hover:hover) and (pointer:fine){.sbbgl-term{cursor:help}}
.sbbgl-term:focus{outline:2px solid var(--sbbgl-focus);outline-offset:2px}
.sbbgl-term:focus:not(:focus-visible){outline:none}
.sbbgl-sr{-webkit-user-select:none;user-select:none;position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* Infobox: eine einzige, wird hinter den ausloesenden Begriff gehaengt */
.sbbgl-pop{display:block;position:absolute;z-index:var(--sbbgl-z);box-sizing:border-box;width:320px;max-width:calc(100vw - 16px);margin:0;padding:12px 16px 14px;background:var(--sbbgl-pop-bg);color:var(--sbbgl-pop-text);border:1px solid var(--sbbgl-pop-border);border-radius:var(--sbbgl-radius);box-shadow:0 8px 24px rgba(12,82,123,.16);font-family:inherit;font-weight:400;font-size:14px;line-height:1.5;font-style:normal;text-align:left;text-transform:none;text-decoration:none;letter-spacing:normal;white-space:normal;text-indent:0}
.sbbgl-pop[hidden]{display:none}
.sbbgl-pop-t{display:block;margin:0 32px 4px 0;font-weight:700;color:var(--sbbgl-pop-title)}
.sbbgl-pop-x{display:block;margin:0}
.sbbgl-pop-l{display:inline-block;margin-top:8px;color:var(--sbbgl-pop-link);text-decoration:underline;font-weight:600}
.sbbgl-pop-l:focus,.sbbgl-pop-c:focus{outline:2px solid var(--sbbgl-focus);outline-offset:2px}
.sbbgl-pop-c{position:absolute;top:0;right:0;width:36px;height:36px;margin:0;padding:0;border:0;background:none;color:var(--sbbgl-pop-text);font:400 24px/36px sans-serif;text-align:center;cursor:pointer}

/* unter 576 px: randloses Bottom-Sheet am unteren Rand (Positionsrechnung an schmalen Spalten entfaellt), z-index bleibt
   --sbbgl-z 10050 (ueber dem Laender-/easyCredit-Balken 10000). Ebenen des echten Consent-Banners (#consent-manager, .consent-modal,
   #consent-settings-btn): Das Theme-CSS legt sie auf 1050 (UNTER die Infobox); das Plugin sbb24_tracking_consent hebt #consent-manager
   per style-Element #sbb24-consent-banner-zindex auf 10100 (ueber die Infobox), das Modal liegt im Manager und folgt. Zusaetzlich gilt eine Logik-Sperre im Modul
   (cfg.consent): solange Banner/Modal sichtbar sind (Flaeche), oeffnet keine Infobox, eine offene schliesst - das deckt den Fall
   ab, dass das Plugin fehlt (dann waeren es nur 1050). Abstand unten inkl. iOS-Home-Indikator */
@media (max-width:575.98px){
  .sbbgl-pop{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;max-height:75vh;overflow-y:auto;border-width:1px 0 0;border-radius:12px 12px 0 0;box-shadow:0 -8px 24px rgba(12,82,123,.16);padding:14px max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .sbbgl-pop-t{margin-right:44px}
  .sbbgl-pop-c{width:44px;height:44px;line-height:44px}
}
@media (forced-colors:active){.sbbgl-term{text-decoration-color:LinkText}.sbbgl-pop{border-color:CanvasText}}
