:root {
  --evi-brand: #0042a5;
  --evi-brand-rgb: 0, 66, 165;
  --evi-brand-strong: #0042a5;
  --evi-brand-strong-rgb: 0, 66, 165;
  --evi-blue: var(--evi-brand);
  --evi-blue-rgb: var(--evi-brand-rgb);
  --bs-primary: var(--evi-brand);
  --bs-primary-rgb: var(--evi-brand-rgb);
  --bs-link-color: var(--evi-brand);
  --bs-link-color-rgb: var(--evi-brand-rgb);
  --bs-link-hover-color: var(--evi-brand);
  --bs-link-hover-color-rgb: var(--evi-brand-rgb);
  --bs-focus-ring-color: rgba(var(--evi-brand-rgb), .25);
  --hero-img: radial-gradient(circle at 20% 10%, var(--evi-brand-strong) 0%, #1b1f3b 60%, #0b0d1a 100%);
  --evi-button-font-family: 'Causten', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --evi-button-font-weight: 700;
}

  /* ==== WORLD Font-Familie aus static/fonts/world-modern ==== */
@font-face {
  font-family: 'World';
  src: url("/static/fonts/world-modern/WORLD.woff2") format('woff2'),
       url("/static/fonts/world-modern/WORLD.woff") format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'World Condensed';
  src: url("/static/fonts/world-modern/WORLD.woff2") format('woff2'),
       url("/static/fonts/world-modern/WORLD.woff") format('woff');

  font-style: normal;
  font-display: swap;
}
  /* ==== Causten Font-Familie aus static/fonts ==== */
  @font-face {
    font-family: 'Causten';
    src: url("/static/fonts/Causten-Regular.otf") format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Causten';
    src: url("/static/fonts/Causten-Medium.otf") format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Causten';
    src: url("/static/fonts/Causten-Bold.otf") format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Causten';
    src: url("/static/fonts/Causten-Black.otf") format('opentype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
  }

  /* Standard-Schrift im Body: Regular */
  html {
    scroll-padding-top: calc(var(--header-h, 72px) + 16px);
  }

  body {
    font-family: 'Causten', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
  }

/* Minimal nav look */
.nav-minimal{
  background:#fff !important;
  border-bottom:1px solid rgba(0,0,0,.06);

  
  min-height:56px;
}

/* Brand Logo */
.navbar-brand img{height:42px;width:auto;display:block;}
@media (min-width: 992px){ .navbar-brand img{height:38px;} }

/* Icon button (account + burger) */
.icon-btn{
  appearance:none; border:0; background:transparent;
  width:40px; height:40px; border-radius:999px;
  display:grid; place-items:center; padding:0; margin:0;
  transition: background .18s ease, transform .12s ease;
}
.icon-btn:hover{ background: rgba(0,0,0,.06); }
.icon-btn:active{ transform: scale(.97); }
.icon-btn i{ font-size: 1.2rem; }

/* Avatar variant */
.avatar-btn{ background:transparent; border:0; box-shadow:none; }
.avatar-btn:hover{ background:transparent; box-shadow:none; }

/* Burger (3 lines -> X) */
.burger-btn .burger-line{
  display:block; width:22px; height:2px; background:#000;
  margin:4px 0; border-radius:2px; transition:transform .18s ease, opacity .18s ease;
}
.burger-btn.is-open .burger-line:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.burger-btn.is-open .burger-line:nth-child(2){ opacity:0; }
.burger-btn.is-open .burger-line:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* Compact header mode keeps minimal feel */


/* Toasts: fixiert, kein Layout-Shift */
#flashToasts .toast { border-radius: 20px; }

/* Typo */
/* Typo */
/* Typo */
h1,
h2,
.score{
  font-family: 'World Condensed', 'Causten', system-ui, sans-serif;
  font-weight: 400;

  text-transform: uppercase;
}

.score{
  font-size: 4rem;
}

.score{
  font-size: 4rem;
}


/* Links im Footer */
footer a{color:inherit;text-decoration:none}
footer a:hover{text-decoration:underline}
footer h6,
footer a,
footer p.small,
footer .list-unstyled a,
footer .btn,
footer .footer-link,
.footer-credits{
  font-family:'World Condensed', 'Causten', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight:400;
  letter-spacing:0;
  text-transform:uppercase;
}
footer h6{
  font-size:1.08rem;
  line-height:1;
  margin-bottom:.75rem;
}
footer .list-unstyled{
  display:grid;
  gap:.18rem;
}
footer .list-unstyled a{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  color:#111827;
  font-size:1.08rem;
  line-height:1;
}
footer .list-unstyled a:hover{
  color:var(--evi-brand);
  text-decoration:none;
}
footer p.small{
  color:#4b5563;
  font-size:.92rem;
  line-height:1.35;
}
footer .btn{
  border-radius:999px;
  font-size:1rem;
  line-height:1;
}

/* ================= HEADER (fixed) ================= */
#site-header{
  position:fixed; inset:0 0 auto 0; z-index:1040;
  background:transparent;
}

/* Team-Logo-Leiste (nur Desktop) */
.team-bar-wrapper{
  background:#fff;
 
  
  overflow:hidden;
  transition:height .28s ease, opacity .28s ease;
  height:60px; opacity:1; /* feste Höhe -> weniger Layout-Shift */
}
.team-bar{ padding:.5rem 0; }
.team-bar img{height:36px;object-fit:cover;filter:grayscale(20%);}
.team-bar img:hover{filter:none;transform:scale(1.08);transition:.2s}

/* Navbar */
.navbar{
  background:#fff !important;
  border-bottom:1px solid rgba(0,0,0,.06);
 
  min-height:56px; /* stabilisiert Anfangshöhe */
}
.navbar-brand img{height:50px;width:auto;display:block;}
@media (min-width: 992px){ .navbar-brand img{height:40px;} }

/* Hero */
.hero { position: relative; min-height: 160px; color: #fff; }
@media (min-width: 992px){ .hero { min-height: 240px; } }
.hero-bg {
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.35)),
    var(--hero-img);
  background-size:cover; background-position:center;
  filter:saturate(1.05) contrast(1.02);
}
.hero .container { position: relative; }
@media (max-width: 991.98px){
  body.header-offset .page-hero{
    margin-top: calc(var(--header-h, 64px) * -1);
    padding-top: var(--header-h, 64px);
  }
}
.hero-subtitle-mobile{ display:none; }
@media (max-width: 575.98px){
  .hero-subtitle-desktop{ display:none; }
  .hero-subtitle-mobile{ display:block; }

  .page-hero{
    min-height:132px;
  }

  .page-hero .container{
    padding-top:1rem !important;
    padding-bottom:1rem !important;
  }

  .page-hero h1{
    margin-bottom:.35rem;
    font-size:1.85rem;
    line-height:.95;
  }

  .page-hero .lead{
    font-size:.95rem;
    line-height:1.2;
  }
}

/* Footer-Brand */
.footer-brand img{height:90px;width:auto;display:block;}

/* Kompaktmodus beim Scrollen */
@media (max-width: 991.98px){
  .team-bar-wrapper{ height:0; opacity:0; }
}
#site-header.compact .team-bar-wrapper{ height:0; opacity:0; }

/* ======> Sofortiges Fallback-Padding gegen Layout-Shift <====== */
body.header-offset{
  padding-top:64px;               /* mobil: nur Navbar */
}
@media (min-width: 992px){
  body.header-offset{ padding-top:116px; } /* Desktop: Team-Bar (52) + Navbar (64) */
}

/* ===== Sponsoren-Karussell ===== */
.sponsor-level .sponsor-track-wrap{
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: .75rem;
  padding: .5rem 0;
}
.sponsor-track{
  display: flex;
  gap: 2rem;
  width: max-content;
  will-change: transform;
}
@keyframes sponsor-scroll{ from { transform: translateX(0); } to { transform: translateX(-50%); } }
.sponsor-item{
  display: flex; align-items: center; justify-content: center;
  min-width: 140px; padding: .25rem .5rem; opacity:.95;
  transition: transform .2s ease, opacity .2s ease, filter .2s ease;
  filter: grayscale(8%);
}
.sponsor-item:hover{ transform: scale(1.05); opacity:1; filter:none; }
.sponsor-item img{ height:42px; width:auto; object-fit:contain; display:block; }
@media (min-width: 992px){
  .sponsor-item{ min-width:180px; }
  .sponsor-item img{ height:52px; }
}

/* ------ Offcanvas Mobile Nav ------ */
.offcanvas-nav {
  width: 100vw;
  max-width: 100vw;
  border-right: 0;
  
}

/* große Tap-Ziele */
.big-taps .list-group-item{
  padding: .85rem 0;
  border: 0;
 
}
.nav-link-row{
  display:flex; align-items:center; gap:.25rem;
  font-size:1.05rem; text-decoration:none; color:#111;
  padding:.25rem 0;
}
.nav-link-row:hover{ text-decoration:underline; }

/* Akkordeon Button */
.btn-accordion{
  background:#f8f9fa; border:1px solid rgba(0,0,0,.06);
  border-radius:.75rem; padding:.75rem .9rem; font-weight:600; width:100%;
  display:flex; justify-content:space-between; align-items:center;
}
.btn-accordion .bi-chevron-down{ transition:transform .15s; }
.btn-accordion[aria-expanded="true"] .bi-chevron-down{ transform:rotate(180deg); }
/* Einheitliche Button-Typografie wie in der Spielplan-Filterleiste. */
:where(
  .btn,
  button:not(.evi-filter-button),
  input[type='button'],
  input[type='submit'],
  input[type='reset'],
  [role='button']:not(.evi-filter-button)
) {
  font-family: var(--evi-button-font-family) !important;
  font-weight: var(--evi-button-font-weight) !important;
}

.btn{
  border-radius:10px !important;
}

/* Alle Primär-Buttons blau */
.btn-primary,
.btn-outline-primary,
.btn-warning {
  background-color:var(--evi-brand-strong) !important;
  border-color:var(--evi-brand-strong) !important;

  color:#fff !important;
}

/* Outline-Variante beim Hover */
.btn-outline-primary:hover{
  background-color:var(--evi-brand-strong) !important;
  border-color:var(--evi-brand-strong) !important;
  color:#fff !important;
}


/* Nested list in Accordion */
.list-group-nested .list-group-item{
  border:0; padding:.6rem .75rem; border-radius:.5rem; margin:.15rem 0;
}
.list-group-nested .list-group-item:hover{ background:#f8f9fa; }

/* Cards */

.card{  transition: box-shadow .25s ease, transform .25s ease; will-change: transform, box-shadow; background: #fff; }


@media (prefers-reduced-motion: reduce){
  .card{ transition: box-shadow .2s ease; }
  .card:hover{ transform: none; }
}

/* ===== Hero: Bild rechts ===== */
.hero .row{
  align-items: center;
}
.hero-img-wrap{
  max-width: 460px;          /* Obergrenze, damit es nicht zu groß wird */
}
.hero-img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 16px;
 
}
@media (max-width: 991.98px){
  .hero-img-wrap{ margin-top: .75rem; }
}
:root{
  /* zentrale Steuerung */
  --hero-img-h: clamp(100px, 24vw, 100px);
}
.navbar-nav .nav-link{
  padding-inline: 1.1rem;   /* etwas mehr Abstand links/rechts */
  padding-block: .75rem;    /* optional: mehr Höhe */
  font-size: 1.2rem;        /* Schrift größer */
  font-weight: 300;         /* optional: etwas fetter */
 
}


/* Bild rechts im Hero */
.hero-img{
  height: var(--hero-img-h); /* EINHEITLICH */
  width: auto;               /* Seitenverhältnis bleibt erhalten */
  object-fit: contain;       /* nichts wird abgeschnitten */
  display: block;
}

/* Letzter, voller Footer-Balken unten */
.footer-credits{
  width: 100%;
  padding: 12px 10px;
  text-align: center;
  background: #000;        /* schwarz / dunkel */
  color: #fff;
  font-size: 0.9rem;
}

.footer-credits a{
  color: inherit;
  text-decoration: underline;
}

.footer-credits a:hover{
  text-decoration: none;
}

/* ===== Header Refresh: cleaner, more minimal, nicer dropdowns ===== */
#site-header{
  background: transparent;
}

#site-header .team-bar-wrapper{
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);

  height: 52px;
}

#site-header .team-bar{
  padding: .35rem 0;
  gap: 1.25rem !important;
}

#site-header .logo-item{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .2rem .45rem;
  border-radius: 999px;
  transition: background .2s ease, transform .2s ease;
}

#site-header .logo-item:hover{
  background: rgba(var(--evi-brand-rgb),.05);
  transform: translateY(-1px);
}


#site-header .team-bar img:hover{
  opacity: 1;
  filter: none;
  transform: scale(1.04);
}

#site-header .nav-minimal,
#site-header .navbar{
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  padding:0;

  min-height: 64px;
}

#site-header.compact .nav-minimal,
#site-header.compact .navbar{
  background: rgba(255,255,255,.94) !important;
 
}

#site-header .navbar .container{
  min-height: 64px;
}

#site-header .navbar-brand{
  margin-right: 0;
}

#site-header .navbar-brand img{
  height: 34px;
}

@media (min-width: 992px){
  #site-header .navbar-brand img{
    height: 36px;
  }
}

#site-header .navbar-nav{
  gap: .2rem;
}

#site-header .navbar-nav .nav-link{
  font-family: 'World Condensed', 'Causten', system-ui, sans-serif;
  padding: .6rem .95rem;
  font-size: 0.9rem;
  font-weight: 400;

  text-transform: uppercase;
  color: #111827;
  text-decoration: none;
  border-radius: 999px;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

#site-header .navbar-nav .nav-link:visited{
  color: #111827;
  text-decoration: none;
  text-decoration-color: transparent;
}



#site-header .dropdown-toggle::after{
  margin-left: .45rem;
  vertical-align: .15em;
  opacity: .55;
}

#site-header .icon-btn{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: #111827;
  transition: background .18s ease, transform .12s ease, box-shadow .18s ease, border-color .18s ease;
}

#site-header .icon-btn:hover{
  background: #f5f7fb;
  box-shadow: 0 8px 20px rgba(15,23,42,.08);
}

#site-header .burger-btn{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  overflow: hidden;
}

#site-header .avatar-btn{
  background: transparent;
  border: 0;
  box-shadow: none;
}

#site-header .avatar-btn:hover{
  background: transparent;
  box-shadow: none;
}

#site-header .burger-btn .burger-line{
  display: block;
  width: 24px;
  height: 3px;
  margin: 0;
  border-radius: 999px;
  background: #111827;
  flex: 0 0 auto;
  transition: transform .18s ease, opacity .18s ease;
}

#site-header .burger-btn.is-open .burger-line:nth-child(1){ transform: translateY(7px) rotate(45deg); }
#site-header .burger-btn.is-open .burger-line:nth-child(2){ opacity:0; }
#site-header .burger-btn.is-open .burger-line:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

#site-header .dropdown-menu{
  margin-top: .9rem;
  padding: .45rem;
  min-width: 240px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 20px 50px rgba(15,23,42,.12);
}

#site-header .dropdown-divider{
  margin: .4rem .2rem;
  opacity: .08;
}

#site-header .dropdown-item{
  display: flex;
  align-items: center;
  min-height: 44px;
  border-radius: 12px;
  padding: .72rem .85rem;
  font-size: .95rem;
  font-weight: 500;
  color: #111827;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

#site-header .dropdown-item:hover,
#site-header .dropdown-item:focus{
  background: rgba(var(--evi-brand-rgb),.08);
  color: var(--evi-brand);
  transform: translateX(2px);
}

#site-header .dropdown-item.text-danger{
  color: #b42318 !important;
}

#site-header .dropdown-item.text-danger:hover,
#site-header .dropdown-item.text-danger:focus{
  background: rgba(180,35,24,.08);
  color: #b42318 !important;
}

#mobileNav.offcanvas-nav{
  width: 100vw;
  max-width: 100vw;
  font-family: 'World', 'Causten', system-ui, sans-serif;

  backdrop-filter: blur(18px);

  text-transform: uppercase;

  -webkit-backdrop-filter: blur(18px);
}

#mobileNav .offcanvas-header{
  padding: 1rem 1rem .75rem;
  border-bottom: 0;
}

#mobileNav .btn{
  font-family: 'World', 'Causten', system-ui, sans-serif;
  font-size: 1.05rem;
}

#mobileNav .nav-link-row,
#mobileNav .list-group-item > button.list-group-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: #111827;

  font-family: 'World', 'Causten', system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}

#mobileNav .nav-link-row:hover,
#mobileNav .list-group-item > button.list-group-item:hover{
  background: #f5f7fb;
  color: var(--evi-brand);
  text-decoration: none;
}

#mobileNav .list-group-item{
  padding: .35rem 0;
}

#mobileNav .list-group-nested{
  padding-top: .35rem;
}

#mobileNav .list-group-nested .list-group-item{
  padding: .7rem .9rem;
  border-radius: 12px;
  font-size: 1.05rem;
}

.mobile-appbar{
  position:relative;
  display:none;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:45px;
  pointer-events:auto;
}

.mobile-appbar-brand{
  position:absolute;
  left:50%;
  top:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translate(-50%, -50%);
}

.mobile-appbar-brand img{
  height:30px;
  width:auto;
  display:block;
  display: none;
}

.mobile-appbar-title{
  display:none;
  min-width:0;
  overflow:hidden;
  color:#111827;
  font-size:1rem;
  font-weight:800;
  line-height:1.1;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mobile-appbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.mobile-nav-btn{
  width:44px;
  height:44px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#111827;
  box-shadow:0 8px 24px rgba(15,23,42,.10);
}

.mobile-nav-btn:hover{
  background:#fff;
}

.mobile-nav-btn i{
  font-size:1.2rem;
}

.global-search-overlay{
  position:fixed;
  inset:0;
  z-index:1120;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  padding:calc(env(safe-area-inset-top, 0px) + 14px) 0 0;
  background:#f6f7f9;
  color:#111827;
}
.global-search-overlay[hidden]{
  display:none;
}
.global-search-panel{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:transparent;
}
.global-search-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 16px 12px;
}
.global-search-input-wrap{
  position:relative;
  flex:1 1 auto;
  min-width:0;
  display:block;
}
.global-search-input-wrap i{
  position:absolute;
  left:17px;
  top:50%;
  transform:translateY(-50%);
  color:#111827;
  font-size:1.25rem;
  pointer-events:none;
}
.global-search-input{
  width:100%;
  height:54px;
  border:0;
  border-radius:18px;
  background:#fff;
  padding:0 16px 0 48px;
  color:#111827;
  font-size:1.08rem;
  font-weight:800;
  outline:0;
  box-shadow:none;
}
.global-search-input:focus{
  background:#fff;
  box-shadow:none;
}
.global-search-close{
  flex:0 0 auto;
  height:54px;
  border:0;
  background:transparent;
  color:#111827;
  font-family:'World Condensed', 'Causten', system-ui, sans-serif;
  font-size:1.08rem;
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  text-transform:uppercase;
  padding:0 2px;
}
.global-search-theme{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border:0;
  border-radius:14px;
  background:#fff;
  color:#111827;
}
.global-search-theme:hover{
  background:#eef2f7;
}
.global-search-tabs{
  display:flex;
  gap:22px;
  overflow-x:auto;
  padding:0 16px 14px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.global-search-tabs::-webkit-scrollbar{
  display:none;
}
.global-search-tab{
  position:relative;
  flex:0 0 auto;
  min-height:34px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#4b5563;
  padding:0 0 7px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:none;
}
.global-search-tab::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:currentColor;
  opacity:0;
}
.global-search-tab.is-active{
  background:transparent;
  color:#111827;
  box-shadow:none;
}
.global-search-tab.is-active::after{
  opacity:1;
}
.global-search-results{
  flex:1 1 auto;
  min-height:160px;
  overflow:auto;
  padding:0 16px calc(env(safe-area-inset-bottom, 0px) + 24px);
  -webkit-overflow-scrolling:touch;
}
.global-search-empty,
.global-search-loading{
  min-height:160px;
  display:grid;
  place-items:center;
  color:#6b7280;
  font-weight:800;
  text-align:center;
}
.global-search-section + .global-search-section{
  margin-top:18px;
}
.global-search-section-title{
  margin:0 0 10px;
  color:#111827;
  font-family:'World Condensed', 'Causten', system-ui, sans-serif;
  font-size:1.22rem;
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  text-transform:uppercase;
}
.global-search-list{
  display:block;
  overflow:hidden;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.global-search-result{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:72px;
  padding:12px 14px;
  color:#111827;
  text-decoration:none;
  background:transparent;
  border-bottom:1px solid rgba(0,0,0,.06);
  transition:background .16s ease, transform .16s ease;
}
.global-search-result:last-child{
  border-bottom:0;
}
.global-search-result:hover,
.global-search-result:focus-visible{
  background:transparent;
  color:#111827;
  text-decoration:none;
}
.global-search-media{
  position:relative;
  flex:0 0 auto;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:transparent;
  overflow:visible;
  box-shadow:none;
}
.global-search-media img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.global-search-media.is-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:999px;
}
.global-search-media i{
  color:#111827;
  font-size:1.28rem;
}
.global-search-match-logos{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
}
.global-search-match-logos img{
  width:30px;
  height:30px;
  object-fit:contain;
  background:#fff;
  border-radius:999px;
}
.global-search-match-logos img + img{
  margin-left:-8px;
}
.global-search-main{
  flex:1 1 auto;
  min-width:0;
}
.global-search-label{
  display:block;
  color:#111827;
  font-size:1.02rem;
  font-weight:900;
  line-height:1.12;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.global-search-subtitle{
  display:block;
  margin-top:4px;
  color:#6b7280;
  font-size:.86rem;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.global-search-score{
  flex:0 0 auto;
  color:#111827;
  font-family:'World Condensed', 'Causten', system-ui, sans-serif;
  font-size:1.28rem;
  line-height:1;
}
@media (min-width: 992px){
  .global-search-overlay{
    display:none !important;
  }
}
.page-share-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:8px 13px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px !important;
  background:#fff;
  color:#111827;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.page-share-action:hover,
.page-share-action:focus-visible{
  background:#f8fafc;
  color:var(--evi-brand);
  border-color:rgba(var(--evi-brand-rgb),.22);
}
body.global-search-open{
  overflow:hidden;
}
@media (max-width:575.98px){
  .global-search-overlay{
    padding:calc(env(safe-area-inset-top, 0px) + 12px) 0 0;
  }
  .global-search-head{
    padding:0 12px 12px;
  }
  .global-search-tabs{
    padding:0 12px 16px;
  }
  .global-search-results{
    padding:0 12px calc(env(safe-area-inset-bottom, 0px) + 24px);
  }
  .global-search-input{
    height:54px;
  }
}

.pwa-orientation-lock{
  display:none;
}

.pwa-bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1030;

  background:#fff;
  border:0;
  border-top:0;
  box-shadow:none;

  padding:5px 8px max(3px, calc(env(safe-area-inset-bottom, 0px) - 4px));
  display:none;
  gap:2px;

  border-radius:0;
}

html.is-pwa-standalone .pwa-bottom-nav{
  display:flex;
}

html.is-pwa-standalone .site-footer{
  display:none !important;
}

.pwa-bottom-nav a,
.pwa-bottom-nav button{
  flex:1 1 0;
  min-height:58px;
  text-decoration:none;
  color:#667085;
  border:0;
  border-radius:14px;
  padding:4px 2px;
  background:transparent;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  font-family:'Causten', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height:1;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

.pwa-bottom-nav i{
  display:grid;
  place-items:center;
  width:38px;
  height:32px;
  border-radius:10px;
  font-size:1.2rem;
  line-height:1;
}

.pwa-bottom-nav .label{
  margin-top:4px;
  font-size:.72rem;
  font-weight:700;
  opacity:1;
}

.pwa-bottom-nav a.is-active{
  background:transparent;
  color:var(--evi-brand);
}

.pwa-bottom-nav a.is-active i{
  background:var(--evi-brand-strong);
  color:#fff;
}

html.is-pwa-standalone body,
body.pwa-has-bottom-nav{
  padding-bottom:calc(64px + env(safe-area-inset-bottom));
}

/* Keep PWA scrolling intact while hiding the browser's scroll indicators. */
html.is-pwa-standalone,
html.is-pwa-standalone body{
  scrollbar-width:none;
  -ms-overflow-style:none;
}

html.is-pwa-standalone::-webkit-scrollbar,
html.is-pwa-standalone body::-webkit-scrollbar{
  display:none;
  width:0;
  height:0;
}

@media (display-mode:standalone), (display-mode:fullscreen){
  html,
  body{
    scrollbar-width:none;
    -ms-overflow-style:none;
  }

  html::-webkit-scrollbar,
  body::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
  }
}

@media (orientation: landscape) and (hover: none) and (pointer: coarse){
  html.is-pwa-standalone body{
    overflow:hidden;
  }

  html.is-pwa-standalone .pwa-orientation-lock{
    position:fixed;
    inset:0;
    z-index:2147483647;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:var(--evi-brand-strong);
    color:#fff;
    text-align:center;
  }

  html.is-pwa-standalone .pwa-orientation-lock-panel{
    display:grid;
    gap:10px;
    justify-items:center;
  }

  html.is-pwa-standalone .pwa-orientation-lock-panel i{
    font-size:2.4rem;
    line-height:1;
  }

  html.is-pwa-standalone .pwa-orientation-lock-panel strong{
    font-size:1.15rem;
    font-weight:700;
    line-height:1.15;
  }
}

@media (max-width: 991.98px){
  html.is-pwa-standalone #site-header .mobile-appbar{
    display:flex;
  }

  html.is-pwa-standalone #site-header .burger-btn.mobile-nav-btn{
    display:inline-flex;
    width:44px;
    height:44px;
    border-radius:999px;
  }

  html.is-pwa-standalone #site-header .burger-btn.mobile-nav-btn .burger-line{
    width:21px;
    height:2px;
  }

  html.is-pwa-standalone #site-header .burger-btn.is-open .burger-line:nth-child(1){ transform: translateY(6px) rotate(45deg); }
  html.is-pwa-standalone #site-header .burger-btn.is-open .burger-line:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }
}

@media (max-width: 991.98px){
  html.is-pwa-standalone #site-header{
    pointer-events:none;
  }

  html.is-pwa-standalone #site-header .main-navbar-brand,
  html.is-pwa-standalone #site-header .navbar-actions{
    display:none !important;
  }

  html.is-pwa-standalone body.header-offset{
    padding-top:calc(var(--header-h, calc(env(safe-area-inset-top, 0px) + 46px)) + 8px);
  }

  html.is-pwa-standalone body.header-offset .page-hero{
    display:none;
  }

  html.is-pwa-standalone #site-header .navbar.nav-minimal{
    min-height:46px;
    padding:calc(env(safe-area-inset-top, 0px) + 3px) 8px 3px;
    border-bottom:0;
    background:transparent !important;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  html.is-pwa-standalone #site-header .navbar .container{
    min-height:40px;
    max-width:none;
    padding:0;
  }

  html.is-pwa-standalone .mobile-appbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:40px;
  }

  html.is-pwa-standalone .mobile-appbar-brand{
    display:none;
  }

  html.is-pwa-standalone .mobile-appbar-title{
    display:block;
    position:absolute;
    top:50%;
    left:50%;
    width:max-content;
    max-width:50%;
    transform:translate(-50%, -50%);
    pointer-events:none;
  }

  html.is-pwa-standalone .mobile-appbar-actions{
    gap:6px;
    margin-left:0;
  }

  html.is-pwa-standalone .mobile-back-btn,
  html.is-pwa-standalone .mobile-appbar-actions{
    position:relative;
    z-index:1;
  }

  html.is-pwa-standalone #site-header [data-global-search-open]{
    display:none !important;
  }

  html.is-pwa-standalone .mobile-nav-btn,
  html.is-pwa-standalone #site-header .burger-btn.mobile-nav-btn{
    width:38px;
    height:38px;
    box-shadow:0 6px 18px rgba(15,23,42,.09);
  }

  html.is-pwa-standalone #site-header .mobile-appbar .burger-btn{
    display:none !important;
  }

  html.is-pwa-standalone .mobile-nav-btn i{
    font-size:1.05rem;
  }

  html.is-pwa-standalone #site-header .burger-btn.mobile-nav-btn .burger-line{
    width:18px;
    height:2px;
  }

  html.is-pwa-standalone #site-header .burger-btn.is-open .burger-line:nth-child(1){
    transform: translateY(6px) rotate(45deg);
  }

  html.is-pwa-standalone #site-header .burger-btn.is-open .burger-line:nth-child(3){
    transform: translateY(-6px) rotate(-45deg);
  }
}

.push-pref-modal{
  border:0;
  border-radius:0;
  overflow:hidden;
  min-height:100%;
  background:#fff;
  box-shadow:none;
}

.push-pref-page-header{
  display:grid;
  grid-template-columns:44px minmax(0, 1fr) 44px;
  align-items:center;
  gap:10px;
  min-height:68px;
  padding:calc(env(safe-area-inset-top, 0px) + 10px) 18px 10px;
  border:0;
  background:#fff;
}

.push-pref-page-header .push-pref-title{
  margin:0;
  font-family:'Causten', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:1.08rem;
  font-weight:800;
  text-align:center;
  text-transform:none;
}

.push-pref-page-back{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#111827;
}

.push-pref-page-back i{
  font-size:1.25rem;
  line-height:1;
}

.push-pref-page-back:hover,
.push-pref-page-back:focus-visible{
  background:#e9edf3;
  color:var(--evi-brand);
}

.push-pref-page-spacer{
  width:42px;
  height:42px;
}

.push-pref-page-body{
  padding:16px 20px calc(30px + env(safe-area-inset-bottom, 0px));
  background:#fff;
}

.push-pref-page-inner{
  width:min(100%, 720px);
  margin:0 auto;
}

.push-pref-title{
  font-family:'World Condensed', 'Causten', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:2rem;
  font-weight:400;
  line-height:.95;
  letter-spacing:0;
  text-transform:uppercase;
}

.push-pref-kicker,
.push-pref-label{
  color:#6b7280;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:0;
  text-transform:uppercase;
}

.push-pref-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:2px 0 18px;
  border:0;
  border-radius:0;
  background:transparent;
}

.push-pref-status strong{
  display:block;
  margin-top:1px;
  font-size:.96rem;
  line-height:1.15;
}

#pushPrefEnableBtn{
  flex:0 0 auto;
  min-height:38px;
  padding:.48rem .78rem;
  border-radius:14px !important;
  font-size:.84rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

.push-pref-status strong[data-tone="green"]{ color:#047857; }
.push-pref-status strong[data-tone="yellow"]{ color:#b45309; }
.push-pref-status strong[data-tone="red"]{ color:#b91c1c; }

.push-pref-toggle{
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  padding:14px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:16px;
  background:#fff;
  cursor:pointer;
}

.push-pref-toggle input{
  margin-top:4px;
}

.push-pref-toggle-locked{
  align-items:center;
  gap:12px;
  padding:8px 0;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:default;
}

.push-pref-toggle-locked i{
  color:var(--evi-brand);
  font-size:1.15rem;
  margin-top:1px;
  flex:0 0 auto;
}

.push-pref-toggle strong,
.push-pref-toggle small{
  display:block;
}

.push-pref-toggle small,
.push-pref-section-head small,
.push-pref-hint{
  color:#6b7280;
}

.push-pref-toggle strong{
  font-size:.98rem;
  line-height:1.15;
}

.push-pref-toggle small{
  margin-top:3px;
  font-size:.86rem;
  line-height:1.25;
}

.push-pref-section{
  margin-top:22px;
}

.push-pref-status + .push-pref-section{
  margin-top:4px;
}

.push-pref-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
}

.push-pref-section-head h6{
  margin:0;
  color:#111827;
  font-family:'Causten', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:.76rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.push-pref-section-head small{
  font-size:.82rem;
  font-weight:600;
}

.push-team-list{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}

.push-team-option{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  min-height:64px;
  padding:10px 2px;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:pointer;
}

.push-team-option input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.push-team-star{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:999px;
  background:#eef1f5;
  color:#667085;
  transition:background .15s ease, color .15s ease, transform .12s ease;
}

.push-team-star i{
  font-size:1rem;
  line-height:1;
}

.push-team-star-on{
  display:none;
}

.push-team-option:has(input:checked) .push-team-star{
  background:var(--evi-brand-strong);
  color:#fff;
}

.push-team-option:has(input:checked) .push-team-star-off{
  display:none;
}

.push-team-option:has(input:checked) .push-team-star-on{
  display:block;
}

.push-team-option:has(input:focus-visible) .push-team-star{
  outline:3px solid rgba(var(--evi-brand-rgb),.22);
  outline-offset:2px;
}

.push-team-option:active .push-team-star{
  transform:scale(.94);
}

.push-team-option img,
.push-team-fallback{
  width:38px;
  height:38px;
  flex:0 0 auto;
  object-fit:contain;
}

.push-team-fallback{
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#f3f4f6;
  color:#111827;
  font-weight:800;
}

.push-team-option span:last-child{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#111827;
  font-size:1.08rem;
  font-weight:700;
}

.push-pref-toggle:has(input:checked){
  border-color:rgba(var(--evi-brand-rgb),.35);
  background:rgba(var(--evi-brand-rgb),.06);
}

.push-team-option:has(input:checked){
  border-color:transparent;
  background:transparent;
}

.push-pref-toggle-locked{
  border-color:transparent;
  background:transparent;
}

.install-guide-modal{
  border:0;
  border-radius:20px;
  overflow:hidden;
}

.install-guide-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border-radius:14px;
  background:#f8fafc;
  color:#374151;
}

.install-guide-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}

.install-guide-card{
  padding:14px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:16px;
  background:#fff;
}

.install-guide-card h6{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  font-weight:800;
}

.install-step{
  display:grid;
  grid-template-columns:28px minmax(0, 1fr);
  gap:10px;
  align-items:start;
  margin-top:10px;
}

.install-step-number{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:.82rem;
  font-weight:800;
}

.install-step strong,
.install-step small{
  display:block;
}

.install-step small{
  color:#6b7280;
}

@media (max-width: 575.98px){
  .push-pref-page-header{
    padding-right:12px;
    padding-left:12px;
  }

  .push-pref-page-body{
    padding:12px 18px calc(28px + env(safe-area-inset-bottom, 0px));
  }

  .push-team-list{
    grid-template-columns:1fr;
  }

  .install-guide-grid{
    grid-template-columns:1fr;
  }
}
/* ===== PWA Install Banner ===== */
.pwa-banner{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 1030;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;

  padding: 12px 12px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.pwa-banner.hidden{ display:none; }

.pwa-banner .pwa-icon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #f2f4f8;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.pwa-banner .pwa-text{
  flex: 1 1 auto;
  min-width: 0;
}
.pwa-banner .pwa-title{ font-weight: 800; margin: 0; font-size: 1rem; }
.pwa-banner .pwa-sub{ margin: 2px 0 0 0; font-size: .9rem; opacity: .8; }

.pwa-banner .pwa-actions{
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}
.pwa-banner .btn{ white-space: nowrap; }
#pwaInstallBtn{ border-radius:14px !important; }

/* ===== Mini Install Badge (unten rechts) ===== */
.pwa-badge{
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 1030;
  border-radius: 14px;
  padding: 10px 12px;
  background: var(--evi-brand-strong);
  color: #fff;
  border: 0;
 
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.pwa-badge.hidden{ display:none; }
.pwa-badge i{ font-size: 1.05rem; }
.sponsor-item a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
