/* Team & Player card styles - mobile-first, touch-friendly */
:root{
  --team-bg: #071226;
  --card-bg: rgba(255,255,255,0.03);
  --muted: #94a3b8;
  --accent: #1fb6ff;
  --radius: 12px;
}

.team-section{max-width:1100px;margin:24px auto;padding:0 16px}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.section-header h2{font-size:1.25rem;color:var(--accent);margin:0;font-weight:700}
.section-sub{color:var(--muted);font-size:0.95rem}

.team-grid{display:grid;grid-template-columns:1fr;gap:16px}
.team-card{background:var(--card-bg);border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.04);display:flex;flex-direction:column;transition:transform 180ms ease, box-shadow 180ms ease}
.team-card__media{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,0.02);background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.03));padding:20px;display:flex;align-items:center;justify-content:center;min-height:280px}
.team-card__media img{width:100%;height:auto;max-height:320px;object-fit:contain;object-position:center;display:block;transition:transform 0.3s ease}
.team-card:hover .team-card__media img{transform:scale(1.05)}
.team-card__flag{position:absolute;right:10px;bottom:10px;z-index:5;display:flex;align-items:center}
.team-card__flag img.flag-badge{width:34px;height:22px;border-radius:4px;box-shadow:0 4px 10px rgba(0,0,0,0.25);object-fit:cover}

/* Player card flag positioning (used by professional player cards) */
.player-card-pro__image-container .flag-badge{position:absolute;right:10px;bottom:10px;z-index:4;width:32px;height:20px;border-radius:3px;box-shadow:0 4px 10px rgba(0,0,0,0.25)}

.team-card__body{padding:14px}
.team-card__name{font-size:1.1rem;font-weight:700;margin:0 0 8px;color:#e6eef8;line-height:1.3}
.team-card__role{font-size:0.95rem;color:var(--accent);font-weight:600;margin-bottom:10px;line-height:1.4}
.team-card__meta{font-size:0.92rem;color:var(--muted);line-height:1.5}
.team-card__excerpt{color:var(--muted);font-size:0.98rem;line-height:1.6;margin:10px 0}
.team-socials{display:flex;gap:14px;margin-top:14px}
.team-socials a{color:var(--accent);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);transition:all 0.3s ease}
.team-socials a:hover{background:rgba(14,165,255,0.15);border-color:var(--accent);transform:translateY(-2px)}

/* Make whole card clickable and focusable */
.team-card__link{display:block;color:inherit;text-decoration:none}

/* Hover/focus visual affordance for keyboard users */
.team-card:hover, .team-card:focus-within{transform:translateY(-4px);box-shadow:0 12px 28px rgba(2,6,23,0.6)}

/* Compact variant used on homepage preview: hide textual body */
.team-card--compact .team-card__body{display:none}

.team-card__excerpt{color:#dbe6f2;font-size:0.95rem;line-height:1.45;margin:8px 0}

/* Compact player card variant used on home preview: image + flag only */
.player-card-pro--compact{border-radius:12px;overflow:hidden}
.player-card-pro--compact .player-card-pro__info{display:none !important}
.player-card-pro--compact .player-card-pro__rating{display:none !important}
.player-card-pro--compact .player-card-pro__frame{border-radius:12px}
.player-card-pro--compact .flag-badge{width:28px;height:18px}

/* Card shapes: rounded square / soft spherical */
.card-shape-rounded{border-radius:14px}
.card-shape-pill{border-radius:22px}

/* Responsive: mobile-first design with enhanced touch targets */
@media (max-width:480px){
  .team-grid{grid-template-columns:1fr;gap:20px}
  .team-card__media{min-height:240px;padding:16px}
  .team-card__media img{max-height:280px}
  .team-card__body{padding:16px}
}
@media (min-width:481px) and (max-width:640px){
  .team-grid{grid-template-columns:1fr;gap:20px}
  .team-card__media{min-height:260px}
}
@media (min-width:641px) and (max-width:980px){
  .team-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .team-card__media{min-height:280px}
}
@media (min-width:981px) and (max-width:1299px){
  .team-grid{grid-template-columns:repeat(3,1fr);gap:28px}
  .team-card__media{min-height:300px}
}
@media (min-width:1300px){
  .team-grid{grid-template-columns:repeat(3,1fr);gap:32px}
  .team-grid.leadership{grid-template-columns:repeat(2,1fr)}
  .team-grid.exec{grid-template-columns:repeat(3,1fr)}
  .team-card__media{min-height:320px}
}

/* Leadership featured card styling */
.leadership-feature{border-radius:18px;overflow:visible}
@media (min-width:980px){
  .team-grid.leadership .leadership-feature{grid-column:span 2}
}

/* Subtle hover/tap animations allowed: shadow and slight scale */
.team-card, .player-card-pro{transition:transform 180ms ease, box-shadow 180ms ease}
.team-card:active, .player-card-pro:active{transform:scale(0.995)}
.team-card:focus-within, .player-card-pro:focus{box-shadow:0 10px 30px rgba(0,0,0,0.35)}

/* Accessibility helpers */
.flag-badge{pointer-events:none}

/* Ensure names do not change on hover and no overlay text appears */
.player-card-pro__name a, .team-name a, .team-member-card a, .team-card__name a { text-decoration: none; color: inherit; }
.player-card-pro__name a:hover, .team-name a:hover, .team-member-card a:hover, .team-card__name a:hover { color: inherit; text-decoration: none; }
