/* SKG Grasheim - frontend.css v1.0.1 */
:root{--skg-primary:#1a4a2e;--skg-primary-dark:#0f2d1c;--skg-primary-light:#2d6a4f;--skg-accent:#c8a227;--skg-accent-dark:#a07d15;--skg-white:#ffffff;--skg-light:#f4f6f0;--skg-light2:#e8ede3;--skg-gray:#6b7c6e;--skg-gray-dark:#3d4a3f;--skg-win:#2d7a3a;--skg-loss:#c0392b;--skg-draw:#e67e22;--skg-shadow:0 4px 24px rgba(26,74,46,.13);--skg-shadow-lg:0 8px 40px rgba(26,74,46,.18);--skg-radius:14px;--skg-radius-sm:8px;--skg-transition:.28s cubic-bezier(.4,0,.2,1);--skg-font:'Segoe UI','Inter',system-ui,sans-serif}
.skg-mannschaft-wrap{font-family:var(--skg-font);max-width:1200px;margin:0 auto;padding:0 16px}
.skg-filter-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;padding:6px;background:var(--skg-light);border-radius:50px;box-shadow:inset 0 2px 6px rgba(0,0,0,.06)}
.skg-filter-tab{padding:10px 22px;border:none;border-radius:50px;background:transparent;color:var(--skg-gray-dark);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--skg-transition);font-family:var(--skg-font)}
.skg-filter-tab:hover{background:var(--skg-light2);color:var(--skg-primary)}
.skg-filter-tab.active{background:var(--skg-primary);color:var(--skg-white);box-shadow:0 3px 12px rgba(26,74,46,.30)}
.skg-teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.skg-team-item{display:flex}.skg-team-item.skg-hidden{display:none !important}
.skg-team-card{display:flex;flex-direction:column;width:100%;background:var(--skg-white);border-radius:var(--skg-radius);box-shadow:var(--skg-shadow);overflow:hidden;border-top:4px solid var(--skg-team-color,var(--skg-primary));transition:transform var(--skg-transition),box-shadow var(--skg-transition)}
.skg-team-card:hover{transform:translateY(-6px);box-shadow:var(--skg-shadow-lg)}
.skg-card-header{position:relative;height:160px;background:linear-gradient(135deg,var(--skg-team-color,var(--skg-primary)) 0%,var(--skg-primary-dark) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.skg-card-image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55}
.skg-card-icon{font-size:4rem;position:relative;z-index:1}
.skg-card-sport-badge{position:absolute;top:12px;right:12px;background:var(--skg-accent);color:var(--skg-primary-dark);font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:50px;text-transform:uppercase;letter-spacing:.5px;z-index:2}
.skg-card-body{padding:22px 24px 16px;flex:1}.skg-card-title{margin:0 0 14px;font-size:1.15rem;font-weight:800;color:var(--skg-primary-dark);line-height:1.3}
.skg-card-meta{display:flex;flex-direction:column;gap:7px}.skg-meta-item{display:flex;align-items:center;gap:7px;font-size:.85rem;color:var(--skg-gray)}.skg-meta-item svg{flex-shrink:0;color:var(--skg-primary-light)}
.skg-card-footer{padding:14px 24px 20px}
.skg-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:50px;font-size:.9rem;font-weight:700;cursor:pointer;transition:var(--skg-transition);text-decoration:none;border:2px solid transparent;font-family:var(--skg-font)}
.skg-btn-outline{background:transparent;border-color:var(--skg-team-color,var(--skg-primary));color:var(--skg-team-color,var(--skg-primary));width:100%;justify-content:center}
.skg-btn-outline:hover{background:var(--skg-team-color,var(--skg-primary));color:var(--skg-white)}
.skg-kader-panel{border-top:1px solid var(--skg-light2);padding:20px 24px 24px;background:var(--skg-light);animation:skg-slide-down .25s ease}
@keyframes skg-slide-down{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.skg-kader-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}
.skg-kader-card{background:var(--skg-white);border-radius:var(--skg-radius-sm);padding:14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform var(--skg-transition)}.skg-kader-card:hover{transform:translateY(-3px)}
.skg-kader-avatar{position:relative;width:64px;height:64px}.skg-kader-avatar img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--skg-primary)}
.skg-avatar-placeholder{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--skg-primary) 0%,var(--skg-primary-light) 100%);color:var(--skg-white);font-size:1.5rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.skg-kader-nummer{position:absolute;bottom:-4px;right:-4px;background:var(--skg-accent);color:var(--skg-primary-dark);font-size:.65rem;font-weight:800;padding:2px 6px;border-radius:50px}
.skg-kader-info{width:100%}.skg-kader-name{display:block;font-size:.88rem;font-weight:700;color:var(--skg-primary-dark);margin-bottom:2px}.skg-kader-funktion{display:block;font-size:.75rem;color:var(--skg-accent-dark);font-weight:600}.skg-kader-position{display:block;font-size:.72rem;color:var(--skg-gray)}
.skg-single-team{font-family:var(--skg-font);max-width:1000px;margin:0 auto}
.skg-single-hero{min-height:260px;background:linear-gradient(135deg,var(--skg-team-color,var(--skg-primary)) 0%,var(--skg-primary-dark) 100%);background-size:cover;background-position:center;border-radius:var(--skg-radius);overflow:hidden;position:relative;margin-bottom:30px}
.skg-single-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.15) 60%,transparent 100%);display:flex;align-items:flex-end;padding:32px}
.skg-single-hero-content{color:var(--skg-white)}.skg-single-sport-tag{display:inline-block;background:var(--skg-accent);color:var(--skg-primary-dark);padding:4px 14px;border-radius:50px;font-size:.8rem;font-weight:700;text-transform:uppercase;margin-bottom:10px}
.skg-single-title{margin:0 0 6px;font-size:2rem;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.4)}.skg-single-liga{margin:0;font-size:1rem;opacity:.85}
.skg-single-body{padding:0 4px}.skg-single-info-bar{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}
.skg-info-chip{display:inline-flex;align-items:center;gap:8px;background:var(--skg-light);border:1px solid var(--skg-light2);padding:8px 18px;border-radius:50px;font-size:.9rem;color:var(--skg-gray-dark)}.skg-info-chip a{color:var(--skg-primary);text-decoration:none}
.skg-section-title{font-size:1.2rem;font-weight:800;color:var(--skg-primary-dark);margin:32px 0 18px;padding-bottom:10px;border-bottom:3px solid var(--skg-accent);display:inline-block}
.skg-single-description{margin-bottom:24px;line-height:1.7;color:var(--skg-gray-dark)}
.skg-sportarten-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;font-family:var(--skg-font)}
.skg-sport-card{background:var(--skg-white);border-radius:var(--skg-radius);box-shadow:var(--skg-shadow);overflow:hidden;border-left:5px solid var(--skg-sport-color,var(--skg-primary));transition:transform var(--skg-transition),box-shadow var(--skg-transition)}.skg-sport-card:hover{transform:translateY(-5px);box-shadow:var(--skg-shadow-lg)}
.skg-sport-icon-wrap{height:120px;background:linear-gradient(135deg,var(--skg-sport-color,var(--skg-primary)) 0%,var(--skg-primary-dark) 100%);display:flex;align-items:center;justify-content:center}
.skg-sport-emoji{font-size:3.5rem}.skg-sport-image{width:100%;height:100%;object-fit:cover;opacity:.7}.skg-sport-body{padding:20px}.skg-sport-body h3{margin:0 0 8px;font-size:1.05rem;font-weight:800;color:var(--skg-primary-dark)}.skg-sport-body p{font-size:.85rem;color:var(--skg-gray);margin:0 0 12px}
.skg-sport-teams-count{display:inline-block;background:var(--skg-light);color:var(--skg-primary);font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:50px}
.skg-mitglieder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;font-family:var(--skg-font)}
.skg-member-card{background:var(--skg-white);border-radius:var(--skg-radius);box-shadow:var(--skg-shadow);padding:20px;display:flex;gap:16px;align-items:flex-start;transition:transform var(--skg-transition)}.skg-member-card:hover{transform:translateY(-4px)}
.skg-member-photo{position:relative;flex-shrink:0}.skg-member-photo img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--skg-primary)}
.skg-member-initials{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--skg-primary) 0%,var(--skg-primary-light) 100%);color:var(--skg-white);font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.skg-member-nr{position:absolute;bottom:-4px;right:-6px;background:var(--skg-accent);color:var(--skg-primary-dark);font-size:.65rem;font-weight:800;padding:2px 6px;border-radius:50px}
.skg-member-info{flex:1;min-width:0}.skg-member-name{display:block;margin:0 0 4px;font-size:1rem;font-weight:800;color:var(--skg-primary-dark)}
.skg-member-funktion,.skg-member-pos,.skg-member-team,.skg-member-since{display:block;font-size:.78rem;color:var(--skg-gray);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skg-member-funktion{color:var(--skg-accent-dark);font-weight:700}
.skg-ergebnisse-wrap{font-family:var(--skg-font);border-radius:var(--skg-radius);overflow:hidden;box-shadow:var(--skg-shadow)}
.skg-ergebnisse-header{display:grid;grid-template-columns:100px 30px 1fr 1fr 100px 140px;gap:12px;padding:14px 20px;background:var(--skg-primary);color:var(--skg-white);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.skg-ergebnisse-body .skg-ergebnis-row:nth-child(even){background:var(--skg-light)}
.skg-ergebnis-row{display:grid;grid-template-columns:100px 30px 1fr 1fr 100px 140px;gap:12px;padding:14px 20px;align-items:center;font-size:.88rem;border-left:4px solid transparent;background:var(--skg-white);transition:background var(--skg-transition)}
.skg-ergebnis-row:hover{background:var(--skg-light2) !important}.skg-result-win{border-left-color:var(--skg-win) !important}.skg-result-loss{border-left-color:var(--skg-loss) !important}.skg-result-draw{border-left-color:var(--skg-draw) !important}
.skg-e-datum{color:var(--skg-gray);font-size:.82rem}.skg-e-score{font-weight:800;font-size:1rem;color:var(--skg-primary-dark);text-align:center}.skg-e-status{font-size:.78rem;font-weight:600}
.skg-art-heim,.skg-art-h{background:var(--skg-primary);color:#fff;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700;text-align:center}
.skg-art-auswaerts,.skg-art-a{background:var(--skg-gray);color:#fff;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700;text-align:center}
.skg-art-neutral,.skg-art-n{background:var(--skg-draw);color:#fff;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700;text-align:center}
.skg-ergebnisse-list{display:flex;flex-direction:column;gap:6px}.skg-ergebnisse-list .skg-ergebnis-row{grid-template-columns:90px 28px 1fr 90px 110px;border-radius:var(--skg-radius-sm);box-shadow:0 1px 6px rgba(0,0,0,.06)}
.skg-score-badge{display:inline-block;padding:3px 10px;border-radius:50px;font-size:.82rem;font-weight:700}.skg-score-badge.skg-win{background:#e8f5e9;color:var(--skg-win)}.skg-score-badge.skg-loss{background:#fce8e6;color:var(--skg-loss)}.skg-score-badge.skg-draw{background:#fff3e0;color:var(--skg-draw)}
.skg-empty{text-align:center;padding:40px;color:var(--skg-gray);font-style:italic;font-family:var(--skg-font)}.skg-error{background:#fce8e6;border:1px solid #f5c6c3;color:#c0392b;padding:12px 18px;border-radius:var(--skg-radius-sm);font-family:var(--skg-font)}
@media(max-width:768px){.skg-teams-grid{grid-template-columns:1fr}.skg-ergebnisse-header{display:none}.skg-ergebnis-row,.skg-ergebnisse-list .skg-ergebnis-row{grid-template-columns:1fr;gap:4px}.skg-single-title{font-size:1.4rem}.skg-mitglieder-grid{grid-template-columns:1fr}.skg-sportarten-grid{grid-template-columns:1fr 1fr}.skg-filter-tabs{border-radius:var(--skg-radius)}}
@media(max-width:480px){.skg-sportarten-grid{grid-template-columns:1fr}.skg-kader-grid{grid-template-columns:repeat(2,1fr)}}
