/* =========================================================
   RSVMPPL 2026
   RSVM PARENTS PREMIER LEAGUE
   PREMIUM COLOURFUL SCHOOL SPORTS DESIGN
========================================================= */

:root{
    --navy:#071a38;
    --navy-2:#0b2853;
    --navy-3:#123a70;

    --purple:#7027a9;
    --purple-2:#9b43d1;

    --blue:#087fca;
    --cyan:#16b9d9;

    --gold:#f6b51f;
    --gold-light:#ffe07a;

    --orange:#f97316;
    --red:#ef4444;
    --pink:#e83e8c;

    --green:#0e9f6e;

    --white:#fff;
    --cream:#fffaf0;
    --light:#f4f6fb;
    --light-purple:#f5effa;

    --text:#172238;
    --muted:#69758a;

    --shadow:0 18px 55px rgba(7,26,56,.10);
    --shadow-lg:0 28px 80px rgba(7,26,56,.18);

    --radius:24px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    color:var(--text);
    font-family:'Montserrat',sans-serif;
    background:#fff;
    overflow-x:hidden;
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
}

section{
    scroll-margin-top:90px;
}

.container{
    max-width:1280px;
}

.section-pad{
    padding:95px 0;
}

/* =========================================================
   TOP BAR
========================================================= */

.top-bar{
    background:#041126;
    color:#aebbd0;
    font-size:10px;
    letter-spacing:.3px;
}

.top-bar-inner{
    min-height:34px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
}

.top-bar i{
    color:var(--gold);
    margin-right:5px;
}

.top-bar-right{
    display:flex;
    align-items:center;
    gap:16px;
}

.top-bar-right a{
    color:#aebbd0;
    font-size:12px;
    transition:.25s;
}

.top-bar-right a:hover{
    color:var(--gold);
}

/* =========================================================
   NAVBAR
========================================================= */

.navbar{
    min-height:76px;
    padding:12px 0;
    background:rgba(7,26,56,.97);
    border-bottom:1px solid rgba(255,255,255,.09);
    box-shadow:0 8px 30px rgba(0,0,0,.12);
    z-index:9999;
}

.navbar.scrolled{
    box-shadow:0 12px 40px rgba(0,0,0,.22);
}

.navbar-brand{
    display:flex;
    align-items:center;
    gap:11px;
    color:#fff!important;
}

.brand-mark{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:linear-gradient(135deg,var(--gold),#ffe27d);
    color:var(--navy);
    box-shadow:0 7px 20px rgba(246,181,31,.25);
    font-size:19px;
}

.brand-copy{
    line-height:1;
}

.brand-copy strong{
    display:block;
    font-size:20px;
    font-weight:900;
    letter-spacing:.7px;
}

.brand-copy small{
    display:block;
    margin-top:5px;
    color:var(--gold);
    font-size:7px;
    letter-spacing:1.7px;
    font-weight:800;
}

.navbar-toggler{
    border:1px solid rgba(255,255,255,.25);
    padding:7px 9px;
}

.navbar-toggler:focus{
    box-shadow:none;
}

.nav-link{
    color:#d7e1f1!important;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.7px;
    padding:11px 10px!important;
    margin:0 1px;
    border-radius:10px;
    transition:.25s;
}

.nav-link i{
    color:#8eb4e8;
    margin-right:4px;
    transition:.25s;
}

.nav-link:hover,
.nav-link.active{
    color:#fff!important;
    background:rgba(255,255,255,.08);
}

.nav-link:hover i,
.nav-link.active i{
    color:var(--gold);
}

.nav-cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--navy)!important;
    background:linear-gradient(135deg,var(--gold),var(--gold-light));
    padding:10px 15px;
    border-radius:25px;
    font-size:9px;
    font-weight:900;
    box-shadow:0 8px 20px rgba(246,181,31,.18);
    transition:.3s;
}

.nav-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(246,181,31,.30);
}

/* =========================================================
   HERO
========================================================= */

.hero{
    position:relative;
    min-height:760px;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 78% 20%,rgba(112,39,169,.55),transparent 25%),
        radial-gradient(circle at 20% 85%,rgba(8,127,202,.28),transparent 28%),
        linear-gradient(125deg,#06152f 0%,#0b2853 48%,#31164c 100%);
}

.hero-pattern{
    position:absolute;
    inset:0;
    opacity:.15;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:70px 70px;
    mask-image:linear-gradient(to bottom,#000,transparent);
}

.hero-orb{
    position:absolute;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
}

.hero-orb-one{
    width:650px;
    height:650px;
    right:-260px;
    top:-260px;
}

.hero-orb-two{
    width:430px;
    height:430px;
    left:-250px;
    bottom:-250px;
    border-color:rgba(246,181,31,.12);
}

.hero-content{
    z-index:2;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--gold-light);
    background:rgba(246,181,31,.10);
    border:1px solid rgba(246,181,31,.30);
    padding:9px 15px;
    border-radius:30px;
    font-size:9px;
    font-weight:900;
    letter-spacing:2px;
}

.eyebrow-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 5px rgba(246,181,31,.12);
}

.hero h1{
    margin:24px 0 14px;
    font-family:'Playfair Display',serif;
    font-size:70px;
    line-height:.98;
    font-weight:800;
    letter-spacing:-1.5px;
}

.hero h1 span{
    display:block;
}

.gold-text{
    color:var(--gold);
    text-shadow:0 8px 35px rgba(246,181,31,.15);
}

.hero-tagline{
    font-size:19px;
    color:#e0e8f5;
    margin:22px 0 12px;
}

.hero-tagline strong{
    color:#fff;
}

.hero-copy{
    max-width:650px;
    color:#aebbd0;
    font-size:14px;
    line-height:1.9;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:30px;
}

.btn-gold{
    color:var(--navy);
    background:linear-gradient(135deg,var(--gold),var(--gold-light));
    border:none;
    border-radius:30px;
    padding:13px 21px;
    font-size:11px;
    font-weight:900;
    box-shadow:0 12px 30px rgba(246,181,31,.18);
}

.btn-gold:hover{
    color:var(--navy);
    transform:translateY(-3px);
}

.btn-outline-light-custom{
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    border-radius:30px;
    padding:12px 20px;
    font-size:11px;
    font-weight:800;
    background:rgba(255,255,255,.04);
}

.btn-outline-light-custom:hover{
    background:#fff;
    color:var(--navy);
}

.hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:28px;
    color:#91a4c0;
    font-size:9px;
    font-weight:700;
}

.hero-trust i{
    color:#55d49c;
    margin-right:4px;
}

/* =========================================================
   TROPHY
========================================================= */

.trophy-stage{
    min-height:540px;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

.trophy-glow{
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(246,181,31,.27),rgba(112,39,169,.12),transparent 70%);
    filter:blur(4px);
}

.trophy-frame{
    width:380px;
    min-height:490px;
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.15);
    border-radius:35px;
    background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.025));
    box-shadow:0 30px 80px rgba(0,0,0,.28);
    backdrop-filter:blur(14px);
    padding:25px 20px;
    animation:trophyFloat 4s ease-in-out infinite;
}

@keyframes trophyFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-10px)}
}

.trophy-ribbon{
    position:absolute;
    top:18px;
    color:var(--gold-light);
    font-size:8px;
    letter-spacing:2px;
    font-weight:900;
}

.hero-trophy{
    width:310px;
    max-height:400px;
    object-fit:contain;
    margin-top:18px;
    mix-blend-mode:screen;
    filter:drop-shadow(0 22px 22px rgba(0,0,0,.35));
}

.trophy-bottom{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    font-size:11px;
    letter-spacing:2px;
    font-weight:800;
}

.trophy-bottom strong{
    color:var(--gold);
    font-size:22px;
}

.floating-badge{
    position:absolute;
    z-index:4;
    display:flex;
    align-items:center;
    gap:7px;
    padding:10px 13px;
    border-radius:14px;
    color:#fff;
    background:rgba(5,17,38,.88);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 15px 35px rgba(0,0,0,.22);
    font-size:8px;
    font-weight:900;
    letter-spacing:.6px;
}

.floating-badge i{
    color:var(--gold);
}

.badge-one{
    top:105px;
    left:0;
}

.badge-two{
    right:0;
    bottom:105px;
}

/* =========================================================
   OFFICIAL STRIP
========================================================= */

.official-strip{
    padding:17px 0;
    background:linear-gradient(90deg,#f6b51f,#ffe18a,#f6b51f);
    color:#071a38;
    box-shadow:0 10px 30px rgba(246,181,31,.12);
}

.official-strip-grid{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    font-size:9px;
    font-weight:900;
    letter-spacing:1px;
}

.official-strip i{
    margin-right:5px;
}

/* =========================================================
   STATS
========================================================= */

.stats-section{
    margin-top:-1px;
    padding:0;
    background:#f5f7fb;
}

.stats-card{
    position:relative;
    z-index:5;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    background:#fff;
    border-radius:0 0 25px 25px;
    box-shadow:0 20px 45px rgba(7,26,56,.09);
    overflow:hidden;
}

.stat-item{
    text-align:center;
    padding:28px 10px;
    border-right:1px solid #edf0f5;
}

.stat-item:last-child{
    border-right:0;
}

.stat-icon{
    width:43px;
    height:43px;
    margin:0 auto 10px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
}

.stat-icon.purple{background:#f2e7fb;color:#812eb6}
.stat-icon.orange{background:#fff0df;color:#eb7617}
.stat-icon.blue{background:#e5f4ff;color:#087fca}
.stat-icon.green{background:#e2f8ef;color:#0e9f6e}
.stat-icon.pink{background:#fde8f2;color:#d72d78}

.stat-item strong{
    display:block;
    color:var(--navy);
    font-size:31px;
    font-weight:900;
}

.stat-item span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:1px;
    font-weight:800;
}

/* =========================================================
   COMMON HEADINGS
========================================================= */

.section-heading{
    text-align:center;
    max-width:800px;
    margin:0 auto 50px;
}

.section-eyebrow{
    color:var(--purple);
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:2.5px;
    margin-bottom:10px;
}

.section-eyebrow.gold{
    color:var(--gold);
}

.section-title{
    margin:0;
    font-family:'Playfair Display',serif;
    color:var(--navy);
    font-size:45px;
    line-height:1.15;
    font-weight:800;
}

.section-title span{
    color:var(--purple);
}

.section-heading p{
    color:var(--muted);
    font-size:13px;
    line-height:1.8;
    margin:13px auto 0;
}

.section-title.left{
    text-align:left;
}

.section-title.left span{
    color:var(--purple);
}

/* =========================================================
   ABOUT
========================================================= */

.about-section{
    background:linear-gradient(180deg,#fff 0%,#fbf8fd 100%);
}

.section-lead{
    color:var(--muted);
    font-size:14px;
    line-height:1.9;
    margin-top:20px;
}

.about-pills{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:25px;
}

.about-pills span{
    padding:9px 13px;
    border-radius:20px;
    background:#f5effa;
    color:var(--purple);
    font-size:9px;
    font-weight:800;
}

.about-pills i{
    margin-right:4px;
    color:var(--orange);
}

.about-panel{
    position:relative;
    padding:40px;
    border-radius:30px;
    background:
        radial-gradient(circle at 100% 0%,rgba(155,67,209,.18),transparent 35%),
        linear-gradient(135deg,#0a2044,#1d3c6d);
    color:#fff;
    box-shadow:var(--shadow-lg);
    overflow:hidden;
}

.about-panel::after{
    content:"";
    position:absolute;
    width:230px;
    height:230px;
    right:-110px;
    bottom:-110px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
}

.about-panel-icon{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    color:var(--navy);
    background:var(--gold);
    margin-bottom:20px;
}

.about-panel h3{
    font-family:'Playfair Display',serif;
    font-size:32px;
}

.about-panel p{
    color:#c2cee0;
    font-size:13px;
    line-height:1.9;
}

.about-signature{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--gold-light);
    font-size:9px;
    font-weight:800;
    margin-top:22px;
}

.signature-line{
    width:35px;
    height:2px;
    background:var(--gold);
}

/* =========================================================
   GROUPS
========================================================= */

.groups-section{
    background:#f4f6fb;
}

.group-card{
    position:relative;
    height:100%;
    padding:25px;
    border-radius:25px;
    color:#fff;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.35s;
}

.group-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
}

.group-card::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    border-radius:50%;
    right:-90px;
    top:-90px;
    background:rgba(255,255,255,.10);
}

.group-a{background:linear-gradient(135deg,#6d1d32,#b33251)}
.group-b{background:linear-gradient(135deg,#704013,#c77922)}
.group-c{background:linear-gradient(135deg,#155b83,#168cb8)}
.group-d{background:linear-gradient(135deg,#40236e,#7b3db2)}

.group-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.group-header small{
    display:block;
    font-size:7px;
    letter-spacing:2px;
    opacity:.7;
    font-weight:900;
}

.group-header h3{
    margin:2px 0 0;
    font-size:42px;
    font-weight:900;
}

.group-icon{
    width:48px;
    height:48px;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.14);
    color:var(--gold);
    font-size:20px;
}

.group-rule{
    height:1px;
    background:rgba(255,255,255,.16);
    margin:18px 0 10px;
}

.group-team{
    display:grid;
    grid-template-columns:35px 1fr 25px;
    align-items:center;
    gap:8px;
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.11);
}

.group-team span{
    font-size:21px;
    text-align:center;
}

.group-team strong{
    font-size:11px;
}

.group-team b{
    text-align:right;
    font-size:8px;
    opacity:.55;
}

.group-footer{
    padding-top:16px;
    font-size:8px;
    font-weight:800;
    opacity:.75;
}

.group-footer i{
    color:var(--gold);
    margin-right:5px;
}

.qualification-note{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:30px;
    padding:16px 20px;
    border-radius:17px;
    color:#6d4a00;
    background:#fff7d9;
    border:1px solid #f4df94;
    font-size:10px;
}

.qualification-note > i{
    color:#e49b00;
    font-size:17px;
}

/* =========================================================
   FIXTURES
========================================================= */

.fixtures-section{
    background:#fff;
}

.fixture-tabs{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:28px;
}

.fixture-tab{
    border:1px solid #dfe5ee;
    background:#fff;
    color:var(--muted);
    border-radius:25px;
    padding:9px 15px;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
    transition:.25s;
}

.fixture-tab:hover,
.fixture-tab.active{
    color:#fff;
    border-color:var(--navy);
    background:var(--navy);
}

.fixtures-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.fixture-card{
    padding:22px;
    border:1px solid #e9edf4;
    border-radius:22px;
    background:#fff;
    box-shadow:0 8px 28px rgba(7,26,56,.05);
    transition:.35s;
}

.fixture-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.fixture-card.hidden{
    display:none;
}

.fixture-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:22px;
}

.fixture-group{
    padding:5px 9px;
    border-radius:20px;
    font-size:7px;
    font-weight:900;
    letter-spacing:1px;
}

.group-label-a{background:#fde8ee;color:#a31f43}
.group-label-b{background:#fff0df;color:#a55c0c}
.group-label-c{background:#e4f5fc;color:#08739b}
.group-label-d{background:#f0e7fa;color:#67339b}

.fixture-number{
    color:#9aa5b6;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px;
}

.fixture-main{
    display:grid;
    grid-template-columns:1fr 45px 1fr;
    align-items:center;
    gap:5px;
}

.fixture-team{
    text-align:center;
}

.fixture-team span{
    display:block;
    font-size:30px;
    margin-bottom:8px;
}

.fixture-team strong{
    display:block;
    color:var(--navy);
    font-size:10px;
    line-height:1.35;
}

.fixture-vs{
    width:36px;
    height:36px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    background:var(--purple);
    font-size:8px;
    font-weight:900;
}

.fixture-meta{
    display:flex;
    justify-content:space-between;
    gap:7px;
    margin-top:22px;
    padding-top:15px;
    border-top:1px solid #edf0f4;
    color:#7a8698;
    font-size:7px;
}

.fixture-meta i{
    color:var(--purple);
    margin-right:3px;
}

/* =========================================================
   POINTS
========================================================= */

.points-section{
    background:linear-gradient(180deg,#f7f3fa,#f5f7fb);
}

.points-card{
    overflow:hidden;
    border-radius:23px;
    background:#fff;
    box-shadow:var(--shadow);
    border:1px solid #e9edf4;
}

.points-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 20px;
    color:#fff;
}

.points-card-head > div{
    display:flex;
    align-items:end;
    gap:8px;
}

.points-card-head small{
    font-size:7px;
    opacity:.7;
    letter-spacing:1px;
}

.points-card-head strong{
    font-size:29px;
    line-height:1;
}

.points-card-head > span{
    font-size:7px;
    font-weight:800;
    letter-spacing:.7px;
}

.group-a-head{background:linear-gradient(90deg,#7c2039,#ad3753)}
.group-b-head{background:linear-gradient(90deg,#794315,#c67b28)}
.group-c-head{background:linear-gradient(90deg,#125a81,#168cb8)}
.group-d-head{background:linear-gradient(90deg,#45216d,#8044ae)}

.points-table{
    width:100%;
    border-collapse:collapse;
}

.points-table th{
    background:#f7f8fb;
    color:#8994a5;
    padding:12px 9px;
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.7px;
    text-align:center;
}

.points-table td{
    padding:13px 9px;
    text-align:center;
    border-top:1px solid #eef1f5;
    color:#566276;
    font-size:9px;
    font-weight:600;
}

.points-table td:nth-child(2){
    text-align:left;
    color:var(--navy);
    font-weight:800;
}

.points-table td:first-child{
    color:var(--purple);
    font-weight:900;
}

.points-table em{
    font-style:normal;
    color:#0e9f6e;
    background:#e1f7ed;
    border-radius:5px;
    padding:3px 5px;
    font-size:6px;
    margin-left:3px;
}

.points-legend{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
    margin-top:18px;
    color:#7c8798;
    font-size:8px;
    font-weight:700;
}

.points-legend b{
    color:#0e9f6e;
    background:#e1f7ed;
    padding:3px 5px;
    border-radius:4px;
}

.points-legend i{
    color:#0e9f6e;
}

/* =========================================================
   KNOCKOUT
========================================================= */

.knockout-section{
    color:#fff;
    background:
        radial-gradient(circle at 80% 20%,rgba(112,39,169,.38),transparent 30%),
        linear-gradient(135deg,#06152f,#0d2d5d 52%,#27143d);
    overflow:hidden;
}

.section-heading.light .section-title{
    color:#fff;
}

.section-heading.light p{
    color:#aebbd0;
}

.knockout-road{
    display:grid;
    grid-template-columns:.8fr 1.25fr 1fr;
    gap:25px;
    align-items:center;
}

.round-label{
    margin-bottom:12px;
    color:var(--gold);
    font-size:8px;
    letter-spacing:2px;
    font-weight:900;
    text-align:center;
}

.knockout-column{
    min-width:0;
}

.qualifier-team{
    padding:15px;
    margin-bottom:10px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.06);
    border-radius:14px;
    font-size:10px;
    font-weight:800;
}

.qualifier-team span{
    margin-right:7px;
    color:var(--gold);
}

.knockout-match{
    position:relative;
    padding:22px;
    margin-bottom:18px;
    text-align:center;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.06);
    box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.knockout-match .match-no{
    color:var(--gold);
    font-size:8px;
    letter-spacing:1px;
    font-weight:900;
    margin-bottom:13px;
}

.knockout-match div:not(.match-no){
    padding:9px;
    border-radius:9px;
    background:rgba(255,255,255,.07);
    font-size:10px;
    font-weight:700;
}

.knockout-match > span{
    display:block;
    color:var(--gold);
    font-size:8px;
    font-weight:900;
    padding:5px;
}

.knockout-match small{
    display:block;
    margin-top:12px;
    color:#8fa1bc;
    font-size:7px;
}

.final-column{
    text-align:center;
}

.final-match{
    position:relative;
    padding:35px 25px;
    border-radius:28px;
    border:1px solid rgba(246,181,31,.30);
    background:
        radial-gradient(circle at 50% 0%,rgba(246,181,31,.17),transparent 50%),
        rgba(255,255,255,.06);
    box-shadow:0 25px 70px rgba(0,0,0,.20);
}

.final-crown{
    font-size:38px;
    color:var(--gold);
    margin-bottom:10px;
}

.final-match small{
    color:var(--gold-light);
    font-size:7px;
    letter-spacing:2px;
    font-weight:900;
}

.final-match h3{
    font-family:'Playfair Display',serif;
    margin:8px 0 22px;
    font-size:25px;
}

.final-teams{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.final-teams span{
    padding:12px;
    background:rgba(255,255,255,.08);
    border-radius:12px;
    font-size:10px;
    font-weight:800;
}

.final-teams b{
    color:var(--gold);
    font-size:9px;
}

.final-trophy-mini{
    font-size:55px;
    margin:18px 0 7px;
}

.final-match > strong{
    color:var(--gold-light);
    font-size:8px;
    letter-spacing:1px;
}

/* =========================================================
   RESULTS
========================================================= */

.results-section{
    background:#fff;
}

.result-card{
    padding:23px;
    border-radius:22px;
    background:#fff;
    border:1px solid #e9edf4;
    box-shadow:0 8px 28px rgba(7,26,56,.05);
    transition:.3s;
}

.result-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.result-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:14px;
    margin-bottom:8px;
    border-bottom:1px solid #edf0f5;
}

.result-card-top span{
    color:#8792a4;
    font-size:7px;
    font-weight:900;
    letter-spacing:1px;
}

.result-card-top b{
    color:#9c6700;
    background:#fff3c8;
    padding:5px 7px;
    border-radius:5px;
    font-size:6px;
}

.result-team-row{
    display:flex;
    justify-content:space-between;
    padding:12px 0;
    color:var(--navy);
    font-size:10px;
    font-weight:800;
}

.result-team-row strong{
    color:#8792a4;
}

.result-footer{
    margin-top:6px;
    padding-top:13px;
    border-top:1px solid #edf0f5;
    color:#8994a5;
    font-size:8px;
}

/* =========================================================
   LEADERS
========================================================= */

.leaders-section{
    background:#f5f7fb;
}

.leader-card{
    height:100%;
    text-align:center;
    padding:30px 18px;
    border-radius:23px;
    background:#fff;
    border:1px solid #e9edf4;
    box-shadow:var(--shadow);
    transition:.35s;
}

.leader-card:hover{
    transform:translateY(-8px);
}

.leader-icon{
    width:65px;
    height:65px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    margin:0 auto 18px;
    font-size:27px;
}

.icon-bat{background:#fff0df;color:#ed7715}
.icon-ball{background:#e3f4ff;color:#087fca}
.icon-fire{background:#ffe8e2;color:#e63b27}
.icon-star{background:#fff3c9;color:#c48500}

.leader-card small{
    color:#8b96a8;
    font-size:7px;
    letter-spacing:1.5px;
    font-weight:900;
}

.leader-card h3{
    color:var(--navy);
    font-family:'Playfair Display',serif;
    font-size:21px;
    margin:9px 0;
}

.leader-card > strong{
    color:var(--purple);
    font-size:9px;
}

/* =========================================================
   GALLERY
========================================================= */

.gallery-section{
    background:#fff;
}

.gallery-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr .9fr;
    grid-template-rows:190px 190px;
    gap:15px;
}

.gallery-tile{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    padding:25px;
    border-radius:24px;
    overflow:hidden;
    color:#fff;
    box-shadow:var(--shadow);
    transition:.35s;
}

.gallery-tile:hover{
    transform:translateY(-6px);
}

.gallery-tile::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.20),transparent 28%);
}

.gallery-tile i{
    position:relative;
    color:var(--gold);
    font-size:28px;
    margin-bottom:auto;
}

.gallery-tile strong,
.gallery-tile span{
    position:relative;
}

.gallery-tile strong{
    font-size:17px;
}

.gallery-tile span{
    margin-top:4px;
    color:rgba(255,255,255,.72);
    font-size:8px;
}

.tile-1{
    grid-row:span 2;
    background:linear-gradient(145deg,#061a3c,#6c2a9e);
}

.tile-2{
    background:linear-gradient(145deg,#9c2c48,#ec6c47);
}

.tile-3{
    background:linear-gradient(145deg,#0875b0,#21b6c9);
}

.tile-4{
    background:linear-gradient(145deg,#734219,#e09b2c);
}

.tile-5{
    background:linear-gradient(145deg,#3f226b,#a44bd0);
}

/* =========================================================
   RULES
========================================================= */

.rules-section{
    background:
        radial-gradient(circle at 80% 10%,rgba(112,39,169,.32),transparent 30%),
        linear-gradient(135deg,#06152f,#0c2a55);
    color:#fff;
}

.authority-card,
.rules-list-card{
    height:100%;
    padding:32px;
    border-radius:25px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.055);
    box-shadow:0 20px 55px rgba(0,0,0,.18);
}

.authority-title{
    display:flex;
    align-items:center;
    gap:15px;
}

.authority-title > span{
    width:55px;
    height:55px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    background:rgba(246,181,31,.14);
    color:var(--gold);
    font-size:22px;
}

.authority-title small{
    display:block;
    color:var(--gold);
    font-size:7px;
    letter-spacing:2px;
    font-weight:900;
}

.authority-title h3{
    margin:5px 0 0;
    font-family:'Playfair Display',serif;
    font-size:26px;
}

.authority-card > p{
    margin:22px 0 0;
    color:#b6c3d7;
    font-size:11px;
    line-height:1.9;
}

.authority-alert{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin-top:20px;
    padding:15px;
    border-radius:14px;
    background:rgba(246,181,31,.08);
    border:1px solid rgba(246,181,31,.16);
    color:#d7dfeb;
    font-size:9px;
    line-height:1.7;
}

.authority-alert i{
    color:var(--gold);
    margin-top:2px;
}

.rules-list-card h3{
    margin-bottom:18px;
    font-family:'Playfair Display',serif;
    font-size:24px;
}

.rules-list-card h3 i{
    color:var(--gold);
}

.rules-list-card > div{
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
    color:#c3cede;
    font-size:9px;
    font-weight:700;
}

.rules-list-card > div:last-child{
    border-bottom:0;
}

.rules-list-card > div i{
    color:#55d49c;
    margin-right:8px;
}

/* =========================================================
   CHAMPION
========================================================= */

.champion-section{
    position:relative;
    text-align:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 30%,#fff3bf,#fff 48%),
        #fff;
}

.champion-crown{
    width:60px;
    height:60px;
    margin:0 auto 15px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:19px;
    background:#fff3c7;
    color:#c58600;
    font-size:25px;
}

.champion-title{
    margin:0;
    font-family:'Playfair Display',serif;
    color:var(--navy);
    font-size:50px;
}

.champion-name{
    margin-top:10px;
    color:var(--purple);
    font-size:26px;
    font-weight:900;
    letter-spacing:2px;
}

.champion-section p{
    color:var(--muted);
    font-size:11px;
}

.champion-trophy-wrap{
    margin:20px auto 0;
    width:250px;
    height:250px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.champion-trophy-wrap img{
    width:220px;
    height:230px;
    object-fit:contain;
    mix-blend-mode:multiply;
    filter:drop-shadow(0 15px 15px rgba(0,0,0,.15));
}

/* =========================================================
   FOOTER
========================================================= */

.footer{
    padding:65px 0 20px;
    background:#041126;
    color:#fff;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.footer-brand-icon{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    color:var(--navy);
    background:var(--gold);
}

.footer-brand strong{
    display:block;
    font-size:21px;
    font-weight:900;
}

.footer-brand small{
    display:block;
    margin-top:4px;
    color:var(--gold);
    font-size:7px;
    letter-spacing:1.5px;
    font-weight:800;
}

.footer-about{
    max-width:460px;
    margin-top:18px;
    color:#8493aa;
    font-size:10px;
    line-height:1.9;
}

.footer-social{
    display:flex;
    gap:8px;
    margin-top:18px;
}

.footer-social a{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:rgba(255,255,255,.07);
    color:#c5cfde;
    transition:.25s;
}

.footer-social a:hover{
    background:var(--gold);
    color:var(--navy);
}

.footer h5{
    color:var(--gold);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    font-weight:900;
    margin-bottom:17px;
}

.footer > .container a:not(.footer-social a){
    display:block;
    width:max-content;
    margin-bottom:9px;
    color:#8c99ad;
    font-size:9px;
    transition:.2s;
}

.footer > .container a:not(.footer-social a):hover{
    color:#fff;
    transform:translateX(3px);
}

.footer-school{
    color:#8c99ad;
    font-size:9px;
    line-height:1.8;
}

.footer-school strong{
    color:#fff;
}

.footer-official{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    padding:10px 12px;
    border-radius:11px;
    background:rgba(255,255,255,.05);
    color:#a8b5c8;
    font-size:8px;
}

.footer-official i{
    color:var(--gold);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:15px;
    flex-wrap:wrap;
    border-top:1px solid rgba(255,255,255,.08);
    margin-top:45px;
    padding-top:18px;
    color:#627188;
    font-size:7px;
    letter-spacing:.3px;
}

.footer-bottom strong{
    color:#a7b4c8;
}

/* =========================================================
   BACK TOP
========================================================= */

.back-top{
    position:fixed;
    right:22px;
    bottom:22px;
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:var(--gold);
    color:var(--navy);
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    cursor:pointer;
    z-index:9998;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:.3s;
}

.back-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

/* =========================================================
   REVEAL
========================================================= */

.reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s ease,transform .7s ease;
}

.reveal.visible{
    opacity:1;
    transform:translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1199px){
    .nav-link{
        font-size:8px;
        padding-left:7px!important;
        padding-right:7px!important;
    }

    .fixtures-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:991px){
    .top-bar{
        display:none;
    }

    .navbar{
        min-height:68px;
    }

    .navbar-collapse{
        margin-top:12px;
        padding:10px;
        border-radius:15px;
        background:#081b3a;
        border:1px solid rgba(255,255,255,.08);
    }

    .nav-link{
        padding:10px 12px!important;
        font-size:9px;
    }

    .nav-cta{
        display:flex;
        justify-content:center;
        margin-top:6px;
    }

    .hero{
        min-height:auto;
        padding:90px 0 100px;
    }

    .hero h1{
        font-size:58px;
    }

    .trophy-stage{
        min-height:480px;
        margin-top:20px;
    }

    .stats-card{
        grid-template-columns:repeat(3,1fr);
    }

    .stat-item:nth-child(3){
        border-right:0;
    }

    .knockout-road{
        grid-template-columns:1fr;
    }

    .final-column{
        max-width:500px;
        width:100%;
        margin:auto;
    }

    .gallery-grid{
        grid-template-columns:1fr 1fr;
        grid-template-rows:200px 200px 200px;
    }

    .tile-1{
        grid-row:span 2;
    }
}

@media(max-width:767px){
    .section-pad{
        padding:70px 0;
    }

    .hero{
        padding-top:65px;
    }

    .hero h1{
        font-size:43px;
        letter-spacing:-.5px;
    }

    .hero-tagline{
        font-size:16px;
    }

    .hero-copy{
        font-size:12px;
    }

    .hero-trust{
        gap:10px;
    }

    .trophy-frame{
        width:320px;
        min-height:420px;
    }

    .hero-trophy{
        width:260px;
        max-height:330px;
    }

    .badge-one{
        left:0;
        top:80px;
    }

    .badge-two{
        right:0;
        bottom:75px;
    }

    .official-strip-grid{
        justify-content:center;
        flex-wrap:wrap;
        gap:8px 15px;
        font-size:7px;
    }

    .stats-card{
        grid-template-columns:repeat(2,1fr);
    }

    .stat-item{
        border-bottom:1px solid #edf0f5;
    }

    .stat-item:nth-child(2n){
        border-right:0;
    }

    .stat-item:last-child{
        grid-column:1 / -1;
    }

    .section-title{
        font-size:36px;
    }

    .section-title.left{
        text-align:left;
    }

    .fixtures-grid{
        grid-template-columns:1fr;
    }

    .fixture-card{
        padding:19px;
    }

    .points-card-head > span{
        display:none;
    }

    .gallery-grid{
        grid-template-columns:1fr;
        grid-template-rows:210px;
    }

    .gallery-tile{
        min-height:210px;
    }

    .tile-1{
        grid-row:auto;
    }

    .champion-title{
        font-size:38px;
    }

    .footer-bottom{
        flex-direction:column;
    }
}

@media(max-width:480px){
    .brand-copy strong{
        font-size:17px;
    }

    .brand-copy small{
        font-size:6px;
    }

    .hero h1{
        font-size:37px;
    }

    .hero-actions .btn{
        width:100%;
        text-align:center;
    }

    .trophy-frame{
        width:285px;
        min-height:390px;
    }

    .hero-trophy{
        width:230px;
        max-height:300px;
    }

    .floating-badge{
        font-size:7px;
        padding:8px 10px;
    }

    .badge-one{
        left:-3px;
    }

    .badge-two{
        right:-3px;
    }

    .group-card{
        padding:22px;
    }

    .fixture-main{
        grid-template-columns:1fr 35px 1fr;
    }

    .fixture-team strong{
        font-size:9px;
    }

    .fixture-meta{
        flex-direction:column;
        gap:6px;
    }
}

/* =========================================================
   RSVMPPL — DARK COLOURFUL PAGE BACKGROUNDS
   Replace the remaining white page areas with a premium
   navy / blue / purple championship atmosphere.
========================================================= */

html,
body{
    background:#030b1c;
}

/* ---------- FIXTURES ---------- */

.fixtures-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 8% 15%, rgba(0,170,255,.28), transparent 25%),
        radial-gradient(circle at 92% 12%, rgba(168,55,255,.34), transparent 28%),
        radial-gradient(circle at 50% 100%, rgba(255,181,30,.12), transparent 32%),
        linear-gradient(135deg,#030d24 0%,#071d43 42%,#211047 100%);
    color:#fff;
}

.fixtures-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.35;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:55px 55px;
}

.fixtures-section .container{
    position:relative;
    z-index:1;
}

.fixtures-section .section-eyebrow{color:#ffd23f}
.fixtures-section .section-title{color:#fff}
.fixtures-section .section-title span{color:#c46cff}
.fixtures-section .section-heading p{color:#b8c8df}

.fixture-tab{
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.075);
    color:#dce8f8;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 8px 25px rgba(0,0,0,.12);
}

.fixture-tab:hover{
    color:#fff;
    border-color:#ffc62e;
    background:rgba(255,198,46,.16);
}

.fixture-tab.active{
    color:#07152f;
    border-color:#ffc62e;
    background:linear-gradient(135deg,#ffc62e,#ffe18a);
    box-shadow:0 8px 25px rgba(255,198,46,.25);
}

.fixture-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045)),
        rgba(4,16,40,.78);
    box-shadow:
        0 18px 45px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.fixture-card::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    top:-110px;
    right:-70px;
    border-radius:50%;
    background:rgba(123,44,191,.20);
    pointer-events:none;
}

.fixture-card::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,#ffc62e,#7b2cbf,#10b9d4);
}

.fixture-card:hover{
    border-color:rgba(255,198,46,.35);
    box-shadow:
        0 25px 60px rgba(0,0,0,.40),
        0 0 30px rgba(123,44,191,.12);
}

.fixture-card[data-group="A"]::after{
    background:linear-gradient(90deg,#ff3d68,#ff7b45);
}
.fixture-card[data-group="B"]::after{
    background:linear-gradient(90deg,#ff9d24,#ffd34d);
}
.fixture-card[data-group="C"]::after{
    background:linear-gradient(90deg,#00b8e6,#4b7cff);
}
.fixture-card[data-group="D"]::after{
    background:linear-gradient(90deg,#9b4dff,#d66cff);
}

.fixture-number{color:#aabbd3}
.fixture-team strong{
    color:#fff;
    text-shadow:0 2px 8px rgba(0,0,0,.20);
}
.fixture-meta{
    border-top-color:rgba(255,255,255,.11);
    color:#9eb0c9;
}
.fixture-meta i{color:#ffc62e}
.fixture-vs{
    color:#fff;
    background:linear-gradient(135deg,#7426bb,#a347e0);
    box-shadow:0 8px 22px rgba(123,44,191,.35);
}

.group-label-a{
    background:rgba(255,61,104,.16);
    color:#ff7896;
    border:1px solid rgba(255,61,104,.18);
}
.group-label-b{
    background:rgba(255,157,36,.15);
    color:#ffc15d;
    border:1px solid rgba(255,157,36,.18);
}
.group-label-c{
    background:rgba(0,184,230,.14);
    color:#5cdbf6;
    border:1px solid rgba(0,184,230,.18);
}
.group-label-d{
    background:rgba(155,77,255,.16);
    color:#c997ff;
    border:1px solid rgba(155,77,255,.18);
}

/* ---------- POINTS ---------- */

.points-section{
    background:
        radial-gradient(circle at 0 20%,rgba(0,155,255,.20),transparent 28%),
        radial-gradient(circle at 100% 80%,rgba(146,54,255,.22),transparent 30%),
        linear-gradient(135deg,#050f25,#101d42 50%,#21103e);
    color:#fff;
}
.points-section .section-title{color:#fff}
.points-section .section-heading p{color:#afc0d8}
.points-card{
    background:rgba(5,17,40,.84);
    border:1px solid rgba(255,255,255,.11);
    box-shadow:0 25px 60px rgba(0,0,0,.28);
}
.points-table{color:#e9f1fc}
.points-table th{
    color:#9eb0c8;
    background:rgba(255,255,255,.045);
    border-bottom-color:rgba(255,255,255,.10);
}
.points-table td{
    color:#e8f0fb;
    border-bottom-color:rgba(255,255,255,.08);
}
.points-table tr:hover td{background:rgba(255,255,255,.035)}
.points-legend{color:#9eb0c8}

/* ---------- RESULTS ---------- */

.results-section{
    background:
        radial-gradient(circle at 15% 15%,rgba(255,50,115,.18),transparent 25%),
        radial-gradient(circle at 88% 70%,rgba(80,85,255,.24),transparent 28%),
        linear-gradient(135deg,#071126,#17113a 55%,#31133d);
    color:#fff;
}
.results-section .section-title{color:#fff}
.results-section .section-heading p{color:#b5c4d9}
.result-card{
    background:
        linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.045)),
        rgba(5,15,35,.82);
    border-color:rgba(255,255,255,.11);
    box-shadow:0 20px 50px rgba(0,0,0,.27);
}
.result-card-top{border-bottom-color:rgba(255,255,255,.10)}
.result-card-top span{color:#9eafc6}
.result-team-row{
    color:#eef5ff;
    border-bottom-color:rgba(255,255,255,.08);
}
.result-footer{color:#93a7c2}

/* ---------- LEAGUE LEADERS ---------- */

.leaders-section{
    background:
        radial-gradient(circle at 50% 0%,rgba(255,198,46,.14),transparent 25%),
        radial-gradient(circle at 10% 90%,rgba(0,164,226,.20),transparent 28%),
        linear-gradient(135deg,#030c20,#0c2147 55%,#261044);
    color:#fff;
}
.leaders-section .section-title{color:#fff}
.leaders-section .section-heading p{color:#b7c7db}
.leader-card{
    background:
        linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045)),
        rgba(4,15,36,.82);
    border-color:rgba(255,255,255,.11);
    box-shadow:0 22px 55px rgba(0,0,0,.30);
}
.leader-card small{color:#9fb1c9}
.leader-card h3{color:#fff}
.leader-card > strong{color:#ffc62e}

/* ---------- GALLERY ---------- */

.gallery-section{
    background:
        radial-gradient(circle at 90% 10%,rgba(123,44,191,.24),transparent 27%),
        radial-gradient(circle at 5% 80%,rgba(0,184,230,.18),transparent 28%),
        linear-gradient(135deg,#050f25,#111c3b 52%,#24123e);
    color:#fff;
}
.gallery-section .section-title{color:#fff}
.gallery-section .section-heading p{color:#b7c5d9}

/* ---------- CHAMPION ---------- */

.champion-section{
    background:
        radial-gradient(circle at 50% 20%,rgba(255,198,46,.27),transparent 24%),
        radial-gradient(circle at 20% 90%,rgba(123,44,191,.28),transparent 30%),
        linear-gradient(135deg,#080f24,#171238 55%,#321746);
    color:#fff;
}
.champion-title{color:#fff}
.champion-section p{color:#b9c7da}
.champion-name{
    color:#ffc62e;
    text-shadow:0 4px 20px rgba(255,198,46,.18);
}

/* =========================================================
   RSVMPPL — LIGHTER COLOURFUL CHAMPIONSHIP THEME
   Final overrides: vibrant, bright, readable — not too dark.
========================================================= */

html,
body{
    background:#eef3fb;
    color:#14213d;
}

/* Main sections */
.fixtures-section{
    background:
        radial-gradient(circle at 8% 10%,rgba(42,174,255,.22),transparent 25%),
        radial-gradient(circle at 92% 8%,rgba(174,92,255,.24),transparent 27%),
        radial-gradient(circle at 50% 100%,rgba(255,193,45,.15),transparent 30%),
        linear-gradient(135deg,#eaf4ff 0%,#edf0ff 48%,#f6edff 100%);
    color:#14213d;
}

.points-section{
    background:
        radial-gradient(circle at 0 20%,rgba(30,163,230,.18),transparent 28%),
        radial-gradient(circle at 100% 80%,rgba(151,76,235,.18),transparent 30%),
        linear-gradient(135deg,#edf7ff,#f0f1ff 50%,#f7efff);
    color:#14213d;
}

.results-section{
    background:
        radial-gradient(circle at 12% 12%,rgba(255,78,119,.15),transparent 25%),
        radial-gradient(circle at 90% 75%,rgba(80,100,255,.18),transparent 28%),
        linear-gradient(135deg,#fff0f5,#eef4ff 52%,#f6efff);
    color:#14213d;
}

.leaders-section{
    background:
        radial-gradient(circle at 50% 0%,rgba(255,198,46,.16),transparent 25%),
        radial-gradient(circle at 10% 90%,rgba(0,164,226,.16),transparent 28%),
        linear-gradient(135deg,#eaf5ff,#eef1ff 55%,#f5ecff);
    color:#14213d;
}

.gallery-section{
    background:
        radial-gradient(circle at 90% 10%,rgba(123,44,191,.18),transparent 27%),
        radial-gradient(circle at 5% 80%,rgba(0,184,230,.15),transparent 28%),
        linear-gradient(135deg,#edf7ff,#f0f1ff 52%,#f6edff);
    color:#14213d;
}

.champion-section{
    background:
        radial-gradient(circle at 50% 15%,rgba(255,198,46,.24),transparent 25%),
        radial-gradient(circle at 20% 90%,rgba(123,44,191,.18),transparent 30%),
        linear-gradient(135deg,#fff8df,#f0edff 55%,#f5e9ff);
    color:#14213d;
}

/* Keep section headings strong on light backgrounds */
.fixtures-section .section-title,
.points-section .section-title,
.results-section .section-title,
.leaders-section .section-title,
.gallery-section .section-title,
.champion-title{
    color:#10264a;
    text-shadow:none;
}

.fixtures-section .section-title span,
.points-section .section-title span,
.results-section .section-title span,
.leaders-section .section-title span,
.gallery-section .section-title span{
    color:#7134b5;
}

.fixtures-section .section-heading p,
.points-section .section-heading p,
.results-section .section-heading p,
.leaders-section .section-heading p,
.gallery-section .section-heading p,
.champion-section p{
    color:#596b84;
}

/* Brighter glass cards */
.fixture-card,
.points-card,
.result-card,
.leader-card{
    background:rgba(255,255,255,.84);
    border:1px solid rgba(115,137,173,.20);
    box-shadow:
        0 18px 45px rgba(40,65,105,.12),
        inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.fixture-card:hover,
.result-card:hover,
.leader-card:hover{
    box-shadow:
        0 24px 55px rgba(40,65,105,.17),
        0 0 25px rgba(123,44,191,.08);
}

.fixture-team strong{
    color:#132442;
    text-shadow:none;
}

.fixture-number{
    color:#6d7e97;
}

.fixture-meta{
    color:#63748d;
    border-top-color:#dce4ef;
}

.points-table{
    color:#172845;
}

.points-table th{
    color:#64748c;
    background:#f4f7fb;
    border-bottom-color:#dce4ef;
}

.points-table td{
    color:#172845;
    border-bottom-color:#e4e9f1;
}

.points-table tr:hover td{
    background:#f5f1ff;
}

.points-legend{
    color:#65758d;
}

.result-card-top{
    border-bottom-color:#e1e7f0;
}

.result-card-top span{
    color:#70819a;
}

.result-team-row{
    color:#172845;
    border-bottom-color:#e4e9f1;
}

.result-footer{
    color:#687b94;
}

.leader-card small{
    color:#71829a;
}

.leader-card h3{
    color:#162746;
}

.leader-card > strong{
    color:#8b5b00;
}

/* Group tabs remain colourful */
.fixture-tab{
    background:rgba(255,255,255,.76);
    color:#4f6079;
    border:1px solid #d7e0ed;
    box-shadow:0 6px 18px rgba(38,65,105,.07);
}

.fixture-tab:hover{
    color:#51218a;
    background:#fff;
    border-color:#c69af0;
}

.fixture-tab.active{
    color:#fff;
    background:linear-gradient(135deg,#172e57,#7134b5);
    border-color:#172e57;
    box-shadow:0 10px 25px rgba(71,47,150,.22);
}

/* Brighter grid pattern */
.fixtures-section::before{
    opacity:.20;
    background-image:
        linear-gradient(rgba(63,92,135,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(63,92,135,.07) 1px,transparent 1px);
}

/* Champion gold remains prominent */
.champion-name{
    color:#c58a00;
    text-shadow:0 3px 14px rgba(197,138,0,.12);
}

/* =========================================================
   RSVMPPL — READABILITY PASS
   Lighter backgrounds + much stronger text contrast.
========================================================= */

body{
    font-size:16px !important;
    line-height:1.7 !important;
    color:#14213d !important;
}

/* General section text */
.section-eyebrow{
    font-size:12px !important;
    font-weight:900 !important;
    letter-spacing:2px !important;
}

.section-title{
    font-size:52px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
}

.section-heading p{
    font-size:16px !important;
    line-height:1.8 !important;
    color:#4e6078 !important;
}

/* =========================================================
   RULES / AUTHORITY — LIGHTER + CLEARER
========================================================= */

.rules-section{
    background:
        radial-gradient(circle at 8% 15%,rgba(42,174,255,.18),transparent 27%),
        radial-gradient(circle at 92% 18%,rgba(153,74,238,.17),transparent 28%),
        linear-gradient(135deg,#eaf4ff 0%,#edf2ff 52%,#f5edff 100%) !important;
    color:#14213d !important;
}

.authority-card,
.rules-list-card{
    background:rgba(255,255,255,.90) !important;
    border:1px solid rgba(90,116,153,.20) !important;
    box-shadow:0 20px 50px rgba(31,61,102,.12) !important;
    color:#14213d !important;
}

.authority-title small{
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:2px !important;
    color:#b27600 !important;
}

.authority-title h3{
    font-size:34px !important;
    line-height:1.2 !important;
    color:#10264a !important;
}

.authority-card > p{
    font-size:15px !important;
    line-height:1.9 !important;
    color:#344963 !important;
}

.authority-alert{
    font-size:13px !important;
    line-height:1.65 !important;
    color:#30445f !important;
    background:#fff8df !important;
    border:1px solid #f0d78a !important;
}

.rules-list-card h3{
    font-size:30px !important;
    color:#10264a !important;
}

.rules-list-card > div{
    padding:17px 0 !important;
    font-size:13px !important;
    line-height:1.55 !important;
    color:#31465f !important;
    border-bottom-color:#dfe6ef !important;
}

.rules-list-card > div i{
    color:#13a875 !important;
}

/* =========================================================
   FIXTURES — READABLE
========================================================= */

.fixtures-section{
    color:#14213d !important;
}

.fixture-team strong{
    font-size:14px !important;
    font-weight:800 !important;
    color:#102442 !important;
}

.fixture-team span{
    font-size:38px !important;
}

.fixture-number{
    font-size:10px !important;
    font-weight:900 !important;
}

.fixture-meta{
    font-size:10px !important;
    color:#52677f !important;
}

.fixture-vs{
    width:45px !important;
    height:45px !important;
    font-size:11px !important;
    font-weight:900 !important;
}

/* =========================================================
   POINTS TABLE — CLEAR NUMBERS + TEAM NAMES
========================================================= */

.points-table th{
    font-size:10px !important;
    font-weight:900 !important;
}

.points-table td{
    font-size:13px !important;
    font-weight:600 !important;
    color:#172845 !important;
}

.points-table td:nth-child(2){
    font-size:14px !important;
    font-weight:800 !important;
}

.points-card-head strong{
    font-size:34px !important;
}

.points-card-head small{
    font-size:10px !important;
}

/* =========================================================
   RESULTS
========================================================= */

.result-card-top span{
    font-size:10px !important;
    font-weight:800 !important;
}

.result-team-row{
    font-size:14px !important;
    font-weight:700 !important;
}

.result-footer{
    font-size:11px !important;
}

/* =========================================================
   LEAGUE LEADERS
========================================================= */

.leader-card small{
    font-size:10px !important;
    font-weight:800 !important;
}

.leader-card h3{
    font-size:25px !important;
    color:#162746 !important;
}

.leader-card > strong{
    font-size:11px !important;
}

/* =========================================================
   FOOTER — KEEP DARK BUT MAKE IT READABLE
========================================================= */

.footer{
    background:#071a36 !important;
    color:#d9e5f4 !important;
}

.footer-about{
    font-size:13px !important;
    line-height:1.8 !important;
    color:#b9c9dd !important;
}

.footer h5{
    font-size:12px !important;
    letter-spacing:1.7px !important;
    color:#ffc62e !important;
}

.footer > .container a:not(.footer-social a){
    font-size:12px !important;
    line-height:1.8 !important;
    color:#b9c9dd !important;
}

.footer-school{
    font-size:12px !important;
    line-height:1.7 !important;
    color:#dbe6f3 !important;
}

.footer-official{
    font-size:11px !important;
    color:#b9c9dd !important;
}

.footer-bottom{
    font-size:11px !important;
    color:#8fa5c1 !important;
}

.footer-social a{
    width:46px !important;
    height:46px !important;
    font-size:17px !important;
}

/* =========================================================
   NAVIGATION
========================================================= */

.nav-link{
    font-size:13px !important;
    font-weight:800 !important;
}

.nav-cta{
    font-size:12px !important;
}

/* =========================================================
   MOBILE READABILITY
========================================================= */

@media(max-width:767px){
    .section-title{
        font-size:38px !important;
    }

    .section-heading p{
        font-size:14px !important;
    }

    .authority-title h3{
        font-size:27px !important;
    }

    .authority-card > p{
        font-size:14px !important;
    }

    .rules-list-card > div{
        font-size:12px !important;
    }

    .fixture-team strong{
        font-size:13px !important;
    }

    .points-table td{
        font-size:11px !important;
    }

    .points-table td:nth-child(2){
        font-size:12px !important;
    }

    .footer-about,
    .footer > .container a:not(.footer-social a),
    .footer-school{
        font-size:11px !important;
    }
}

/* =========================================================
   LATEST RESULTS — SCROLLABLE ALL-MATCHES AREA
========================================================= */

/* The results grid becomes a contained scroll area.
   All existing result cards remain available; only the
   results list itself scrolls. */
.results-grid{
    max-height:680px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:8px 14px 18px 4px !important;
    scroll-behavior:smooth;
    scrollbar-width:thin;
    scrollbar-color:#7b2cbf rgba(123,44,191,.10);
}

/* Chrome / Edge scrollbar */
.results-grid::-webkit-scrollbar{
    width:9px;
}

.results-grid::-webkit-scrollbar-track{
    background:rgba(123,44,191,.07);
    border-radius:20px;
}

.results-grid::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#7b2cbf,#087fca);
    border-radius:20px;
    border:2px solid transparent;
    background-clip:padding-box;
}

.results-grid::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#9b4de0,#079bd2);
    background-clip:padding-box;
}

/* Make the individual result cards breathe inside the scroll area */
.results-grid .result-card{
    margin-bottom:18px;
}

/* On desktop, show several matches before scrolling */
@media(min-width:1200px){
    .results-grid{
        max-height:620px !important;
    }
}

/* Tablet */
@media(max-width:1199px){
    .results-grid{
        max-height:600px !important;
    }
}

/* Mobile — a little more room because cards stack */
@media(max-width:767px){
    .results-grid{
        max-height:620px !important;
        padding-right:9px !important;
    }
}

/* If the HTML uses a results container rather than .results-grid,
   these common wrappers also receive the same scroll treatment. */
.results-list{
    max-height:680px;
    overflow-y:auto;
    overflow-x:hidden;
    scroll-behavior:smooth;
    scrollbar-width:thin;
    scrollbar-color:#7b2cbf rgba(123,44,191,.10);
}

.results-list::-webkit-scrollbar{
    width:9px;
}

.results-list::-webkit-scrollbar-track{
    background:rgba(123,44,191,.07);
    border-radius:20px;
}

.results-list::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#7b2cbf,#087fca);
    border-radius:20px;
}

/* =========================================================
   RSVMPPL — TROPHY IN TOP NAVIGATION
========================================================= */

.navbar .trophy-brand{
    width:58px;
    height:58px;
    padding:5px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex:0 0 auto;
    border-radius:15px;

    background:
        radial-gradient(circle at 50% 28%,
            #fff8ca 0%,
            #ffd84d 43%,
            #f2a900 100%);

    border:2px solid rgba(255,255,255,.88);

    box-shadow:
        0 7px 22px rgba(255,190,20,.28),
        0 0 0 3px rgba(255,198,46,.08);
}

.navbar .trophy-brand img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;

    /* Helps the supplied white-background trophy blend into the badge */
    mix-blend-mode:multiply;

    filter:
        contrast(1.08)
        saturate(1.12)
        drop-shadow(0 3px 5px rgba(0,0,0,.25));
}

@media(max-width:991px){
    .navbar .trophy-brand{
        width:52px;
        height:52px;
        border-radius:14px;
    }
}

@media(max-width:767px){
    .navbar .trophy-brand{
        width:48px;
        height:48px;
        padding:4px;
        border-radius:12px;
    }
}

/* =========================================================
   FINAL READABILITY SAFETY OVERRIDES
========================================================= */

body{
    font-size:16px;
    line-height:1.7;
}

.nav-link{
    font-size:13px !important;
}

.section-heading p{
    font-size:16px !important;
    line-height:1.8 !important;
}

.fixture-team strong{
    font-size:14px !important;
}

.fixture-meta{
    font-size:10px !important;
}

.points-table td{
    font-size:13px !important;
}

.points-table td:nth-child(2){
    font-size:14px !important;
}

.result-team-row{
    font-size:14px !important;
}

.authority-card > p{
    font-size:15px !important;
    line-height:1.9 !important;
}

.rules-list-card > div{
    font-size:13px !important;
    line-height:1.55 !important;
}

.footer-about{
    font-size:13px !important;
    line-height:1.8 !important;
}

.footer > .container a:not(.footer-social a){
    font-size:12px !important;
}

.footer-school{
    font-size:12px !important;
}

/* =========================================================
   FINAL LATEST RESULTS SCROLL
========================================================= */

.results-grid{
    max-height:680px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:8px 14px 18px 4px !important;
    scroll-behavior:smooth;
    scrollbar-width:thin;
    scrollbar-color:#7b2cbf rgba(123,44,191,.10);
}

.results-grid::-webkit-scrollbar{
    width:9px;
}

.results-grid::-webkit-scrollbar-track{
    background:rgba(123,44,191,.07);
    border-radius:20px;
}

.results-grid::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#7b2cbf,#087fca);
    border-radius:20px;
    border:2px solid transparent;
    background-clip:padding-box;
}

.results-grid::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#9b4de0,#079bd2);
    background-clip:padding-box;
}

.results-grid .result-card{
    margin-bottom:18px;
}

.results-list{
    max-height:680px;
    overflow-y:auto;
    overflow-x:hidden;
    scroll-behavior:smooth;
    scrollbar-width:thin;
    scrollbar-color:#7b2cbf rgba(123,44,191,.10);
}

.results-list::-webkit-scrollbar{
    width:9px;
}

.results-list::-webkit-scrollbar-track{
    background:rgba(123,44,191,.07);
    border-radius:20px;
}

.results-list::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#7b2cbf,#087fca);
    border-radius:20px;
}

@media(min-width:1200px){
    .results-grid,
    .results-list{
        max-height:620px !important;
    }
}

@media(max-width:1199px){
    .results-grid,
    .results-list{
        max-height:600px !important;
    }
}

@media(max-width:767px){
    .results-grid,
    .results-list{
        max-height:620px !important;
        padding-right:9px !important;
    }
}
/* =========================================================
   LATEST RESULTS — HORIZONTAL CAROUSEL
========================================================= */

.results-scroll {
    display: flex !important;
    flex-wrap: nowrap !important;

    width: 100%;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    gap: 22px;

    padding: 8px 8px 25px 4px;

    scroll-behavior: smooth;

    scrollbar-width: auto;
    scrollbar-color: #7134b5 #dfe7f2;
}


/* EVERY RESULT CARD HAS SAME WIDTH */

.results-scroll .result-item {
    flex: 0 0 360px !important;
    width: 360px !important;
    max-width: 360px !important;
}


/* REMOVE BOOTSTRAP COLUMN BEHAVIOUR */

.results-scroll .col-lg-4,
.results-scroll [class*="col-"] {
    flex: 0 0 360px !important;
    width: 360px !important;
    max-width: 360px !important;
}


/* CARD ALWAYS FILLS SAME WIDTH */

.results-scroll .result-card {
    width: 100% !important;
    min-height: 215px;
    height: 100%;

    box-sizing: border-box;
}


/* =========================================================
   SCROLLBAR
========================================================= */

.results-scroll::-webkit-scrollbar {
    height: 12px;
}

.results-scroll::-webkit-scrollbar-track {
    background: #dce5f1;
    border-radius: 20px;
}

.results-scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(
        90deg,
        #7134b5,
        #087fca
    );

    border-radius: 20px;

    border: 3px solid #dce5f1;
}

.results-scroll::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(
        90deg,
        #8f50d2,
        #079bd2
    );
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width:1200px) {

    .results-scroll .result-item,
    .results-scroll .col-lg-4,
    .results-scroll [class*="col-"] {
        flex-basis: 380px !important;
        width: 380px !important;
        max-width: 380px !important;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (min-width:768px) and (max-width:1199px) {

    .results-scroll .result-item,
    .results-scroll .col-lg-4,
    .results-scroll [class*="col-"] {
        flex-basis: 340px !important;
        width: 340px !important;
        max-width: 340px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767px) {

    .results-scroll {
        gap: 15px;
        padding-bottom: 20px;
    }

    .results-scroll .result-item,
    .results-scroll .col-lg-4,
    .results-scroll [class*="col-"] {
        flex: 0 0 290px !important;
        width: 290px !important;
        max-width: 290px !important;
    }

    .results-scroll::-webkit-scrollbar {
        height: 10px;
    }

}

/* =========================================================
   CLICKABLE TEAM ROW
========================================================= */

.team-button {
    width: 100%;
    border: 0;
    cursor: pointer;

    display: grid;

    grid-template-columns:
        42px
        minmax(0,1fr)
        28px
        18px;

    align-items: center;

    gap: 9px;

    text-align: left;

    background: transparent;

    color: inherit;

    padding: 12px 8px;

    border-radius: 12px;

    transition:
        background .25s ease,
        transform .25s ease;
}

.team-button:hover {
    background: rgba(255,255,255,.12);

    transform: translateX(5px);
}

.team-button img {
    width: 38px;
    height: 38px;

    object-fit: contain;

    filter:
        drop-shadow(
            0 4px 6px
            rgba(0,0,0,.18)
        );

    transition: transform .25s ease;
}

.team-button:hover img {
    transform: scale(1.12);
}

.team-button strong {
    font-size: 14px;

    font-weight: 800;

    color: inherit;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;
}

.team-button b {
    font-size: 9px;

    opacity: .65;

    text-align: center;
}

.team-button > i {
    font-size: 10px;

    opacity: .5;

    transition: transform .25s ease;
}

.team-button:hover > i {
    opacity: 1;

    transform: translateX(3px);
}


/* =========================================================
   TEAM MODAL
========================================================= */

.team-modal {
    position: fixed;

    inset: 0;

    z-index: 99999;

    display: none;

    align-items: center;
    justify-content: center;

    padding: 20px;
}

.team-modal.active {
    display: flex;
}

.team-modal-overlay {
    position: absolute;

    inset: 0;

    background:
        rgba(5,12,28,.82);

    backdrop-filter: blur(8px);
}


/* MODAL BOX */

.team-modal-box {
    position: relative;

    width: min(900px, 100%);

    max-height: 92vh;

    overflow: hidden;

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f4f7fc
        );

    box-shadow:
        0 30px 90px
        rgba(0,0,0,.45);

    animation:
        teamModalIn .3s ease;
}

@keyframes teamModalIn {

    from {
        opacity: 0;
        transform: scale(.92) translateY(25px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }

}


/* HEADER */

.team-modal-header {
    position: relative;

    display: flex;

    align-items: center;

    gap: 25px;

    padding: 28px 35px;

    background:
        linear-gradient(
            135deg,
            #111b35,
            #252d61
        );

    color: white;
}

.team-modal-header:after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 4px;

    background:
        linear-gradient(
            90deg,
            #ffb300,
            #ff4b2b,
            #7b2cbf
        );
}


/* CLOSE */

.team-modal-close {

    position: absolute;

    top: 18px;
    right: 18px;

    width: 36px;
    height: 36px;

    border: 1px solid rgba(255,255,255,.25);

    border-radius: 50%;

    background:
        rgba(255,255,255,.1);

    color: white;

    cursor: pointer;

    z-index: 2;

    transition: .2s ease;
}

.team-modal-close:hover {

    background: #ff4b4b;

    transform: rotate(90deg);
}


/* LOGO */

.modal-team-logo {

    width: 105px;
    height: 105px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 10px;

    border-radius: 22px;

    background:
        rgba(255,255,255,.12);

    border:
        1px solid
        rgba(255,255,255,.2);
}

.modal-team-logo img {

    width: 100%;
    height: 100%;

    object-fit: contain;

    filter:
        drop-shadow(
            0 8px 12px
            rgba(0,0,0,.3)
        );
}


/* TEAM INFO */

.modal-team-info small {

    display: block;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 2px;

    color: #ffc83d;

    margin-bottom: 4px;
}

.modal-team-info h2 {

    margin: 0;

    font-size: 32px;

    font-weight: 900;
}

.modal-team-info p {

    margin: 6px 0 0;

    color: rgba(255,255,255,.7);

    font-size: 13px;
}


/* BODY */

.team-modal-body {

    padding: 28px 35px;

    max-height: 60vh;

    overflow-y: auto;
}


/* CAPTAIN */

.squad-captain {

    display: flex;

    align-items: center;

    gap: 15px;

    padding: 15px 18px;

    margin-bottom: 25px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #fff7d6,
            #fff0a9
        );

    border:
        1px solid #efd36a;
}

.captain-symbol {

    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: #ffc62e;

    color: #714c00;

    font-size: 20px;
}

.squad-captain small {

    display: block;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 1.5px;

    color: #8b6a16;
}

.squad-captain strong {

    display: block;

    font-size: 16px;

    color: #253852;

    margin-top: 2px;
}


/* SECTION */

.squad-section {

    margin-bottom: 28px;
}

.squad-section-title {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 12px;

    padding-bottom: 10px;

    border-bottom:
        2px solid #e5eaf2;
}

.squad-section-title > div {

    display: flex;

    align-items: center;

    gap: 8px;
}

.squad-section-title i {

    color: #087fca;
}

.squad-section-title span {

    font-size: 14px;

    font-weight: 900;

    color: #263b58;

    text-transform: uppercase;
}

.squad-section-title b {

    min-width: 32px;
    height: 32px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #087fca;

    color: white;

    font-size: 10px;
}

.student-title i {

    color: #7b2cbf;
}

.student-title b {

    background: #7b2cbf;
}


/* PLAYER GRID */

.players-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap: 9px;
}


/* PLAYER */

.player-card {

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 11px 13px;

    border-radius: 12px;

    background: white;

    border:
        1px solid #e1e7ef;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.player-card:hover {

    transform: translateY(-2px);

    box-shadow:
        0 6px 18px
        rgba(30,50,90,.1);
}

.player-number {

    width: 28px;
    height: 28px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: #eef4fa;

    color: #63758b;

    font-size: 9px;

    font-weight: 900;
}

.player-card-name {

    min-width: 0;

    font-size: 12px;

    font-weight: 750;

    color: #263b58;
}


/* FOOTER */

.team-modal-footer {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 15px 35px;

    background: #edf2f8;

    border-top:
        1px solid #dfe6ef;

    font-size: 10px;

    color: #64758a;
}

.team-modal-footer b {

    color: #222f45;
}


/* MOBILE */

@media(max-width:600px) {

    .team-modal {
        padding: 8px;
    }

    .team-modal-box {
        max-height: 96vh;

        border-radius: 18px;
    }

    .team-modal-header {

        padding: 25px 20px;

        gap: 15px;
    }

    .modal-team-logo {

        width: 75px;
        height: 75px;
    }

    .modal-team-info h2 {

        font-size: 22px;
    }

    .team-modal-body {

        padding: 20px;

        max-height: 65vh;
    }

    .players-grid {

        grid-template-columns: 1fr;
    }

    .team-modal-footer {

        padding: 13px 20px;

        font-size: 9px;
    }

}
/* =========================================================
   POINTS TABLE - TEAM LOGOS
========================================================= */

.points-team {
    display: flex !important;
    align-items: center;
    gap: 9px;
    min-width: 190px;
}

.points-team img {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;

    object-fit: contain;

    filter:
        drop-shadow(
            0 2px 4px rgba(0,0,0,.18)
        );

    transition: transform .2s ease;
}

.points-team:hover img {
    transform: scale(1.12);
}

.points-team span {
    font-weight: 750;
    white-space: nowrap;
}

.points-team em {
    margin-left: 3px;
    font-style: normal;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 22px;
    height: 18px;

    padding: 0 5px;

    border-radius: 5px;

    background: #20b26b;
    color: #fff;

    font-size: 9px;
    font-weight: 900;

    line-height: 1;
}


/* MOBILE */

@media (max-width: 575px) {

    .points-team {
        min-width: 150px;
        gap: 6px;
    }

    .points-team img {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
    }

    .points-team span {
        font-size: 11px;
    }

}
/* =========================================================
   RSVMPPL RESULT TEAM LOGOS
========================================================= */

.result-team-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.result-team-name {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.result-team-name img {
    width: 40px;
    height: 40px;

    object-fit: contain;

    flex: 0 0 40px;

    display: block;

    filter: drop-shadow(
        0 2px 4px rgba(0, 0, 0, 0.18)
    );

    transition:
        transform .25s ease,
        filter .25s ease;
}

.result-team-row:hover
.result-team-name img {
    transform: scale(1.12);

    filter: drop-shadow(
        0 4px 7px rgba(0, 0, 0, 0.25)
    );
}

.result-team-name strong {
    font-size: 14px;
    font-weight: 800;

    line-height: 1.2;

    white-space: nowrap;
}

.result-team-row > strong {
    flex-shrink: 0;

    font-size: 17px;
    font-weight: 900;
}


/* Trophy used in knockout matches */

.result-trophy {
    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 27px;

    border-radius: 50%;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .result-team-name {
        gap: 8px;
    }

    .result-team-name img {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .result-team-name strong {
        font-size: 12px;
    }

    .result-team-row > strong {
        font-size: 15px;
    }

    .result-trophy {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        font-size: 23px;
    }

}

/* =========================================================
   KNOCKOUT STAGE — CLEAN 3 COLUMN LAYOUT
========================================================= */

.knockout-bracket {
    position: relative;

    display: grid;

    /* IMPORTANT: ONLY 3 COLUMNS */
    grid-template-columns: 0.9fr 1.35fr 1.35fr;

    gap: 55px;

    align-items: center;

    min-height: 620px;

    margin-top: 55px;
}


/* =========================================================
   COLUMN HEADINGS
========================================================= */

.bracket-heading {
    text-align: center;

    color: #ffbd18;

    font-size: 13px;

    font-weight: 900;

    letter-spacing: 3px;

    margin-bottom: 22px;

    text-transform: uppercase;
}


/* =========================================================
   GROUP WINNERS
========================================================= */

.group-winners {
    display: flex;

    flex-direction: column;

    gap: 16px;
}


.winner-slot {
    min-height: 64px;

    display: flex;

    align-items: center;

    gap: 16px;

    padding: 0 24px;

    background:
        linear-gradient(
            135deg,
            rgba(35, 71, 119, .95),
            rgba(24, 51, 91, .95)
        );

    border: 1px solid rgba(255,255,255,.14);

    border-radius: 17px;

    color: #fff;

    box-shadow:
        0 8px 24px rgba(0,0,0,.16);

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}


.winner-slot:hover {
    transform: translateX(5px);

    border-color: #ffbd18;

    box-shadow:
        0 10px 28px rgba(255,189,24,.12);
}


.winner-slot span {
    flex: 0 0 auto;

    font-size: 20px;
}


.winner-slot strong {
    font-size: 15px;

    font-weight: 800;

    color: #fff;

    white-space: nowrap;
}


/* =========================================================
   SEMI FINALS
========================================================= */

.semifinals {
    display: flex;

    flex-direction: column;

    gap: 28px;
}


.semi-card {
    width: 100%;

    position: relative;

    padding: 30px;

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #234a7d,
            #1c3c68
        );

    border: 1px solid rgba(255,255,255,.15);

    box-shadow:
        0 15px 35px rgba(0,0,0,.18);

    text-align: center;
}


.semi-title {
    color: #ffbd18;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;

    margin-bottom: 18px;
}


.semi-team {
    width: 100%;

    padding: 14px 18px;

    border-radius: 12px;

    background:
        rgba(255,255,255,.10);

    color: #fff;

    font-size: 15px;

    font-weight: 800;

    text-align: center;
}


.semi-vs {
    margin: 10px 0;

    color: #ffbd18;

    font-size: 12px;

    font-weight: 900;
}


.semi-card small {
    display: block;

    margin-top: 18px;

    color: rgba(255,255,255,.62);

    font-size: 11px;
}


/* =========================================================
   GRAND FINAL
========================================================= */

.grand-final {
    height: 100%;

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.final-card {
    width: 100%;

    min-height: 520px;

    padding: 42px 34px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            #5b4b7c,
            #302b63
        );

    border: 1px solid rgba(255,189,24,.55);

    box-shadow:
        0 20px 55px rgba(0,0,0,.25);
}


.final-crown {
    font-size: 48px;

    margin-bottom: 14px;

    filter:
        drop-shadow(
            0 5px 8px rgba(0,0,0,.25)
        );
}


.final-card small {
    color: #ffbd18;

    font-weight: 900;

    letter-spacing: 3px;

    font-size: 12px;
}


.final-card h2 {
    margin: 20px 0 32px;

    color: #fff;

    font-family: Georgia, serif;

    font-size: 34px;

    line-height: 1.15;
}


.final-team {
    width: 88%;

    padding: 16px;

    border-radius: 13px;

    background:
        rgba(255,255,255,.11);

    color: #fff;

    font-weight: 800;

    font-size: 15px;
}


.final-vs {
    margin: 12px 0;

    color: #ffbd18;

    font-size: 13px;

    font-weight: 900;
}


.final-trophy {
    margin-top: 30px;

    font-size: 60px;

    filter:
        drop-shadow(
            0 8px 10px rgba(0,0,0,.28)
        );
}


.champion-text {
    margin-top: 22px;

    color: #ffbd18;

    font-size: 11px;

    letter-spacing: 2px;

    font-weight: 900;
}


/* =========================================================
   DESKTOP — PREVENT OVERFLOW
========================================================= */

@media (min-width: 1200px) {

    .knockout-bracket {
        grid-template-columns:
            minmax(280px, .9fr)
            minmax(420px, 1.35fr)
            minmax(420px, 1.35fr);

        gap: 55px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199px) {

    .knockout-bracket {

        grid-template-columns:
            0.85fr
            1.2fr
            1.2fr;

        gap: 25px;
    }

    .winner-slot {
        padding: 0 15px;
    }

    .winner-slot strong {
        font-size: 13px;
    }

    .semi-card {
        padding: 24px 18px;
    }

    .final-card {
        padding: 30px 20px;
    }

    .final-card h2 {
        font-size: 27px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .knockout-bracket {

        display: block;

        min-height: auto;

        margin-top: 35px;
    }


    .group-winners {

        margin-bottom: 35px;
    }


    .semifinals {

        margin-bottom: 35px;
    }


    .semi-card {

        margin-bottom: 20px;
    }


    .grand-final {

        margin-top: 35px;
    }


    .final-card {

        min-height: 430px;
    }


    .final-card h2 {

        font-size: 28px;
    }


    .final-team {

        width: 100%;
    }

}
/* =========================================================
   FIX KNOCKOUT CARD HEIGHT
   DO NOT CHANGE THE MAIN FIXTURE GRID
========================================================= */

/* Stop grid items from stretching to the tallest card */
.fixtures-grid {
    align-items: start;
}


/* =========================================================
   SEMI FINALS
========================================================= */

.fixtures-grid .knockout-card {
    align-self: start !important;

    height: auto !important;
    min-height: 0 !important;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f6f1ff 100%
    );

    border: 1px solid rgba(111, 45, 189, .20);
}


/* Keep the normal fixture spacing */

.fixtures-grid .knockout-card .fixture-main {
    min-height: 150px;
}


/* Trophy */

.fixtures-grid .knockout-card .fixture-team span {
    font-size: 34px;
    line-height: 1;
}


/* Team name */

.fixtures-grid .knockout-card .fixture-team strong {
    color: #10264a;
}


/* =========================================================
   GRAND FINAL
========================================================= */

.fixtures-grid .knockout-final-card {
    align-self: start !important;

    height: auto !important;

    /* THIS IS THE IMPORTANT PART */
    min-height: 0 !important;

    background: linear-gradient(
        145deg,
        #51427c 0%,
        #30265d 100%
    );

    border: 1px solid #d6a928;

    box-shadow:
        0 15px 35px rgba(48, 38, 93, .25);
}


/* Final card main area */

.fixtures-grid .knockout-final-card .fixture-main {
    min-height: 150px;
}


/* Final text */

.fixtures-grid .knockout-final-card .fixture-team strong {
    color: #ffffff !important;
}


/* Final trophy */

.fixtures-grid .knockout-final-card .fixture-team span {
    font-size: 36px;
    line-height: 1;
}


/* Final VS */

.fixtures-grid .knockout-final-card .fixture-vs {
    background: linear-gradient(
        135deg,
        #7227bd,
        #9845dc
    );

    color: #ffffff;

    box-shadow:
        0 8px 20px rgba(114,39,189,.30);
}


/* Final header */

.fixtures-grid .knockout-final-card .fixture-group {
    color: #ffc107;
}

.fixtures-grid .knockout-final-card .fixture-number {
    color: #ffd45c;
}


/* Final footer */

.fixtures-grid .knockout-final-card .fixture-meta {
    color: rgba(255,255,255,.85);
}

.fixtures-grid .knockout-final-card .fixture-meta i {
    color: #ffc107;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 992px) {

    .fixtures-grid .knockout-card,
    .fixtures-grid .knockout-final-card {
        height: auto !important;
        min-height: 0 !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .fixtures-grid .knockout-card,
    .fixtures-grid .knockout-final-card {

        height: auto !important;
        min-height: 0 !important;

    }

}

/* =========================================================
   RESULTS SECTION - FIXED LAYOUT
========================================================= */

.results-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 5px 2px 15px;
}


/* Result Card */
.result-card {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}


/* Result Header */
.result-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}


/* Team Row */
.result-team-row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
    box-sizing: border-box;
}


/* Team Name Area */
.result-team-name {
    min-width: 0;
    flex: 1;

    display: flex;
    align-items: center;
    gap: 12px;
}


/* Team Logo */
.result-team-name img {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;

    object-fit: contain;
}


/* Team Name */
.result-team-name strong {
    min-width: 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Score */
.result-score {
    flex: 0 0 auto;

    min-width: 52px;

    text-align: right;
    white-space: nowrap;
}


/* Result Footer */
.result-footer {
    display: flex;
    align-items: center;
    gap: 8px;

    width: 100%;
    box-sizing: border-box;

    overflow: hidden;
}


.result-footer span {
    min-width: 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Grand Final Trophy */
.result-trophy {
    flex: 0 0 auto;
    font-size: 1.15rem;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .result-team-row {
        gap: 10px;
    }

    .result-team-name {
        gap: 9px;
    }

    .result-team-name img {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .result-team-name strong {
        font-size: 0.88rem;
    }

    .result-score {
        min-width: 45px;
        font-size: 0.9rem;
    }

    .result-footer {
        font-size: 0.72rem;
    }
}
/* =========================================================
   RESULTS - WINNING TEAM
========================================================= */

.result-team-row.winning-team {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    min-width: 0;

    gap: 16px;

    margin: 4px 0;
    padding: 10px 12px;

    box-sizing: border-box;

    background: rgba(217, 164, 65, 0.10);

    border-left: 4px solid #d9a441;

    border-radius: 10px;
}


/* Winner Team Name */
.winning-team .result-team-name {
    min-width: 0;
    flex: 1;

    display: flex;
    align-items: center;

    gap: 10px;
}


/* Winner Name */
.winning-team .result-team-name strong {
    font-weight: 800;

    min-width: 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Winner Score */
.winning-team .result-score {
    flex: 0 0 auto;

    font-weight: 900;

    white-space: nowrap;
}


/* Winner Badge */
.winner-badge {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 4px 8px;

    border-radius: 50px;

    background: #d9a441;
    color: #ffffff;

    font-size: 0.58rem;
    font-weight: 800;

    letter-spacing: 0.04em;

    white-space: nowrap;
}


/* Winner Logo */
.winning-team img {
    filter: drop-shadow(
        0 3px 6px rgba(217, 164, 65, 0.35)
    );
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .result-team-row.winning-team {
        gap: 8px;
        padding: 8px 9px;
    }

    .winner-badge {
        padding: 3px 6px;
        font-size: 0.5rem;
    }

}