/* mobile-team.css — team page mobile overrides (linked after inline <style> in team.html)
   All desktop CSS uses absolute positioning with hardcoded px — fully overridden here. */

@media (max-width: 768px) {

  /* ── SECTION CONTAINER ────────────────────────────────────── */
  .team-section,
  .team-section.profile-open {
    min-height: auto;
    padding: 0 0 40px;
  }

  /* ── HEADING + DOT ────────────────────────────────────────── */
  .team-dot {
    display: none;
  }

  .team-heading {
    position: static;
    font-size: 24px;
    padding: 24px 20px 8px;
    margin: 0;
  }

  /* ── FILTER TABS ──────────────────────────────────────────── */
  .team-tabs {
    position: static;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 8px 20px 16px;
  }

  .team-tab {
    height: 44px;
    font-size: 15px;
    border-radius: 10px;
  }

  .team-tabs {
    flex-direction: column;
    align-items: stretch;
    padding: 8px 20px 16px;
  }

  .team-tab--trustees,
  .team-tab--council,
  .team-tab--exec { width: 100%; }

  /* ── CARDS ROW ────────────────────────────────────────────── */
  /* Cancel fit-canvas zoom — team cards have proper mobile CSS */
  #team-cards-row {
    zoom: 1 !important;
  }

  .team-cards-row {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 0 20px;
  }

  /* ── INDIVIDUAL CARD ──────────────────────────────────────── */
  .team-card {
    position: relative;
    width: 100%;
    max-width: 340px;
    height: auto;
    min-height: 0;
    padding: 20px 20px 16px;
    box-sizing: border-box;
  }

  /* Photo and placeholder frame: static, full width */
  .team-card-photo {
    position: static;
    width: 100%;
    height: 220px;
    border-radius: 16px;
    display: block;
    margin-bottom: 12px;
    object-fit: cover;
    object-position: top center;
  }

  .team-card-frame {
    position: static;
    width: 100%;
    height: 220px;
    border-radius: 16px;
    margin-bottom: 12px;
    box-sizing: border-box;
  }

  .team-card-name {
    position: static;
    width: auto;
    text-align: center;
    font-size: 18px;
    margin: 0 0 8px;
  }

  .team-card-divider {
    position: static;
    width: 120px;
    height: 1px;
    margin: 0 auto 10px;
  }

  .team-card-desc {
    position: static;
    width: auto;
    font-size: 15px;
    line-height: 1.5;
    max-height: none;
    overflow: visible;
    margin: 0 0 12px;
  }

  .team-card-readmore {
    position: static;
    width: auto;
    height: auto;
    display: block;
    text-align: center;
    font-size: 16px;
    margin: 0 auto;
  }

  /* ── PROFILE PANEL ────────────────────────────────────────── */
  .team-profile-panel {
    position: static;
    width: auto;
    margin: 0 20px;
    padding: 20px;
    border-radius: 20px;
    min-height: 0;
  }

  /* Stack photo above bio (desktop is a side-by-side flex row) */
  .team-profile-inner {
    flex-direction: column;
    gap: 0;
  }

  .team-profile-left {
    width: auto;
    flex-shrink: 1;
    text-align: center;
    margin-bottom: 16px;
  }

  .team-profile-photo {
    position: static;
    width: 100%;
    max-width: 260px;
    height: 220px;
    border-radius: 16px;
    display: block;
    margin: 0 auto 12px;
    object-fit: cover;
    object-position: top center;
  }

  .team-profile-frame {
    position: static;
    width: 100%;
    max-width: 260px;
    height: 220px;
    border-radius: 16px;
    margin: 0 auto 12px;
    box-sizing: border-box;
  }

  .team-profile-name {
    position: static;
    width: auto;
    text-align: center;
    font-size: 18px;
    margin: 0 0 16px;
  }

  .team-profile-bio {
    position: static;
    width: auto;
    font-size: 15px;
    line-height: 1.55;
  }

  .team-profile-back {
    position: static;
    display: block;
    text-align: right;
    margin-bottom: 12px;
    font-size: 15px;
  }

  /* ── COUNCIL / ESC LIST VIEWS ─────────────────────────────── */
  .team-list-view {
    position: static !important;
    width: auto !important;
    padding: 0 16px !important;
  }

  #council-content,
  #esc-content {
    padding: 28px 20px 32px 20px !important;
    border-radius: 16px !important;
  }

  .council-grid,
  .esc-grid {
    flex-direction: column !important;
    gap: 0 !important;
  }

  .council-col,
  .esc-col {
    flex: none !important;
    width: 100% !important;
  }

  .team-list-member {
    padding-bottom: 28px !important;
  }

  .team-list-name {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  .team-list-desc {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

}
