/* ====================================================
   KVFC Shared Styles â GNC Designstudio Chemnitz
   ==================================================== */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600;700&display=swap');

:root{
  --blau:#2684b9;
  --blau-dark:#1a6a9a;
  --blau-deeper:#0f4f77;
  --hellblau:#8fbddd;
  --hellblau-light:#d4eaf6;
  --anthrazit:#3b3f44;
  --anthrazit-light:#5c6168;
  --chalk:#F5F7FA;
  --white:#fff;
  --gruen:#3aaa5c;
  --gruen-dark:#2a8a47;
  --gruen-light:#e6f7ed;
  --line:#e2e8ed;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--chalk);color:var(--anthrazit);font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:'Barlow Condensed',sans-serif;letter-spacing:0.01em;}
.mono{font-family:'JetBrains Mono',monospace;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

/* ---- Topbar ---- */
.topbar{background:var(--anthrazit);color:#c8cdd2;font-family:'JetBrains Mono';font-size:12px;letter-spacing:0.04em;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:6px 24px;flex-wrap:wrap;gap:10px;}
.topbar .left{display:flex;gap:20px;}
.topbar a:hover{color:var(--hellblau);}

/* ---- Mainnav ---- */
.mainnav{background:var(--blau);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(15,79,119,.3);}
.mainnav>.wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;gap:16px;}

/* Brand / Logo */
.brand{display:flex;align-items:center;gap:12px;color:#fff;flex-shrink:0;}
.brand .logo-wrap{width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--hellblau);flex-shrink:0;}
.brand .name b{font-family:'Barlow Condensed';font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;display:block;line-height:1.1;}
.brand .name span{font-size:10.5px;color:var(--hellblau);letter-spacing:.05em;}

/* Nav root */
.nav-root{display:flex;gap:0;align-items:stretch;}
.nav-item{position:relative;}
.nav-item>a{
  display:flex;align-items:center;gap:5px;
  padding:10px 14px;
  font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:#e8f4fb;border-radius:5px;
  transition:background .15s,color .15s;
  white-space:nowrap;
}
.nav-item>a svg.chev{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;transition:transform .2s;}
.nav-item:hover>a{background:rgba(255,255,255,.15);color:#fff;}
.nav-item:hover>a svg.chev{transform:rotate(180deg);}

/* Dropdown */
.dropdown{
  display:none;
  position:absolute;top:calc(100% + 0px);left:0;
  background:#fff;border-radius:8px;
  box-shadow:0 8px 32px -8px rgba(15,40,70,.25);
  border:1px solid var(--line);
  min-width:220px;
  z-index:200;
  padding:8px 0;
}
.nav-item:hover .dropdown{display:block;}

/* Mega dropdown for Spielbetrieb */
.dropdown.mega{
  display:none;
  min-width:680px;
  padding:20px 24px;
}
.nav-item:hover .dropdown.mega{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px;}
.mega-col h5{
  font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blau);padding:0 0 8px 0;margin-bottom:8px;
  border-bottom:1px solid var(--line);
}

.dropdown a,.mega-col a{
  display:block;padding:8px 16px;font-size:13.5px;color:var(--anthrazit);
  transition:background .12s,color .12s;
}
.dropdown a:hover,.mega-col a:hover{background:var(--hellblau-light);color:var(--blau);}
.mega-col a{padding:6px 0;font-size:13px;}
.mega-col a:hover{background:none;color:var(--blau);padding-left:4px;}
.dropdown .sub-label{
  display:block;padding:10px 16px 4px;
  font-family:'JetBrains Mono';font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:#aab4bc;pointer-events:none;margin-top:4px;
}
.dropdown .sep{height:1px;background:var(--line);margin:6px 0;}

/* Mobile toggle */
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.3);border-radius:5px;color:#fff;padding:7px 9px;cursor:pointer;}
@media(max-width:980px){
  .nav-root{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--blau-dark);flex-direction:column;align-items:flex-start;
    padding:10px 24px 18px;gap:2px;border-top:1px solid var(--blau-deeper);
  }
  .nav-root.open{display:flex;}
  .nav-toggle{display:inline-flex;}
  .dropdown,.dropdown.mega{position:static;box-shadow:none;border:none;border-radius:0;
    background:rgba(0,0,0,.15);min-width:100%;padding:4px 0 4px 16px;}
  .dropdown.mega{grid-template-columns:1fr;gap:0;}
  .nav-item:hover .dropdown,.nav-item:hover .dropdown.mega{display:block;}
  .mega-col a{color:#c5deee;}
  .mega-col h5{color:var(--hellblau);border-color:rgba(255,255,255,.1);}
}

/* ---- Page Hero (Unterseiten) ---- */
.page-hero{
  background:linear-gradient(135deg,var(--blau-deeper) 0%,var(--blau) 100%);
  color:#fff;padding:42px 0 36px;
}
.page-hero .breadcrumb{
  font-family:'JetBrains Mono';font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--hellblau);margin-bottom:12px;display:flex;gap:8px;align-items:center;
}
.page-hero .breadcrumb span{opacity:.5;}
.page-hero h1{
  font-size:clamp(30px,4vw,46px);font-weight:800;text-transform:uppercase;line-height:1.05;
}
.page-hero p{margin-top:10px;font-size:15px;color:rgba(255,255,255,.75);max-width:520px;line-height:1.6;}

/* ---- Content area ---- */
.content{padding:56px 0;}
.content-grid{display:grid;grid-template-columns:1fr 300px;gap:40px;}
@media(max-width:840px){.content-grid{grid-template-columns:1fr;}}

/* Cards */
.card{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:28px 26px;margin-bottom:20px;}
.card h2{font-size:22px;text-transform:uppercase;color:var(--anthrazit);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--hellblau-light);}
.card h3{font-size:17px;text-transform:uppercase;color:var(--blau);margin-bottom:10px;margin-top:20px;}
.card h3:first-child{margin-top:0;}

/* Kontakt-Tabelle */
.contact-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.contact-table tr{border-bottom:1px solid var(--line);}
.contact-table tr:last-child{border-bottom:none;}
.contact-table td{padding:10px 8px;vertical-align:top;}
.contact-table td:first-child{font-weight:600;color:var(--anthrazit);width:210px;white-space:nowrap;}
.contact-table td:last-child{color:var(--anthrazit-light);}
.contact-table a{color:var(--blau);}
.contact-table a:hover{color:var(--blau-dark);text-decoration:underline;}
.contact-table .section-row td{
  background:var(--hellblau-light);color:var(--blau);
  font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 8px;font-weight:700;
}

/* Sidebar */
.sidebar .card{padding:20px;}
.sidebar h4{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--blau);margin-bottom:12px;}
.sidebar ul{list-style:none;display:flex;flex-direction:column;gap:4px;}
.sidebar ul a{
  display:block;padding:7px 10px;font-size:13.5px;color:var(--anthrazit-light);
  border-radius:6px;transition:background .12s,color .12s;
}
.sidebar ul a:hover,.sidebar ul a.active{background:var(--hellblau-light);color:var(--blau);font-weight:600;}

/* Download-Liste */
.dl-group{margin-bottom:24px;}
.dl-group h3{font-size:16px;text-transform:uppercase;color:var(--anthrazit);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.dl-item{
  display:flex;align-items:center;gap:12px;padding:10px 12px;
  border:1.5px solid var(--line);border-radius:8px;margin-bottom:8px;
  background:#fff;transition:border-color .15s,box-shadow .15s;
}
.dl-item:hover{border-color:var(--blau);box-shadow:0 3px 12px -6px rgba(38,132,185,.2);}
.dl-item .dl-icon{
  width:36px;height:36px;border-radius:6px;background:rgba(209,72,58,.1);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.dl-item .dl-icon svg{width:18px;height:18px;stroke:#b03228;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.dl-item .dl-icon.docx{background:var(--hellblau-light);}
.dl-item .dl-icon.docx svg{stroke:var(--blau);}
.dl-item .dl-name{font-size:13.5px;font-weight:600;color:var(--anthrazit);}
.dl-item .dl-meta{font-size:11.5px;color:var(--anthrazit-light);margin-top:2px;}
.dl-item .dl-btn{
  margin-left:auto;flex-shrink:0;
  background:var(--hellblau-light);color:var(--blau);
  font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:6px 12px;border-radius:5px;
  transition:background .15s;
}
.dl-item:hover .dl-btn{background:var(--blau);color:#fff;}


/* ---- Hero ---- */
.hero {
  background: linear-gradient(135deg, var(--blau-deeper) 0%, var(--blau) 55%, #3498c8 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
  min-height: 540px;
  display: flex;
  align-items: stretch;
}
.hero .grid-bg {
  position: absolute; inset: 0; opacity: 0.055; pointer-events: none;
  background-image:
    linear-gradient(90deg, #fff 1px, transparent 1px),
    linear-gradient(0deg, #fff 1px, transparent 1px);
  background-size: 56px 56px;
}
.hero-text {
  position: relative; z-index: 3;
  width: 50%; max-width: 600px;
  padding: 72px 48px 72px 0;
  margin-left: calc((100vw - 1180px) / 2);
  padding-left: 24px;
  display: flex; flex-direction: column; justify-content: center;
}
.hero-img-side {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 54%;
  display: flex; align-items: center; justify-content: flex-end;
  pointer-events: none;
  z-index: 2;
}
.hero-img-circle {
  width: min(640px, 95%);
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 0;
  flex-shrink: 0;
  box-shadow: -24px 0 60px -20px rgba(0,0,0,.4);
  border: 3px solid rgba(255,255,255,.12);
  position: relative;
}
.hero-img-circle img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: 81% 65%;
}
.hero-img-circle::before {
  content: "";
  position: absolute; inset: 0; border-radius: 50%; z-index: 1;
  background: linear-gradient(90deg, var(--blau) 0%, transparent 30%);
  pointer-events: none;
}
@media (max-width: 900px) {
  .hero { flex-direction: column; min-height: auto; overflow: hidden; }
  .hero-text {
    width: 100%; max-width: 100%;
    margin-left: 0; padding: 52px 24px 32px;
  }
  .hero-img-side {
    position: relative; width: 100%; height: 320px;
    justify-content: center;
  }
  .hero-img-circle {
    margin-right: 0; width: 300px; height: 300px;
    border: 3px solid rgba(255,255,255,.15);
  }
  .hero-img-circle::before { background: linear-gradient(180deg, var(--blau) 0%, transparent 30%); }
}

/* Eyebrow */
.eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px; letter-spacing: .12em;
  color: var(--hellblau); margin-bottom: 14px;
  display: inline-flex; gap: 10px; align-items: center;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 20px; height: 2px; background: var(--hellblau); display: inline-block; }
.hero h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; text-transform: uppercase;
  font-size: clamp(48px, 6vw, 74px);
  line-height: 1.0; margin-bottom: 8px;
}
.hero h1 em { color: var(--gruen); font-style: normal; }
.hero .sub {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(17px, 2.3vw, 24px);
  font-weight: 600; text-transform: uppercase; letter-spacing: .05em;
  color: var(--hellblau); margin-bottom: 20px;
}
.hero p.lede {
  font-size: 15.5px; line-height: 1.65;
  color: rgba(255,255,255,.8);
  max-width: 460px; margin-bottom: 28px;
}
.hero .ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 24px; border-radius: 6px;
  font-weight: 700; font-size: 14px;
  letter-spacing: .03em; text-transform: uppercase;
  text-decoration: none;
  transition: transform .15s, box-shadow .15s;
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px -6px rgba(0,0,0,.35); }
.btn-primary { background: var(--gruen); color: #fff; }
.btn-ghost { border: 2px solid rgba(255,255,255,.35); color: #fff; }
.btn-ghost:hover { border-color: #fff; }

/* ---- Stats ---- */
.stats { background: var(--anthrazit); color: #fff; }
.stats .wrap { display: flex; flex-wrap: wrap; }
.stat { flex: 1; min-width: 130px; padding: 20px 22px; border-right: 1px solid rgba(255,255,255,.09); text-align: center; }
.stat:last-child { border-right: none; }
.stat .num { font-family: 'Barlow Condensed', sans-serif; font-size: 40px; font-weight: 800; color: var(--hellblau); line-height: 1; display: block; }
.stat .label { font-size: 11px; color: #7a8590; letter-spacing: .07em; text-transform: uppercase; margin-top: 4px; display: block; }
@media (max-width: 640px) {
  .stat { min-width: 50%; }
  .stat:nth-child(2n) { border-right: none; }
  .stat:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.09); }
}

/* ---- Quicklink Tiles ---- */
.tiles-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 768px) { .tiles-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .tiles-grid { grid-template-columns: 1fr; } }
.tile {
  background: #fff;
  border: 1.5px solid var(--line, #e4e8ec);
  border-radius: 12px;
  padding: 28px 22px;
  text-decoration: none;
  color: inherit;
  display: block;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.tile:hover { border-color: var(--blau); box-shadow: 0 6px 24px -8px rgba(38,132,185,.18); transform: translateY(-2px); }
.tile .icon {
  width: 52px; height: 52px; border-radius: 12px;
  background: rgba(38,132,185,.1);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
}


.tile .icon svg {
  width: 24px; height: 24px;
  fill: none; stroke: var(--blau);
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.tile h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px; font-weight: 700;
  color: var(--anthrazit); margin-bottom: 6px;
}
.tile p { font-size: 13px; color: #6b7280; line-height: 1.5; margin: 0; }



/* Section head */
.section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }
.kicker {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--blau); display: block; margin-bottom: 6px;
}
.section-head h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 28px; font-weight: 800; text-transform: uppercase;
  color: var(--anthrazit); margin: 0;
}

/* ---- Footer ---- */
footer{background:var(--anthrazit);color:#c8cdd2;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding:54px 0 26px;}
@media(max-width:840px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
footer h4{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.1em;color:var(--hellblau);margin-bottom:14px;text-transform:uppercase;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
footer ul a{font-size:13.5px;color:#848d95;}
footer ul a:hover{color:var(--hellblau);}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.footer-logo-ring{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.footer-brand b{font-family:'Barlow Condensed';font-size:17px;text-transform:uppercase;color:#fff;}
.footer-addr{font-size:13px;line-height:1.75;color:#6e7880;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:18px 0;font-size:12.5px;color:#505860;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.footer-legal{display:flex;gap:18px;}
.footer-bottom a:hover{color:var(--hellblau);}


/* Marker-Reset */
.nav-root, .nav-root li, .nav-root ul,
.dropdown, .dropdown li,
.nav-root * { list-style: none !important; }
.nav-root li::marker,
.nav-root li::before,
.nav-root li::after { display: none !important; content: none !important; }

/* ---- WordPress Core Overrides ---- */
.wp-block-image img { max-width: 100%; height: auto; }
 .aligncenter { margin-left: auto; margin-right: auto; display: block; }
.wp-caption { max-width: 100%; }
img { max-width: 100%; height: auto; }

/* ---- Gutenberg Content Styles ---- */
.entry-content h2 { font-size: 24px; text-transform: uppercase; color: var(--anthrazit); margin: 24px 0 12px; }
.entry-content h3 { font-size: 18px; color: var(--blau); margin: 20px 0 10px; }
.entry-content p { line-height: 1.7; margin-bottom: 14px; color: var(--anthrazit-light); }
.entry-content ul, .entry-content ol { padding-left: 20px; margin-bottom: 14px; line-height: 1.7; }
 .entry-content a { color: var(--blau); text-decoration: underline; }

/* ---- Ticker ---- */
@keyframes scrollTicker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.ticker {
  background: var(--blau-deeper);
  overflow: hidden;
  position: relative;
}
.ticker .tag {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  z-index: 3;
  background: var(--gruen);
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  padding: 0 16px;
}
.ticker-track {
  display: flex;
  gap: 50px;
  white-space: nowrap;
  padding: 11px 0 11px 140px;
  animation: scrollTicker 40s linear infinite;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: #c5deee;
}
.ticker-track .hi { color: var(--gruen); }
.ticker-track .div { color: rgba(255,255,255,.3); }

/* =========================================================
   Vorstand-Grid (Gutenberg-Gruppe mit Klasse .vorstand-grid)
   – übernommen aus Snippet „kvfc-grid-fix"
   ========================================================= */
.vorstand-grid { display: block !important; }
.vorstand-grid > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 16px;
}

/* =========================================================
   Inhaltsseiten (.kvf-page) & Download-/Mitteilungslisten
   – übernommen aus Snippet ohne Namen (#68)
   ========================================================= */
.kvf-page { padding-top: 36px; padding-bottom: 60px; }
.kvf-page__content p { font-size: 16px; line-height: 1.75; color: #333; margin-bottom: 16px; }
.kvf-page__content ul { list-style: none; padding: 0; margin: 24px 0; display: flex; flex-direction: column; gap: 8px; }
.kvf-page__content ul li a { display: inline-flex; align-items: center; gap: 8px; background: #f0f6fc; border: 1px solid #c8dff0; border-radius: 6px; padding: 10px 16px; color: #1a5fa8; font-weight: 600; font-size: 15px; text-decoration: none; }
.kvf-page__content ul li a:hover { background: #d4eaf6; border-color: #1a5fa8; }
.kvf-page__content h2 { font-size: 22px; margin-top: 36px; margin-bottom: 12px; color: #1a3a5c; }
.kvf-page__content h3 { font-size: 18px; margin-top: 28px; margin-bottom: 8px; color: #1a3a5c; }

.dl-group { margin-bottom: 32px; }
.dl-group > h3,
.dl-group > .dl-group-title { font-size: 13px !important; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #2684b9; margin-bottom: 12px !important; padding-bottom: 6px; border-bottom: 2px solid #d4eaf6; }
.dl-item { display: flex !important; align-items: center; gap: 12px; background: #fff; border: 1px solid #e2e8ed; border-radius: 6px; padding: 12px 16px; margin-bottom: 8px; }
.dl-icon { flex-shrink: 0; width: 32px; height: 32px; color: #c0392b; }
.dl-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2; }
.dl-name { font-size: 15px; font-weight: 600; color: #1a3a5c; }
.dl-meta { font-size: 12px; color: #888; margin-top: 2px; }
.dl-item p { margin: 0 !important; margin-left: auto !important; }
.dl-btn { display: inline-block !important; margin-left: auto; background: #1a5fa8; color: #fff !important; font-size: 12px !important; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 7px 14px; border-radius: 4px; text-decoration: none !important; white-space: nowrap; cursor: pointer; }
.dl-btn:hover { background: #154d8a; }

/* =========================================================
   Partner-/Sponsorenlogos (Startseite „Gemeinsam für den Chemnitzer Fußball")
   ========================================================= */
.partner-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 14px;
}
@media (max-width: 1200px) { .partner-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 900px)  { .partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

.partner-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	padding: 14px 16px;
	background: #fff;
	border: 1.5px solid #dde3ea;
	border-radius: 12px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.partner-logo img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 78px;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: .65;
	transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}
.partner-logo:hover,
.partner-logo:focus-visible {
	transform: translateY(-3px);
	border-color: #c7d9f0;
	box-shadow: 0 10px 24px rgba(0, 51, 102, .10);
}
.partner-logo:hover img,
.partner-logo:focus-visible img {
	filter: none;
	opacity: 1;
	transform: scale(1.04);
}
.partner-logo.is-text span {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-align: center;
	color: #6b7280;
}
.partner-logo.is-text:hover span { color: var(--blau, #003366); }
.partner-empty { grid-column: 1 / -1; padding: 32px 0; text-align: center; color: #6b7280; font-size: 14px; }

/* Touch-Geräte haben kein Hover: Logos direkt in Farbe zeigen */
@media (hover: none) {
	.partner-logo img { filter: none; opacity: 1; }
}
