/* ========================= 📻 RADIOPLUNA PUBLIC TEAM – CYBER-HEX ENGINE ========================= */
.role-inhaber { --role-color: #ff0077; --role-shadow: rgba(255, 0, 119, 0.25); }
.role-techniker { --role-color: #00eaff; --role-shadow: rgba(0, 234, 255, 0.25); }
.role-moderatoren { --role-color: #c770ff; --role-shadow: rgba(199, 112, 255, 0.25); }
.role-urlaub { --role-color: #ffaa00; --role-shadow: rgba(255, 170, 0, 0.25); }
.role-kinder { --role-color: #00ff99; --role-shadow: rgba(0, 255, 153, 0.25); }
.role-modi { --role-color: #66aaff; --role-shadow: rgba(102, 170, 255, 0.25); }
.role-hg-bauer { --role-color: #ff4444; --role-shadow: rgba(255, 68, 68, 0.25); }
.role-sp-und-rl { --role-color: #44ffdd; --role-shadow: rgba(68, 255, 221, 0.25); }

/* 📦 DIE STRUKTUR: TRANSPARENTE SEKTIONS-SCHIENEN MIT LEUCHT-EFFEKT */
.team-role-section.card { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; margin-bottom: 3.5rem !important; }
.team-role-header { width: 100%; display: flex; justify-content: center; margin-bottom: 1.5rem; }
.team-role-header-img { max-width: 100%; height: auto; display: block; border-radius: 8px; filter: drop-shadow(0 0 12px var(--role-color)); transition: filter 0.3s ease; }
.team-role-section:hover .team-role-header-img { filter: drop-shadow(0 0 20px var(--role-color)) saturate(130%); }

/* 📊 DAS KACHEL-GRID DER MODERATOREN (UNIKAT FÜR DEINE HÖRER) */
.team-public-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; width: 100%; box-sizing: border-box; }
.team-public-card { position: relative; background: rgba(10, 15, 30, 0.65); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,0.04); border-top: 2px solid var(--role-color); border-radius: 16px; padding: 1.8rem 1.2rem; text-align: center; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 0 0 15px var(--role-shadow); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease, border-color 0.3s ease; overflow: hidden; }

/* REAKTIVE HOVER-HÄRTUNG */
.team-public-card:hover { transform: translateY(-8px) scale(1.02); border-color: var(--role-color); box-shadow: 0 15px 35px rgba(0,0,0,0.7), 0 0 20px var(--role-shadow); background: rgba(18, 24, 45, 0.85); }
.team-public-card::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, var(--role-shadow) 0%, transparent 100%); opacity: 0; transition: opacity 0.3s ease; pointer-events: none; }
.team-public-card:hover::before { opacity: 0.4; }

/* ELEGANTE SCHRIFT- & AVATAR-STEUERUNG FÜR DIE CREW */
.team-public-avatar { width: 90px; height: 90px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,0.1); padding: 3px; background: rgba(0,0,0,0.3); box-shadow: 0 5px 15px rgba(0,0,0,0.5); transition: transform 0.3s ease, border-color 0.3s ease; }
.team-public-card:hover .team-public-avatar { transform: rotate(4deg) scale(1.05); border-color: var(--role-color); }
.team-public-card h3 { font-size: 1.25rem; font-weight: 700; color: #ffffff; margin: 15px 0 8px 0; text-shadow: 0 1px 3px #000; letter-spacing: 0.3px; }
.team-public-card:hover h3 { color: var(--role-color); text-shadow: 0 0 8px var(--role-shadow); }
.team-tasks { font-size: 0.85rem; color: #cbd5e1; line-height: 1.5; margin: 0; opacity: 0.85; word-break: break-word; font-style: italic; }

/* RECHTLICHE HINWEISE & FALLBACKS */
.empty-team-hint { color: #667799; font-style: italic; text-align: center; padding: 20px; width: 100%; }

/* ========================= 📱 RESPONSIVE RESPOND-GRID (UNTER 768PX MOBILE) ========================= */
@media (max-width: 768px) { .team-public-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 15px; } .team-public-card { padding: 1.2rem 0.8rem; border-radius: 12px; } .team-public-avatar { width: 75px; height: 75px; } .team-public-card h3 { font-size: 1.1rem; } .team-tasks { font-size: 0.78rem; } }
