
/* =========================================================
   Logo / Branding (Header + Footer)
   ========================================================= */
.site-branding__logo-link{display:inline-flex;align-items:center;line-height:0;}
.site-branding__logo{display:block;width:auto;}
.site-branding__logo--full{height:52px;}
.site-branding__logo--mark{display:none;height:46px;}
@media(max-width:600px){
  .site-branding__logo--full{display:none;}
  .site-branding__logo--mark{display:block;}
}
/* Footer-Logo (weiße Bildmarke auf dunklem Footer) */
.site-footer__logo-img{width:auto;height:56px;display:block;}


/* Button-Icons (SVG) + Ticket-Raster + Pager-Arrows */
.btn__ico svg{width:1.25em;height:1.25em;display:block;}
.btn--stacked .btn__ico{align-self:center;}
.tickets-grid{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 1.5rem;}
.tickets-grid .btn{justify-content:flex-start;text-align:left;min-width:230px;}
.spenden__cta{margin-top:1rem;}
.stm-pager .stm-arrow{width:34px;height:34px;font-size:.95rem;}


/* =========================================================
   Icon-Links (Figma): Textlink-Liste, Voll-Kreise, Negativ
   Icons via stmichaelis_icon() inline; Badge/Glyphe färbbar
   über currentColor. Positiv: {name}.svg  – Negativ: {name}-neg.svg
   ========================================================= */
.stm-ic{display:inline-flex;flex:none;line-height:0;}
.stm-ic svg{width:100%;height:100%;display:block;}

/* 1) Textlink-Liste (Icon + roter Text) */
.stm-iconlinks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.stm-iconlinks a{display:inline-flex;align-items:center;gap:8px;color:var(--st-color-link,#B51F29);text-decoration:none;font-size:1.05rem;line-height:1.45;}
.stm-iconlinks .stm-ic{width:20px;height:20px;color:var(--st-color-primary,#002F5D);}
.stm-iconlinks a:hover .stm-ic,.stm-iconlinks a:focus-visible .stm-ic{color:var(--st-color-link,#B51F29);}
.stm-iconlinks a:hover,.stm-iconlinks a:focus-visible{text-decoration:underline;}

/* 2) Voll-Kreise (positiv, auf hellem Grund) */
.stm-social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.stm-social a{display:inline-flex;color:var(--st-color-primary,#002F5D);text-decoration:none;line-height:0;transition:color .15s ease;}
.stm-social .stm-ic{width:30px;height:30px;}
.stm-social a:hover .stm-ic,.stm-social a:focus-visible .stm-ic{color:var(--st-color-link,#B51F29);}

/* 3) Negativ – weißer Badge (im SVG fix), blaue→rote Glyphe (currentColor) */
.stm-social--neg a{color:var(--st-color-primary,#002F5D);}
.stm-social--neg a:hover .stm-ic,.stm-social--neg a:focus-visible .stm-ic{color:var(--st-color-link,#B51F29);}

/* Footer-Social auf die neuen Inline-Icons umstellen (Negativ-Set) */
.site-footer__social{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 0;padding:0;}
.site-footer__social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border-radius:0;color:var(--st-color-primary,#002F5D);text-decoration:none;line-height:0;transition:color .15s ease;}
.site-footer__social a:hover,.site-footer__social a:focus-visible{background:none;color:var(--st-color-link,#B51F29);}
.site-footer__social .stm-ic{width:34px;height:34px;}
.site-footer__social .stm-ic svg{width:100%;height:100%;display:block;}


/* =========================================================
   Downloads – Dateityp-Icon (ersetzt Text-Kürzel)
   ========================================================= */
.stm-dl-card__ficon{width:64px;height:64px;color:var(--st-color-primary,#002F5D);display:block;}
.stm-dl-card__ficon svg{width:100%;height:100%;display:block;}

/* =========================================================
   Quicklinks – feste vertikale Utility-Leiste (rechts)
   Redakteur weist Menuepunkten eine ql-*-Klasse zu
   (ql-tickets, ql-events, ql-newsletter, ql-spenden, ql-shop,
    ql-phone, ql-website …) → Icon wird automatisch gesetzt.
   ========================================================= */
.quicklinks{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;}
.quicklinks__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.quicklinks__list li{margin:0;}
.quicklinks__list a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  width:78px;min-height:74px;padding:12px 6px;background:var(--st-color-primary,#002F5D);color:#fff;
  text-decoration:none;font-size:.72rem;line-height:1.15;text-align:center;transition:background .15s ease;}
.quicklinks__list a:hover,.quicklinks__list a:focus-visible{background:var(--st-color-accent,#B51F29);}
.quicklinks__ico{width:26px;height:26px;color:#fff;display:block;flex:none;}
.quicklinks__ico svg{width:100%;height:100%;display:block;}
.quicklinks__label{display:block;}
@media(max-width:600px){
  .quicklinks{position:static;transform:none;margin-top:0;}
  .quicklinks__list{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:2px;}
  .quicklinks__list a{width:auto;min-width:33.333%;flex:1 1 33.333%;}
}
