/* ================================= */
/* GLOBAL */
/* ================================= */

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
background:#fafafa;
color:#222;
line-height:1.6;
}

a{
text-decoration:none;
color:#ff2f92;
}

h1,h2,h3{
margin-top:10px;
}

.container{
max-width:1100px;
margin:auto;
padding:20px 20px;
}

/* ================================= */
/* HEADER */
/* ================================= */

header{
background:#1f1f1f;
height:90px;
padding:0 30px;
display:flex;
align-items:center;
justify-content:space-between;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 3px 10px rgba(0,0,0,.15);
transition:all .3s ease;
}

header img{
height:180px;
position:absolute;
top:10px;
left:30px;
z-index:5;
transition:all .3s ease;
}

header.shrink{
height:60px;
background:rgba(31,31,31,.95);
backdrop-filter:blur(6px);
}

header.shrink img{
height:95px;
}

/* ================================= */
/* NAVIGATION */
/* ================================= */

nav{
margin-left:180px;
}

nav ul{
display:flex;
gap:28px;
list-style:none;
margin:0;
padding:0;
}

nav a{
color:white;
font-size:16px;
}

nav a:hover{
color:#ff2f92;
}

.menu-toggle{
display:none;
background:none;
border:none;
font-size:26px;
color:white;
cursor:pointer;
}

/* ================================= */
/* HERO (Homepage Banner) */
/* ================================= */

.hero{
text-align:center;
padding:120px 20px 90px;
background-image:url("images/banner.jpg");
background-size:cover;
background-position:center;
color:white;
position:relative;
}

.hero::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:rgba(0,0,0,.55);
}

.hero-content{
position:relative;
z-index:2;
}

.hero h1{
font-size:44px;
margin-bottom:10px;
}

.hero p{
font-size:20px;
}

.hero-buttons{
display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
}

/* ================================= */
/* BUTTONS */
/* ================================= */

.button{
background:#ff2f92;
color:white;
padding:12px 22px;
border-radius:6px;
font-weight:600;
border:none;
transition:.2s;
}

.button:hover{
transform:translateY(-2px);
box-shadow:0 6px 14px rgba(0,0,0,.15);
}

.button.secondary{
background:white;
color:#333;
}

/* ================================= */
/* SECTIONS */
/* ================================= */
/* HOMEPAGE TOURNAMENT SECTION */

.tournament-section{
background:white;
padding:70px 20px;
}

.tournament-grid{
display:flex;
align-items:center;
justify-content:center;
gap:60px;
flex-wrap:wrap;
max-width:1100px;
margin:auto;
}

.tournament-image img{
max-width:320px;
width:100%;
}

.tournament-text{
max-width:520px;
text-align:center;
}
.section{
max-width:1100px;
margin:auto;
padding:40px 20px;
background:white;
}

.section-gray{
background:#f4f4f4;
text-align:center;
border-top:1px solid #e2e2e2;
border-bottom:1px solid #e2e2e2;
}

.section-alt{
background:#fafafa;
text-align:center;
}

/* ================================= */
/* SECTION TITLES */
/* ================================= */

.section-title{
text-align:center;
color:#333;
margin-bottom:35px;
}

.section-title::after{
content:"";
display:block;
width:60px;
height:3px;
background:#ff2f92;
margin:10px auto 0;
}

/* ================================= */
/* CARD GRID */
/* ================================= */

.card-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;
max-width:1100px;
margin:auto;
}

.card{
background:white;
border-radius:10px;
overflow:hidden;
box-shadow:0 4px 12px rgba(0,0,0,.08);
transition:.25s;
}

.card:hover{
transform:translateY(-6px);
box-shadow:0 10px 28px rgba(0,0,0,.12);
}

.card img{
width:100%;
}

.card-content{
padding:20px;
text-align:center;
}

/* ================================= */
/* FEATURES */
/* ================================= */

.feature-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.feature{
text-align:center;
padding:20px;
background:white;
border-radius:10px;
box-shadow:0 4px 12px rgba(0,0,0,.08);
transition:.2s;
}

.feature:hover{
transform:translateY(-4px);
box-shadow:0 10px 22px rgba(0,0,0,.15);
}

.feature img{
width:70px;
height:70px;
object-fit:cover;
border-radius:50%;
margin-bottom:12px;
}

/* ================================= */
/* IMPACT COUNTER */
/* ================================= */

.impact-band{
background:white;
text-align:center;
border-top:1px solid #eee;
border-bottom:1px solid #eee;
padding:30px 20px;
}

.impact-number{
font-size:60px;
color:#ff2f92;
font-weight:700;
}

.impact-label{
text-transform:uppercase;
letter-spacing:2px;
font-size:13px;
color:#888;
}

.impact-text{
font-size:18px;
color:#555;
}

/* ================================= */
/* CTA */
/* ================================= */

.cta{
text-align:center;
background:#fff0f6;
padding:40px 20px;
}

/* ================================= */
/* TOURNAMENT PAGE */
/* ================================= */

.page-hero{
text-align:center;
padding:20px 10px;
background:white;
}

.page-hero h1{
font-size:38px;
color:#ff2f92;
}

.quick-links{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;
margin-bottom:20px;
}

.quick-links a{
background:#ff2f92;
color:white;
padding:8px 14px;
border-radius:5px;
font-size:14px;
}


.center-img{
display:block;
margin:30px auto;
max-width:900px;
width:100%;
height:auto;
border-radius:10px;
box-shadow:0 8px 20px rgba(0,0,0,.15);
}

/* ============================= */
/* TOURNAMENT SCHEDULE LINKS */
/* ============================= */

.schedule-links{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:12px;
margin-top:15px;
}

.schedule-links a{
display:inline-block;
background:#ff2f92;
color:white;
padding:10px 18px;
border-radius:6px;
font-weight:600;
font-size:15px;
transition:.2s;
}

.schedule-links a:hover{
background:#e0207f;
transform:translateY(-2px);
box-shadow:0 4px 10px rgba(0,0,0,.15);
}

/* ================================= */
/* TABLES */
/* ================================= */

.table-wrapper{
overflow-x:auto;
margin-top:25px;
}

table{
width:100%;
border-collapse:collapse;
background:white;
}

th,td{
padding:10px;
border:1px solid #ddd;
text-align:center;
}

th{
background:#484848;
color:white;
}

tr:nth-child(even){
background:#f7f7f7;
}

/* ================================= */
/* LOCATION GRID */
/* ================================= */

.locations-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:20px;
}

.location-card{
background:white;
padding:20px;
border-radius:8px;
box-shadow:0 3px 8px rgba(0,0,0,.08);
}

/* ================================= */
/* SPONSORS */
/* ================================= */

.sponsor-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
gap:25px;
align-items:center;
}

.sponsor-card{
background:white;
padding:10px;
border-radius:8px;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 3px 8px rgba(0,0,0,.08);
}

.sponsor-card img{
max-width:140px;
max-height:80px;
object-fit:contain;
}

.magenta img{max-height:175px;}
.fuchsia img{max-height:125px;}
.pink img{max-height:100px;}
.rose img{max-height:75px;}
.coral img{max-height:65px;}

.divider{
height:1px;
background:#e5e5e5;
margin:30px auto;
max-width:1000px;
}

/* ================================= */
/* BENEFICIARIES */
/* ================================= */


.beneficiaries-hero{
padding:60px 20px 30px;
text-align:center;
}

.beneficiaries-hero h1{
color:#ff2f92;
font-size:42px;
margin-bottom:15px;
}

.beneficiaries-hero p{
max-width:750px;
margin:auto;
font-size:17px;
line-height:1.7;
color:#444;
}
.beneficiary-grid{
display:grid;
grid-template-columns:1fr;
gap:30px;
}

.beneficiary-card{
background:white;
border-radius:10px;
padding:30px;
box-shadow:0 4px 12px rgba(0,0,0,.08);
display:flex;
align-items:center;
gap:30px;
}

.beneficiary-logo{
flex:1;
text-align:center;
}

.beneficiary-logo img{
max-width:160px;
}

.beneficiary-text{
flex:2;
}

.beneficiary-text h3{
color:#ff2f92;
}

/* ================================= */
/* EVENTS */
/* ================================= */

.event-card{
background:white;
border-radius:10px;
padding:30px;
box-shadow:0 4px 12px rgba(0,0,0,.08);
margin-bottom:25px;
}

.event-card h2{
color:#e75480;
}

.button-center{
display:flex;
justify-content:center;
margin-top:20px;
}

/* ================================= */
/* FUNDRAISING WINNERS */
/* ================================= */

.winner-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:20px;
max-width:900px;
margin-left:auto;
margin-right:auto;
}

.winner-card{
background:white;
padding:0;
border-radius:10px;
overflow:hidden;
box-shadow:0 6px 14px rgba(0,0,0,.08);
text-align:center;
}
.winner-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 22px rgba(0,0,0,.15);
transition:.2s;
}
/* division header */

.winner-card strong{
display:block;
background:#484848;
color:white;
padding:12px;
font-size:16px;
letter-spacing:.5px;
}

/* player names */

.winner-card{
line-height:1.8;
}

.winner-card br{
display:block;
margin:4px 0;
}

/* ================================= */
/* FOOTER */
/* ================================= */

footer{
background:#1f1f1f;
color:#ccc;
text-align:center;
padding:35px 20px;
border-top:3px solid #ff2f92;
}

footer a{
color:#ff2f92;
}

.social{
margin-bottom:12px;
}

/* ================================= */
/* MOBILE */
/* ================================= */

@media (max-width:768px){

header{
flex-wrap:wrap;
}

.menu-toggle{
display:block;
}

header img{
height:90px;
top:-10px;
}

nav{
width:100%;
display:none;
background:#1f1f1f;
}

nav.active{
display:block;
}

nav ul{
flex-direction:column;
align-items:center;
padding:10px 0;
}

nav li{
width:100%;
text-align:center;
padding:12px 0;
border-top:1px solid rgba(255,255,255,.1);
}

.hero h1{
font-size:32px;
}

.beneficiary-card{
flex-direction:column;
text-align:center;
}

.hero{
padding:80px 20px 60px;
}
.winner-grid{
grid-template-columns:1fr;
}

	th,td{
font-size:14px;
padding:8px;
}
.feature{
flex-direction:column;
text-align:center;
}
	/* tablet */

@media (max-width:1000px){

.feature-grid{
grid-template-columns:repeat(2,1fr);
}

}

/* mobile */

@media (max-width:600px){

.feature-grid{
grid-template-columns:1fr;
}

}
}

/* ================================= */
/* MENU ANIMATION */
/* ================================= */

@keyframes menuSlide{

from{
opacity:0;
transform:translateY(-10px);
}

to{
opacity:1;
transform:translateY(0);
}

}