/*=========================================
GY SUMMIT 2026
MAIN STYLESHEET
PART 1
==========================================*/

/* ---------- BODY ---------- */

body{
    background:var(--background);
    color:var(--text);
}

/* ---------- SECTION TITLE ---------- */

.section-title{
    font-size:var(--fs-3xl);
    font-weight:700;
    color:var(--dark);
    margin-bottom:15px;
    text-align:center;
}

.section-subtitle{
    text-align:center;
    color:var(--text-light);
    max-width:700px;
    margin:auto;
    margin-bottom:50px;
}

/* ---------- NAVBAR ---------- */

.navbar{

position:fixed;

top:0;

left:0;

width:100%;

height:80px;

background:rgba(255,255,255,.95);

backdrop-filter:blur(12px);

display:flex;

justify-content:space-between;

align-items:center;

padding:0 7%;

box-shadow:var(--shadow-sm);

z-index:999;

transition:.3s;

}

/* LOGO */

.logo-area{

display:flex;

align-items:center;

gap:15px;

}

.logo-area img{

width:55px;

height:55px;

object-fit:contain;

}

.logo-area h2{

font-size:22px;

font-weight:700;

color:var(--primary-dark);

}

.logo-area small{

display:block;

color:var(--text-light);

}

/* NAV LINKS */

.navbar nav{

display:flex;

gap:35px;

align-items:center;

}

.navbar nav a{

font-weight:600;

transition:.3s;

position:relative;

}

.navbar nav a:hover{

color:var(--primary);

}

.navbar nav a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--primary);

transition:.3s;

}

.navbar nav a:hover::after{

width:100%;

}

/* REGISTER BUTTON */

.register-btn{

background:var(--primary);

padding:12px 28px;

border-radius:30px;

color:white !important;

transition:.3s;

}

.register-btn:hover{

transform:translateY(-3px);

box-shadow:var(--shadow-md);

}

.register-btn::after{

display:none;

}

/* ---------- HERO ---------- */

.hero{

height:100vh;

position:relative;

overflow:hidden;

display:flex;

align-items:center;

justify-content:center;

}

/* SLIDES */

.slide{

position:absolute;

width:100%;

height:100%;

background-size:cover;

background-position:center;

opacity:0;

transition:opacity 1s ease;

}

.slide.active{

opacity:1;

}

/* DARK OVERLAY */

.hero::before{

content:"";

position:absolute;

width:100%;

height:100%;

background:rgba(0,0,0,.55);

z-index:1;

}

/* HERO CONTENT */

.hero-content{

position:relative;

z-index:2;

text-align:center;

color:white;

max-width:900px;

padding:20px;

}

/* LOGO */

.hero-logo{

width:140px;

margin:auto;

margin-bottom:25px;

}

/* TITLE */

.hero h1{

font-size:70px;

font-weight:800;

margin-bottom:10px;

}

.hero h2{

font-size:28px;

font-weight:500;

margin-bottom:20px;

}

/* THEME */

.theme{

font-size:30px;

font-weight:700;

color:var(--primary-light);

margin-bottom:20px;

}

/* TAGLINE */

.tagline{

font-size:22px;

font-style:italic;

margin-bottom:15px;

}

/* VERSE */

.verse{

font-size:18px;

line-height:1.8;

margin-bottom:35px;

}

/* HERO BUTTONS */

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

/* PRIMARY */

.primary-btn{

background:var(--primary);

color:white;

padding:16px 35px;

border-radius:40px;

font-weight:700;

transition:.3s;

}

.primary-btn:hover{

transform:translateY(-4px);

box-shadow:var(--shadow-lg);

}

/* SECONDARY */

.secondary-btn{

border:2px solid white;

padding:16px 35px;

border-radius:40px;

color:white;

transition:.3s;

}

.secondary-btn:hover{

background:white;

color:black;

}

/* ---------- SLIDER DOTS ---------- */

.slider-dots{

position:absolute;

bottom:35px;

left:50%;

transform:translateX(-50%);

display:flex;

gap:12px;

z-index:10;

}

.slider-dots span{

width:14px;

height:14px;

border-radius:50%;

background:white;

opacity:.4;

cursor:pointer;

transition:.3s;

}

.slider-dots span.active{

opacity:1;

background:var(--primary);

}

/* ---------- SCROLL INDICATOR ---------- */

.scroll-down{

position:absolute;

bottom:30px;

left:50%;

transform:translateX(-50%);

font-size:30px;

color:white;

animation:bounce 2s infinite;

z-index:5;

}

/* ---------- BUTTON ---------- */

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 30px;

border-radius:40px;

font-weight:600;

transition:.3s;

cursor:pointer;

}

.btn:hover{

transform:translateY(-3px);

}

/* ---------- CARD ---------- */

.card{

background:white;

border-radius:20px;

padding:30px;

box-shadow:var(--shadow-sm);

transition:.3s;

}

.card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-lg);

}/*=========================================
PART 2
STATISTICS • EVENT INFO • DEPARTMENTS
ANNOUNCEMENTS • COUNTDOWN • GALLERY
==========================================*/

/* =============================
   SECTION SPACING
============================= */

.section{

padding:80px 8%;

}

.bg-light{

background:#fff;

}

.bg-grey{

background:#f7f8fa;

}


/* =============================
   STATISTICS
============================= */

.statistics{

padding:80px 8%;

background:white;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(230px,1fr));

gap:30px;

margin-top:40px;

}

.stat-card{

background:white;

border-radius:20px;

padding:40px 25px;

text-align:center;

box-shadow:var(--shadow-sm);

transition:.35s;

border-top:5px solid var(--primary);

}

.stat-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-lg);

}

.stat-card h3{

font-size:50px;

color:var(--primary);

margin-bottom:10px;

font-weight:800;

}

.stat-card p{

font-size:18px;

color:var(--text-light);

font-weight:600;

}


/* =============================
EVENT DETAILS
============================= */

.event-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:25px;

margin-top:50px;

}

.event-card{

background:white;

padding:35px;

border-radius:20px;

text-align:center;

box-shadow:var(--shadow-sm);

transition:.3s;

}

.event-card:hover{

transform:translateY(-8px);

}

.event-card i{

font-size:42px;

color:var(--primary);

margin-bottom:20px;

}

.event-card h3{

margin-bottom:12px;

font-size:22px;

}

.event-card p{

color:var(--text-light);

}


/* =============================
COUNTDOWN
============================= */

.countdown{

background:linear-gradient(135deg,#1B1B1B,#303030);

padding:90px 8%;

text-align:center;

color:white;

}

.countdown h2{

font-size:40px;

margin-bottom:50px;

}

.count-grid{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:25px;

}

.time-box{

width:150px;

background:rgba(255,255,255,.08);

backdrop-filter:blur(10px);

padding:30px;

border-radius:18px;

}

.time-box h1{

font-size:48px;

color:var(--primary);

margin-bottom:8px;

}

.time-box p{

letter-spacing:1px;

}


/* =============================
ABOUT
============================= */

.about{

padding:90px 8%;

background:white;

}

.about-wrapper{

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

align-items:center;

}

.about-image img{

border-radius:25px;

box-shadow:var(--shadow-lg);

}

.about-content h2{

font-size:42px;

margin-bottom:25px;

}

.about-content p{

margin-bottom:20px;

color:var(--text-light);

line-height:1.9;

}


/* =============================
DEPARTMENTS
============================= */

.departments{

padding:90px 8%;

}

.department-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

margin-top:50px;

}

.department-card{

background:white;

padding:35px;

border-radius:20px;

text-align:center;

box-shadow:var(--shadow-sm);

transition:.3s;

}

.department-card:hover{

background:var(--primary);

color:white;

transform:translateY(-8px);

}

.department-card:hover p{

color:white;

}

.department-card:hover i{

color:white;

}

.department-card i{

font-size:45px;

margin-bottom:20px;

color:var(--primary);

}

.department-card h3{

margin-bottom:15px;

font-size:22px;

}

.department-card p{

color:var(--text-light);

}


/* =============================
ANNOUNCEMENTS
============================= */

.announcement-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(330px,1fr));

gap:30px;

margin-top:50px;

}

.announcement-card{

background:white;

border-left:6px solid var(--primary);

padding:30px;

border-radius:15px;

box-shadow:var(--shadow-sm);

transition:.3s;

}

.announcement-card:hover{

transform:translateY(-8px);

}

.announcement-card h3{

margin-bottom:15px;

}

.announcement-card p{

color:var(--text-light);

line-height:1.8;

}

.announcement-date{

margin-top:20px;

font-size:14px;

color:var(--primary);

font-weight:700;

}


/* =============================
GALLERY PREVIEW
============================= */

.gallery-preview{

padding:90px 8%;

background:white;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:18px;

margin-top:50px;

}

.gallery-grid img{

width:100%;

height:260px;

object-fit:cover;

border-radius:18px;

transition:.4s;

cursor:pointer;

}

.gallery-grid img:hover{

transform:scale(1.05);

box-shadow:var(--shadow-xl);

}


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

.sponsors{

padding:80px 8%;

}

.sponsor-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

gap:30px;

align-items:center;

margin-top:40px;

}

.sponsor-card{

background:white;

padding:25px;

border-radius:18px;

display:flex;

justify-content:center;

align-items:center;

height:150px;

box-shadow:var(--shadow-sm);

}

.sponsor-card img{

max-height:90px;

object-fit:contain;

}


/* =============================
CALL TO ACTION
============================= */

.cta{

background:linear-gradient(135deg,var(--primary),var(--primary-dark));

color:white;

text-align:center;

padding:100px 8%;

}

.cta h2{

font-size:46px;

margin-bottom:20px;

}

.cta p{

font-size:20px;

margin-bottom:35px;

}

.cta a{

display:inline-block;

padding:18px 45px;

background:white;

color:black;

border-radius:40px;

font-weight:700;

transition:.3s;

}

.cta a:hover{

transform:translateY(-5px);

box-shadow:var(--shadow-lg);

}/*=========================================
PART 3
LOGIN • REGISTER • FORMS • DASHBOARD
TABLES • QR PASS • FOOTER
==========================================*/

/* ============================
FORMS
============================ */

.form-section{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:120px 20px 60px;
    background:var(--background);
}

.form-container{
    width:100%;
    max-width:850px;
    background:#fff;
    border-radius:20px;
    padding:40px;
    box-shadow:var(--shadow-lg);
}

.form-title{
    text-align:center;
    margin-bottom:35px;
}

.form-title h1{
    color:var(--primary);
    margin-bottom:10px;
}

.form-title p{
    color:var(--text-light);
}

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

.form-group{
    display:flex;
    flex-direction:column;
    margin-bottom:20px;
}

.form-group label{
    margin-bottom:8px;
    font-weight:600;
}

.form-group input,
.form-group select,
.form-group textarea{
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:12px;
    transition:.3s;
    font-size:15px;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(200,162,74,.2);
}

.form-group textarea{
    resize:vertical;
    min-height:120px;
}

.full-width{
    grid-column:1/-1;
}

.submit-btn{
    width:100%;
    padding:16px;
    background:var(--primary);
    color:#fff;
    border:none;
    border-radius:40px;
    font-size:17px;
    font-weight:700;
    transition:.3s;
}

.submit-btn:hover{
    background:var(--primary-dark);
    transform:translateY(-3px);
}

/* ============================
LOGIN CARD
============================ */

.login-card{
    max-width:500px;
    margin:auto;
    background:white;
    border-radius:20px;
    padding:45px;
    box-shadow:var(--shadow-lg);
}

.login-logo{
    width:90px;
    margin:auto;
    margin-bottom:20px;
}

.login-links{
    text-align:center;
    margin-top:20px;
}

.login-links a{
    color:var(--primary);
    font-weight:600;
}

/* ============================
DASHBOARD
============================ */

.dashboard-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:35px;
}

.dashboard-title h2{
    margin-bottom:8px;
}

.dashboard-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.dashboard-card{
    background:white;
    border-radius:18px;
    padding:30px;
    box-shadow:var(--shadow-sm);
    transition:.3s;
}

.dashboard-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-lg);
}

.dashboard-card h3{
    color:var(--primary);
    font-size:18px;
    margin-bottom:15px;
}

.dashboard-card h1{
    font-size:42px;
}

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

.table-container{
    overflow-x:auto;
    background:white;
    border-radius:18px;
    box-shadow:var(--shadow-sm);
}

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

table thead{
    background:var(--primary);
    color:white;
}

table th,
table td{
    padding:16px;
    text-align:left;
}

table tbody tr{
    border-bottom:1px solid var(--border);
    transition:.3s;
}

table tbody tr:hover{
    background:#faf8f2;
}

.status-success{
    color:green;
    font-weight:700;
}

.status-warning{
    color:orange;
    font-weight:700;
}

.status-danger{
    color:red;
    font-weight:700;
}

/* ============================
QR PASS
============================ */

.pass-card{
    max-width:700px;
    margin:auto;
    background:white;
    border-radius:25px;
    padding:40px;
    box-shadow:var(--shadow-xl);
    text-align:center;
}

.pass-logo{
    width:90px;
    margin:auto;
}

.pass-photo{
    width:140px;
    height:140px;
    object-fit:cover;
    border-radius:50%;
    margin:20px auto;
    border:5px solid var(--primary);
}

.pass-qr{
    width:220px;
    margin:25px auto;
}

.pass-code{
    font-size:24px;
    letter-spacing:3px;
    font-weight:700;
    color:var(--primary);
}

.pass-status{
    margin-top:25px;
    font-size:18px;
    font-weight:700;
}

.download-pass{
    margin-top:30px;
    display:inline-block;
    padding:15px 35px;
    border-radius:40px;
    background:var(--primary);
    color:white;
    font-weight:700;
}

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

footer{
    background:#151515;
    color:white;
    padding:70px 8% 30px;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:40px;
}

.footer-grid h3{
    color:var(--primary);
    margin-bottom:20px;
}

.footer-grid ul li{
    margin-bottom:10px;
}

.footer-grid a{
    color:#ddd;
    transition:.3s;
}

.footer-grid a:hover{
    color:var(--primary);
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);
    margin-top:40px;
    padding-top:20px;
    text-align:center;
    color:#bbb;
}

.social-links{
    display:flex;
    gap:15px;
    margin-top:15px;
}

.social-links a{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.1);
    transition:.3s;
}

.social-links a:hover{
    background:var(--primary);
    color:white;
}/*=========================================
PART 4
ADMIN • SPORTS • FINANCE • ADMISSION
REPORTS • UTILITIES
==========================================*/

/* ===============================
ADMIN LAYOUT
=================================*/

.admin-layout{
    display:flex;
    min-height:100vh;
    background:#f5f7fa;
}

/* ===============================
SIDEBAR
=================================*/

.sidebar{
    width:270px;
    background:#1B1B1B;
    color:#fff;
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    overflow-y:auto;
    padding:30px 20px;
}

.sidebar-logo{
    text-align:center;
    margin-bottom:40px;
}

.sidebar-logo img{
    width:80px;
    margin:auto;
}

.sidebar-logo h2{
    margin-top:15px;
    color:var(--primary);
}

.sidebar ul{
    list-style:none;
}

.sidebar li{
    margin-bottom:10px;
}

.sidebar a{
    display:flex;
    align-items:center;
    gap:15px;
    padding:15px;
    border-radius:12px;
    color:#ddd;
    transition:.3s;
}

.sidebar a:hover,
.sidebar a.active{
    background:var(--primary);
    color:#fff;
}

.sidebar a i{
    width:22px;
    text-align:center;
}

/* ===============================
MAIN CONTENT
=================================*/

.main-content{
    margin-left:270px;
    width:calc(100% - 270px);
    padding:40px;
}

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

.page-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:35px;
}

.page-header h1{
    font-size:32px;
}

.page-header p{
    color:#777;
}

/* ===============================
PARISH CARDS
=================================*/

.parish-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;
}

.parish-card{
    background:white;
    border-radius:18px;
    padding:30px;
    text-align:center;
    box-shadow:var(--shadow-sm);
    cursor:pointer;
    transition:.3s;
    border-top:5px solid var(--primary);
}

.parish-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
}

.parish-card h3{
    margin-bottom:10px;
}

.parish-card p{
    color:#666;
}

/* ===============================
SUMMARY CARDS
=================================*/

.summary-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;
    margin:35px 0;
}

.summary-card{
    background:white;
    padding:30px;
    border-radius:18px;
    box-shadow:var(--shadow-sm);
    text-align:center;
}

.summary-card h4{
    color:#888;
    margin-bottom:10px;
}

.summary-card h2{
    font-size:42px;
    color:var(--primary);
}

/* ===============================
SPORTS TABS
=================================*/

.sport-tabs{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:30px;
}

.sport-tabs button{
    padding:14px 28px;
    background:#fff;
    border:2px solid var(--primary);
    border-radius:40px;
    font-weight:600;
    transition:.3s;
}

.sport-tabs button.active,
.sport-tabs button:hover{
    background:var(--primary);
    color:white;
}

/* ===============================
TEAM CARDS
=================================*/

.team-card{
    background:white;
    border-radius:18px;
    padding:30px;
    margin-bottom:25px;
    box-shadow:var(--shadow-sm);
}

.team-card h3{
    color:var(--primary);
    margin-bottom:20px;
}

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

.player-card{
    text-align:center;
}

.player-card img{
    width:90px;
    height:90px;
    border-radius:50%;
    object-fit:cover;
    margin:auto;
    margin-bottom:10px;
}

.player-card h5{
    font-size:15px;
}

/* ===============================
FIXTURES
=================================*/

.fixture-card{
    background:white;
    padding:25px;
    border-radius:18px;
    margin-bottom:20px;
    box-shadow:var(--shadow-sm);
}

.fixture-teams{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-weight:700;
    font-size:20px;
}

.fixture-info{
    margin-top:15px;
    color:#666;
}

/* ===============================
REPORT CARDS
=================================*/

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

.report-card{
    background:white;
    border-radius:18px;
    padding:30px;
    box-shadow:var(--shadow-sm);
}

.report-card h3{
    color:var(--primary);
    margin-bottom:20px;
}

/* ===============================
BADGES
=================================*/

.badge{
    display:inline-block;
    padding:6px 15px;
    border-radius:30px;
    font-size:13px;
    font-weight:700;
}

.badge-success{
    background:#E8F5E9;
    color:#2E7D32;
}

.badge-warning{
    background:#FFF8E1;
    color:#F9A825;
}

.badge-danger{
    background:#FFEBEE;
    color:#D32F2F;
}

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

.btn-primary{
    background:var(--primary);
    color:white;
}

.btn-secondary{
    background:#1565C0;
    color:white;
}

.btn-danger{
    background:#D32F2F;
    color:white;
}

.btn-success{
    background:#2E7D32;
    color:white;
}

.btn{
    padding:13px 28px;
    border:none;
    border-radius:40px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.btn:hover{
    transform:translateY(-3px);
}

/* ===============================
UTILITY CLASSES
=================================*/

.text-center{
    text-align:center;
}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}

.hidden{
    display:none;
}

.shadow{
    box-shadow:var(--shadow-lg);
}

.rounded{
    border-radius:20px;
}