/* =============================
   PLAYERS LIST
   ============================= */

.players{
    padding:120px 8%;
}

.players h2{
    font-size:40px;
    color:#0d3b2a;
    margin:70px 0 35px;
    border-left:6px solid #0d3b2a;
    padding-left:20px;
}

.team-tabs{
    display:flex;
    justify-content:center;
    gap:20px;
    margin:60px 0;
}

.tab-btn{
    padding:15px 45px;
    border:2px solid #0d3b2a;
    background:white;
    color:#0d3b2a;
    border-radius:50px;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
    transition:.3s;
}

.tab-btn.active,
.tab-btn:hover{
    background:#0d3b2a;
    color:white;
}

.players .player-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(220px,1fr));
    gap:30px;
    align-items:stretch;
}

.players .player-card{
    display:block;
    width:100%;
    max-width:none;
    background:white;
    border-radius:20px;
    overflow:hidden;
    text-align:center;
    text-decoration:none;
    color:#111;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.players .player-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.players .player-card img{
    width:100%;
    height:280px;
    object-fit:cover;
    border-radius:0;
    display:block;
}

.player-info{
    padding:28px 20px 30px;
    text-align:center;
    display:block;
}

.number{
    display:block;
    font-size:30px;
    font-weight:800;
    color:#0d3b2a;
    margin-bottom:10px;
}

.player-info h3{
    font-size:24px;
    color:#0d3b2a;
    margin:0 0 10px;
}

.player-info p{
    color:#777;
    font-weight:bold;
    margin-bottom:22px;
}

.instagram-btn{
    display:inline-block;
    padding:10px 28px;
    background:#0d3b2a;
    color:white;
    text-decoration:none;
    border-radius:30px;
    font-size:14px;
    transition:.3s;
}

.instagram-btn:hover{
    background:#146b49;
}

@media(max-width:1100px){
    .players .player-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:900px){
    .players{
        padding:80px 6%;
    }

    .team-tabs{
        overflow-x:auto;
        justify-content:flex-start;
        gap:12px;
        padding-bottom:8px;
    }

    .tab-btn{
        min-width:130px;
        padding:12px 24px;
    }
}

@media(max-width:768px){
    .players .player-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .players .player-card img{
        height:260px;
    }
}

@media(max-width:500px){
    .players .player-grid{
        grid-template-columns:repeat(2, 1fr) !important;
    }

    .players .player-card img{
        height:220px;
    }
}
/* ===== PLAYERS GRID FINAL FIX ===== */

.players .container .player-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:30px !important;
}

.players .container .player-card{
    width:100% !important;
    max-width:none !important;
    display:block !important;
    text-decoration:none !important;
}

.players .container .player-card img{
    width:100% !important;
    height:280px !important;
    object-fit:cover !important;
    display:block !important;
}

/* タブレット */
@media(max-width:1100px){
    .players .container .player-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

/* スマホ */
@media(max-width:768px){
    .players .container .player-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

/* 小さいスマホ */
@media(max-width:480px){
    .players .container .player-grid{
        grid-template-columns:repeat(2, 1fr) !important;
    }
}
.players .player-grid{
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:30px !important;
}

.players .player-card{
    display:block !important;
    width:100% !important;
    max-width:none !important;
}
/* ===== PLAYERS COMPLETE FIX ===== */

section.players{
    display:block !important;
    width:100% !important;
    padding:120px 8% !important;
}

section.players .container{
    width:100% !important;
    max-width:1200px !important;
    margin:0 auto !important;
}

section.players .team-panel .player-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:30px !important;
    width:100% !important;
}

section.players .team-panel .player-card{
    display:block !important;
    width:100% !important;
    max-width:none !important;
}

@media(max-width:1100px){
    section.players .team-panel .player-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

@media(max-width:768px){
    section.players .team-panel .player-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:480px){
    section.players .team-panel .player-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}
/* =============================
   STAFF TAB
   ============================= */

section.players #staff-team .player-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 280px)) !important;
    gap:30px !important;
    justify-content:start;
    width:100%;
}

section.players #staff-team .player-card{
    display:block !important;
    width:100% !important;
    max-width:280px !important;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    text-align:center;
    text-decoration:none;
    color:#111;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* スマホ */
@media(max-width:600px){

    section.players #staff-team .player-grid{
        grid-template-columns:1fr !important;
    }

    section.players #staff-team .player-card{
        max-width:320px !important;
        margin:0 auto;
    }
}
/* =============================
   STAFF CARD FINAL FIX
   ============================= */

section.players #staff-team .player-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:30px !important;
    width:100% !important;
}

section.players #staff-team .player-card img{
    display:block !important;
    width:100% !important;
    height:280px !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
    object-position:center top !important;
}

section.players #staff-team .player-info{
    padding:28px 20px 30px !important;
    text-align:center !important;
}

/* タブレット */
@media(max-width:1100px){
    section.players #staff-team .player-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

/* スマホ */
@media(max-width:768px){
    section.players #staff-team .player-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    section.players #staff-team .player-card img{
        height:260px !important;
    }
}