/*====================================================
DIAMOND AREA CDC - YOUTH PAGE
PART 1 - HERO SECTION
====================================================*/

/* RESET */

.youth-hero *,
.youth-hero *::before,
.youth-hero *::after{
    box-sizing:border-box;
}


/*=====================================
YOUTH HERO
======================================*/

.youth-hero{

    position:relative;
    overflow:hidden;

    background:
    linear-gradient(135deg,#0B6E3E 0%,#0A5D36 45%,#084E2D 100%);

    padding:120px 0 80px;

}


/*=====================================
OVERLAY
======================================*/

.hero-overlay{

    position:absolute;
    inset:0;

    background:

    radial-gradient(circle at top right,
    rgba(255,255,255,.08),
    transparent 38%),

    radial-gradient(circle at bottom left,
    rgba(255,255,255,.05),
    transparent 35%);

}


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

.hero-container{

    position:relative;
    z-index:5;

    display:grid;
    grid-template-columns:1.05fr .95fr;

    gap:70px;

    align-items:center;

}


/*=====================================
LEFT CONTENT
======================================*/

.hero-content{

    color:#fff;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

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

    padding:12px 22px;

    border-radius:50px;

    backdrop-filter:blur(10px);

    font-size:.92rem;

    font-weight:600;

    margin-bottom:30px;

}

.hero-badge i{

    color:#FFD54D;

}

.hero-content h1{

    font-size:4.3rem;

    line-height:1.05;

    font-weight:800;

    color:#fff;

    margin-bottom:25px;

}

.hero-content h1 span{

    display:block;

    color:#FFD54D;

}

.hero-content p{

    max-width:620px;

    font-size:1.08rem;

    line-height:1.9;

    color:rgba(255,255,255,.94);

    margin-bottom:35px;

}


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

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

}

.hero-buttons a{

    text-decoration:none;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:15px 34px;

    border-radius:50px;

    font-weight:700;

    transition:.35s ease;

}

.hero-buttons .btn-primary{

    background:#FFD54D;

    color:#0B6E3E;

    box-shadow:0 18px 40px rgba(0,0,0,.18);

}

.hero-buttons .btn-primary:hover{

    transform:translateY(-5px);

}

.hero-buttons .btn-outline{

    border:2px solid rgba(255,255,255,.75);

    color:#fff;

    background:transparent;

}

.hero-buttons .btn-outline:hover{

    background:#fff;

    color:#0B6E3E;

}


/*=====================================
RIGHT IMAGE
======================================*/

.hero-image{

    display:flex;

    justify-content:flex-end;

}

.hero-image-box{

    width:100%;

    max-width:560px;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 30px 70px rgba(0,0,0,.28);

}

.hero-image-box img{

    width:100%;

    display:block;

    object-fit:cover;

}


/*=====================================
FLOAT ANIMATION
======================================*/

.hero-image-box{

    animation:heroFloat 6s ease-in-out infinite;

}

@keyframes heroFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}


/*=====================================
DECORATIVE CIRCLES
======================================*/

.hero-circle{

    position:absolute;

    border-radius:50%;

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

}

.hero-circle-one{

    width:320px;

    height:320px;

    top:-130px;

    right:-130px;

}

.hero-circle-two{

    width:220px;

    height:220px;

    left:-80px;

    bottom:110px;

}


/*=====================================
BOTTOM WAVE
======================================*/

.hero-wave{

    position:absolute;

    left:0;

    bottom:-2px;

    width:100%;

    line-height:0;

}

.hero-wave svg{

    display:block;

    width:100%;

    height:55px;

}

.hero-wave path{

    fill:#F8F9FB;

}


/*=====================================
TABLET
======================================*/

@media(max-width:991px){

.hero-container{

grid-template-columns:1fr;

text-align:center;

gap:45px;

}

.hero-content p{

margin:0 auto 35px;

}

.hero-buttons{

justify-content:center;

}

.hero-image{

justify-content:center;

}

.hero-content h1{

font-size:3.4rem;

}

.hero-image-box{

max-width:500px;

}

}


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

@media(max-width:768px){

.youth-hero{

padding:95px 0 70px;

}

.hero-content h1{

font-size:2.6rem;

}

.hero-content p{

font-size:1rem;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons a{

width:100%;

}

.hero-image-box{

max-width:400px;

}

.hero-wave svg{

height:40px;

}

}


@media(max-width:480px){

.hero-content h1{

font-size:2.2rem;

}

.hero-badge{

font-size:.8rem;

padding:10px 18px;

}

}


/*====================================================
COMMON SECTION HEADER
====================================================*/

.section-header{
    max-width:760px;
    margin:0 auto 70px;
    text-align:center;
}

.section-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 22px;
    border-radius:50px;
    background:rgba(0,166,81,.08);
    color:#00A651;
    font-size:.85rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:20px;
}

.section-badge i{
    font-size:.95rem;
}

.section-header h2{
    font-size:2.7rem;
    color:#0B2242;
    font-weight:800;
    margin-bottom:20px;
}

.section-header p{
    color:#6B7280;
    font-size:1.05rem;
    line-height:1.9;
}


/*====================================================
TABLET
====================================================*/

@media(max-width:991px){

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

.section-header h2{
    font-size:2.3rem;
}

}


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

@media(max-width:768px){

.highlights{
    padding:70px 0;
}

.highlights-grid{
    grid-template-columns:1fr;
    gap:25px;
}

.highlight-item{
    padding:30px 25px;
}

.section-header{
    margin-bottom:55px;
}

.section-header h2{
    font-size:2rem;
}

.section-header p{
    font-size:1rem;
}

}

@media(max-width:480px){

.highlight-icon{
    width:65px;
    height:65px;
    font-size:24px;
}

.section-header h2{
    font-size:1.75rem;
}

}
/*====================================================
PART 3 - OUR CORE PROGRAMMES
====================================================*/

.programmes{
    padding:100px 0;
    background:#F5F7FA;
}

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

.programme-card{
    background:#fff;
    border-radius:22px;
    padding:40px 30px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.35s ease;
    border-top:5px solid transparent;
    height:100%;
}

.programme-card:hover{
    transform:translateY(-12px);
    border-top-color:#00A651;
    box-shadow:0 25px 55px rgba(0,0,0,.13);
}

.programme-icon{
    width:90px;
    height:90px;
    margin:0 auto 25px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#E8F5EE;
    color:#00A651;
    font-size:2.2rem;
    transition:.45s ease;
}

.programme-card:hover .programme-icon{
    background:#00A651;
    color:#fff;
    transform:rotateY(180deg);
}

.programme-card h3{
    font-size:1.35rem;
    color:#0B2242;
    margin-bottom:18px;
    font-weight:700;
}

.programme-card p{
    color:#6B7280;
    line-height:1.9;
    font-size:.98rem;
}


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

.programmes .section-header{
    margin-bottom:70px;
}


/*====================================================
LARGE SCREENS
====================================================*/

@media(max-width:1200px){

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

}


/*====================================================
TABLET
====================================================*/

@media(max-width:991px){

.programmes{
    padding:90px 0;
}

.programme-card{
    padding:35px 28px;
}

.programme-icon{
    width:84px;
    height:84px;
    font-size:2rem;
}

}


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

@media(max-width:768px){

.programmes{
    padding:75px 0;
}

.programme-grid{
    grid-template-columns:1fr;
    gap:25px;
}

.programme-card{
    padding:35px 25px;
}

.programme-card h3{
    font-size:1.25rem;
}

.programme-card p{
    font-size:.96rem;
}

}


@media(max-width:480px){

.programme-icon{
    width:72px;
    height:72px;
    font-size:1.7rem;
}

.programme-card{
    border-radius:18px;
}

}
/*====================================================
PART 4 - FOOTBALL IMPACT
====================================================*/

.football-impact{
    padding:110px 0;
    background:#ffffff;
}

.football-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

/*=====================================
IMAGE
======================================*/

.football-image{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    box-shadow:0 25px 60px rgba(0,0,0,.15);
}

.football-image img{
    display:block;
    width:100%;
    height:540px;
    object-fit:cover;
    transition:.6s ease;
}

.football-image:hover img{
    transform:scale(1.08);
}


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

.football-content .section-badge{
    margin-bottom:18px;
}

.football-content h2{
    font-size:2.8rem;
    color:#0B2242;
    font-weight:800;
    line-height:1.2;
    margin-bottom:25px;
}

.football-content p{
    color:#6B7280;
    line-height:1.9;
    font-size:1rem;
    margin-bottom:22px;
}


/*=====================================
STATS
======================================*/

.impact-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
    margin:45px 0;
}

.impact-box{
    background:#F7F9FC;
    border-radius:18px;
    padding:28px;
    text-align:center;
    border:1px solid #E5EAF0;
    transition:.35s ease;
}

.impact-box:hover{
    transform:translateY(-8px);
    border-color:#00A651;
    box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.impact-box h3{
    font-size:2rem;
    color:#00A651;
    font-weight:800;
    margin-bottom:10px;
}

.impact-box span{
    color:#6B7280;
    font-weight:600;
    font-size:.95rem;
}


/*=====================================
BUTTON
======================================*/

.football-content .btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    text-decoration:none;

    background:#00A651;
    color:#ffffff;

    padding:15px 36px;

    border-radius:50px;

    font-weight:700;

    transition:.35s ease;

    box-shadow:0 15px 35px rgba(0,166,81,.25);
}

.football-content .btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:0 22px 45px rgba(0,166,81,.35);

}


/*=====================================
TABLET
======================================*/

@media(max-width:991px){

.football-grid{

grid-template-columns:1fr;

gap:60px;

}

.football-content{

text-align:center;

}

.football-content h2{

font-size:2.3rem;

}

.football-image{

max-width:700px;

margin:auto;

}

}


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

@media(max-width:768px){

.football-impact{

padding:80px 0;

}

.football-image img{

height:auto;

}

.impact-stats{

grid-template-columns:1fr;

gap:18px;

}

.football-content h2{

font-size:2rem;

}

.football-content .btn-primary{

width:100%;

}

}


@media(max-width:480px){

.football-content h2{

font-size:1.7rem;

}

.impact-box{

padding:22px;

}

.impact-box h3{

font-size:1.7rem;

}

}
/*====================================================
PART 5 - ACTIVITY GALLERY
====================================================*/

.activity-gallery{
    padding:110px 0;
    background:#F5F7FA;
}


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

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}


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

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    background:#fff;

    aspect-ratio:4/3;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    cursor:pointer;

}


/*=====================================
IMAGE
======================================*/

.gallery-item img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:transform .65s ease;

}

.gallery-item:hover img{

    transform:scale(1.08);

}


/*=====================================
OVERLAY
======================================*/

.gallery-item::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(

        to top,

        rgba(0,0,0,.55),

        rgba(0,0,0,.05)

    );

    opacity:0;

    transition:.4s ease;

    z-index:1;

}

.gallery-item:hover::before{

    opacity:1;

}


/*=====================================
TEXT
======================================*/

.gallery-item::after{

    content:"View Activity";

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    color:#fff;

    font-size:1rem;

    font-weight:700;

    letter-spacing:.5px;

    opacity:0;

    transition:.35s ease;

    z-index:2;

}

.gallery-item:hover::after{

    opacity:1;

}


/*=====================================
SUBTLE BORDER EFFECT
======================================*/

.gallery-item::selection{

    background:transparent;

}

.gallery-item:hover{

    box-shadow:

    0 25px 55px rgba(0,0,0,.15);

}


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

.activity-gallery .section-header{

    margin-bottom:70px;

}


/*=====================================
TABLET
======================================*/

@media(max-width:991px){

.gallery-grid{

grid-template-columns:repeat(2,1fr);

gap:24px;

}

}


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

@media(max-width:768px){

.activity-gallery{

padding:80px 0;

}

.gallery-grid{

grid-template-columns:1fr;

gap:22px;

}

.gallery-item{

border-radius:18px;

}

.gallery-item::after{

font-size:.95rem;

}

}


@media(max-width:480px){

.gallery-item{

border-radius:16px;

}

}
/*====================================================
PART 6 - JOIN CTA & FINAL RESPONSIVE
====================================================*/

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

.join-cta{
    position:relative;
    overflow:hidden;
    padding:110px 0;
    background:linear-gradient(135deg,#0B6E3E 0%,#00A651 100%);
    color:#fff;
}

.join-cta::before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    top:-150px;
    right:-120px;
}

.join-cta::after{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
    bottom:-90px;
    left:-90px;
}

.join-content{
    position:relative;
    z-index:2;
    max-width:900px;
    margin:auto;
    text-align:center;
}

.join-cta .section-badge{
    background:rgba(255,255,255,.16);
    color:#fff;
}

.join-cta .section-badge i{
    color:#FFD54D;
}

.join-content h2{
    font-size:2.9rem;
    font-weight:800;
    margin:20px 0;
    color:#fff;
}

.join-content p{
    max-width:700px;
    margin:0 auto 45px;
    line-height:1.9;
    color:rgba(255,255,255,.94);
    font-size:1.08rem;
}


/*=====================================
FEATURE LIST
======================================*/

.join-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-bottom:45px;
}

.join-feature{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    background:rgba(255,255,255,.12);
    border-radius:14px;
    padding:16px 20px;
    backdrop-filter:blur(8px);
}

.join-feature i{
    color:#FFD54D;
    font-size:1.1rem;
}

.join-feature span{
    font-weight:600;
}


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

.join-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.join-buttons a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none;
    padding:15px 34px;
    border-radius:50px;
    font-weight:700;
    transition:.35s ease;
    min-width:210px;
}

.join-buttons .btn-primary{
    background:#fff;
    color:#0B6E3E;
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.join-buttons .btn-primary:hover{
    transform:translateY(-5px);
}

.join-buttons .btn-outline{
    border:2px solid rgba(255,255,255,.8);
    color:#fff;
    background:transparent;
}

.join-buttons .btn-outline:hover{
    background:#fff;
    color:#0B6E3E;
}


/*=====================================
GENERAL LINK FIXES
======================================*/

.btn-primary,
.btn-outline{
    text-decoration:none;
}


/*=====================================
RESPONSIVE
======================================*/

@media(max-width:991px){

.join-content h2{
    font-size:2.4rem;
}

.join-features{
    gap:16px;
}

}


@media(max-width:768px){

.join-cta{
    padding:85px 0;
}

.join-content h2{
    font-size:2rem;
}

.join-content p{
    font-size:1rem;
}

.join-features{
    grid-template-columns:1fr;
}

.join-buttons{
    flex-direction:column;
    align-items:center;
}

.join-buttons a{
    width:100%;
    max-width:320px;
}

}


@media(max-width:480px){

.join-content h2{
    font-size:1.8rem;
}

.join-feature{
    padding:15px;
}

}


/*====================================================
FINAL PAGE SPACING
====================================================*/

section{
    position:relative;
}

img{
    max-width:100%;
    display:block;
}

html{
    scroll-behavior:smooth;
}
/*=====================================
HERO TOP SPACING FIX
======================================*/

.youth-hero{
    padding-top: 70px !important;
}

.hero-container{
    align-items: center !important;
}

@media(max-width:768px){

    .youth-hero{
        padding-top: 55px !important;
    }

}
/*=====================================
FINAL HERO COMPACT FIX
======================================*/

.youth-hero{
    padding-top:50px !important;
    padding-bottom:45px !important;
}

.hero-badge{
    margin-bottom:18px !important;
}

.hero-content h1{
    margin-bottom:15px !important;
    line-height:1.02 !important;
}

.hero-content p{
    margin-bottom:22px !important;
}

.hero-buttons{
    margin-top:0 !important;
}

.hero-wave svg{
    height:38px !important;
}

@media (max-width:768px){

    .youth-hero{
        padding-top:70px !important;
        padding-bottom:55px !important;
    }

}
/*=====================================
FINAL HERO BALANCE
======================================*/

.hero-content h1{
    font-size:3.7rem !important;
    line-height:1.05 !important;
    margin-bottom:12px !important;
    max-width:620px;
}

.hero-content p{
    font-size:1rem !important;
    line-height:1.7 !important;
    max-width:560px;
    margin-bottom:18px !important;
}

.hero-buttons{
    margin-top:0 !important;
}

.hero-image-box{
    max-width:600px !important;
}
/*====================================================
PREMIUM INTERACTIONS & ANIMATIONS
====================================================*/

/* Smooth scrolling */
html{
    scroll-behavior:smooth;
}


/*----------------------------------------------------
Floating Hero Circles
----------------------------------------------------*/

.hero-circle-one{
    animation:floatCircle1 18s ease-in-out infinite;
}

.hero-circle-two{
    animation:floatCircle2 15s ease-in-out infinite;
}

@keyframes floatCircle1{

    0%,100%{
        transform:translateY(0) rotate(0deg);
    }

    50%{
        transform:translateY(-25px) rotate(10deg);
    }

}

@keyframes floatCircle2{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(20px);
    }

}


/*----------------------------------------------------
Hero Image
----------------------------------------------------*/

.hero-image-box{

    transition:.6s ease;

}

.hero-image-box:hover{

    transform:translateY(-8px) scale(1.02);

    box-shadow:0 35px 70px rgba(0,0,0,.28);

}


/*----------------------------------------------------
Hero Buttons
----------------------------------------------------*/

.hero-buttons a{

    position:relative;

    overflow:hidden;

}

.hero-buttons a::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:60%;

    height:100%;

    background:

    linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transition:.7s;

}

.hero-buttons a:hover::before{

    left:160%;

}


/*----------------------------------------------------
Highlight Cards
----------------------------------------------------*/

.highlight-item{

    transition:

    transform .35s,

    box-shadow .35s,

    border-color .35s;

}

.highlight-item:hover{

    transform:translateY(-12px);

    box-shadow:

    0 20px 45px rgba(0,166,81,.12);

}

.highlight-item:hover .highlight-icon{

    transform:rotate(360deg) scale(1.08);

}


/*----------------------------------------------------
Programme Cards
----------------------------------------------------*/

.programme-card{

    overflow:hidden;

    position:relative;

}

.programme-card::before{

    content:"";

    position:absolute;

    left:-100%;

    top:0;

    width:70%;

    height:100%;

    background:

    linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transition:.8s;

}

.programme-card:hover::before{

    left:160%;

}


/*----------------------------------------------------
Football Image Shine
----------------------------------------------------*/

.football-image{

    position:relative;

}

.football-image::after{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:45%;

    height:100%;

    background:

    linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transition:.9s;

}

.football-image:hover::after{

    left:150%;

}


/*----------------------------------------------------
Statistics Cards
----------------------------------------------------*/

.impact-box{

    transition:.35s ease;

}

.impact-box:hover{

    transform:translateY(-10px) scale(1.04);

}


/*----------------------------------------------------
Gallery Images
----------------------------------------------------*/

.gallery-item{

    transition:.45s ease;

}

.gallery-item:hover{

    transform:translateY(-8px);

    box-shadow:

    0 28px 55px rgba(0,0,0,.18);

}


/*----------------------------------------------------
CTA Buttons
----------------------------------------------------*/

.join-buttons a{

    position:relative;

    overflow:hidden;

}

.join-buttons a::before{

    content:"";

    position:absolute;

    left:-120%;

    top:0;

    width:60%;

    height:100%;

    background:

    linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transition:.8s;

}

.join-buttons a:hover::before{

    left:170%;

}


/*----------------------------------------------------
CTA Background Shapes
----------------------------------------------------*/

.join-cta::before{

    animation:floatCTA1 16s ease-in-out infinite;

}

.join-cta::after{

    animation:floatCTA2 20s ease-in-out infinite;

}

@keyframes floatCTA1{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-25px);

    }

}

@keyframes floatCTA2{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(20px);

    }

}


/*----------------------------------------------------
Section Headings
----------------------------------------------------*/

.section-header h2{

    transition:.35s ease;

}

.section-header:hover h2{

    letter-spacing:.5px;

}
/*====================================================
LAYOUT REFINEMENT AFTER REMOVING HIGHLIGHTS
====================================================*/

/* Bring the first section closer to the Hero */
.programmes{
    padding-top:65px !important;
    padding-bottom:90px;
}

/* Improve section heading spacing */
.programmes .section-header{
    margin-bottom:55px;
}

.programmes .section-badge{
    margin-bottom:12px;
}

.programmes .section-header h2{
    margin-bottom:18px;
}

/* Premium Programme Cards */
.programme-card{
    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.programme-card:hover{
    transform:translateY(-12px);
    border-color:#00A651;
    box-shadow:0 25px 55px rgba(0,166,81,.15);
}

/* Smooth icon animation */
.programme-card i{
    transition:transform .35s ease, color .35s ease;
}

.programme-card:hover i{
    transform:scale(1.15) rotate(8deg);
    color:#00A651;
}
/*=========================================
SHOW FULL FOOTBALL TEAM IMAGE
=========================================*/

.football-image img{

    width:100% !important;
    height:auto !important;

    object-fit:contain !important;
    object-position:center center !important;

    display:block;

}
/*=========================================
FOOTBALL SECTION - MINT GREEN BACKGROUND
=========================================*/

.football-impact{
    position:relative;
    background:linear-gradient(180deg,#F3FCF7 0%, #ECF9F1 100%);
    padding:90px 0;
    overflow:hidden;
}

/* Decorative background circles */

.football-impact::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    top:-180px;
    right:-180px;
    border-radius:50%;
    background:rgba(11,110,62,.05);
}

.football-impact::after{
    content:"";
    position:absolute;
    width:240px;
    height:240px;
    bottom:-100px;
    left:-100px;
    border-radius:50%;
    background:rgba(255,193,7,.08);
}

/* Keep content above decorations */

.football-impact .container{
    position:relative;
    z-index:2;
}
/*====================================================
FINAL PREMIUM POLISH
(Add at the VERY END of youth.css)
====================================================*/


/*=========================================
1. FOOTBALL SECTION
=========================================*/

.football-impact{
    position:relative;
    background:linear-gradient(135deg,#F5FFF8 0%,#EDF9F2 60%,#FDFCF6 100%);
    overflow:hidden;
}

.football-impact::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    top:-180px;
    right:-180px;
    border-radius:50%;
    background:rgba(11,110,62,.05);
}

.football-impact::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    left:-80px;
    bottom:-80px;
    border-radius:50%;
    background:rgba(255,193,7,.08);
}

.football-impact .container{
    position:relative;
    z-index:2;
}


/*=========================================
2. FOOTBALL IMAGE
=========================================*/

.football-image{

    border-radius:24px;
    overflow:hidden;
    box-shadow:0 25px 60px rgba(0,0,0,.15);

    transition:.5s;
}

.football-image:hover{

    transform:translateY(-8px);

}

.football-image img{

    transition:.7s;

}

.football-image:hover img{

    transform:scale(1.03);

}


/*=========================================
3. PROGRAMME CARDS
=========================================*/

.programme-card{

    position:relative;
    overflow:hidden;

}

.programme-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:0;
    height:4px;

    background:#D4AF37;

    transition:.4s;

}

.programme-card:hover::before{

    width:100%;

}

.programme-card:hover{

    transform:translateY(-12px);

    box-shadow:0 22px 55px rgba(0,166,81,.15);

}

.programme-icon{

    transition:.4s;

}

.programme-card:hover .programme-icon{

    transform:scale(1.12) rotate(10deg);

}


/*=========================================
4. IMPACT BOXES
=========================================*/

.impact-box{

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

    backdrop-filter:blur(8px);

    border:1px solid rgba(11,110,62,.08);

    transition:.35s;

}

.impact-box:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 35px rgba(0,166,81,.12);

}


/*=========================================
5. GALLERY
=========================================*/

.gallery-item{

    position:relative;

    overflow:hidden;

}

.gallery-item::after{

    content:"View Activity";

    position:absolute;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    background:rgba(11,110,62,.92);

    color:#fff;

    padding:12px 24px;

    border-radius:40px;

    font-size:.9rem;

    font-weight:600;

    opacity:0;

    transition:.35s;

}

.gallery-item:hover::after{

    opacity:1;

}

.gallery-item img{

    transition:.55s;

}

.gallery-item:hover img{

    transform:scale(1.08);

    filter:brightness(.72);

}


/*=========================================
6. SECTION HEADINGS
=========================================*/

.section-header{

    position:relative;

}

.section-header::after{

    content:"";

    display:block;

    width:70px;

    height:4px;

    margin:25px auto 0;

    background:linear-gradient(to right,#00A651,#D4AF37);

    border-radius:20px;

}


/*=========================================
7. BUTTONS
=========================================*/

.btn-primary,
.btn-outline{

    transition:.35s;

}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 35px rgba(0,166,81,.30);

}

.btn-outline:hover{

    transform:translateY(-4px);

}


/*=========================================
8. FOOTER
=========================================*/

.site-footer{

    border-top:5px solid #D4AF37;

}


/*=========================================
9. SMOOTH SCROLL
=========================================*/

html{

    scroll-behavior:smooth;

}


/*=========================================
10. PREMIUM PAGE BACKGROUNDS
=========================================*/

.programmes{

    position:relative;

}

.programmes::before{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    left:-150px;
    top:100px;

    border-radius:50%;

    background:rgba(0,166,81,.03);

}

.activity-gallery{

    position:relative;

}

.activity-gallery::after{

    content:"";

    position:absolute;

    width:420px;
    height:420px;

    right:-180px;
    bottom:-180px;

    border-radius:50%;

    background:rgba(11,110,62,.04);

}


/*=========================================
11. CTA SECTION
=========================================*/

.join-cta{

    position:relative;

}

.join-cta::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-250px;
    left:-250px;

    border-radius:50%;

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

}
/*====================================================
FINAL PREMIUM POLISH
(PASTE AT THE VERY BOTTOM OF youth.css)
====================================================*/


/*====================================
FOOTBALL SECTION
====================================*/

.football-impact{
    position:relative;
    background:linear-gradient(135deg,#F5FFF8 0%,#EDF9F2 60%,#FDFCF6 100%);
    overflow:hidden;
}

.football-impact::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    top:-180px;
    right:-180px;
    border-radius:50%;
    background:rgba(0,166,81,.05);
}

.football-impact::after{
    content:"";
    position:absolute;
    width:240px;
    height:240px;
    bottom:-100px;
    left:-100px;
    border-radius:50%;
    background:rgba(212,175,55,.08);
}

.football-impact .container{
    position:relative;
    z-index:2;
}


/*====================================
PROGRAMME CARDS
====================================*/

.programme-card{
    position:relative;
    overflow:hidden;
    transition:.4s;
}

.programme-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:4px;
    background:#D4AF37;
    transition:.45s;
}

.programme-card:hover::before{
    width:100%;
}

.programme-card:hover{
    transform:translateY(-12px);
    box-shadow:0 22px 55px rgba(0,166,81,.15);
}

.programme-icon{
    transition:.4s;
}

.programme-card:hover .programme-icon{
    transform:scale(1.15) rotate(8deg);
}


/*====================================
FOOTBALL IMAGE
====================================*/

.football-image{
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 25px 60px rgba(0,0,0,.18);
    transition:.45s;
}

.football-image:hover{
    transform:translateY(-8px);
}

.football-image img{
    transition:.6s;
}

.football-image:hover img{
    transform:scale(1.03);
}


/*====================================
STAT BOXES
====================================*/

.impact-box{
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(10px);
    border:1px solid rgba(0,166,81,.08);
    transition:.35s;
}

.impact-box:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,166,81,.12);
}


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

.gallery-item{
    position:relative;
    overflow:hidden;
}

.gallery-item img{
    transition:.55s;
}

.gallery-item:hover img{
    transform:scale(1.08);
    filter:brightness(.75);
}

.gallery-item::after{
    content:"View Activity";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    background:#0B6E3E;
    color:#fff;
    padding:12px 24px;
    border-radius:40px;
    font-size:.9rem;
    font-weight:600;
    opacity:0;
    transition:.35s;
}

.gallery-item:hover::after{
    opacity:1;
}


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

.section-header::after{
    content:"";
    display:block;
    width:70px;
    height:4px;
    margin:25px auto 0;
    border-radius:20px;
    background:linear-gradient(to right,#00A651,#D4AF37);
}


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

.btn-primary,
.btn-outline{
    transition:.35s;
}

.btn-primary:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 35px rgba(0,166,81,.28);
}

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


/*====================================
BACKGROUND DECORATIONS
====================================*/

.programmes{
    position:relative;
}

.programmes::before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    left:-150px;
    top:80px;
    border-radius:50%;
    background:rgba(0,166,81,.03);
}

.activity-gallery{
    position:relative;
}

.activity-gallery::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-200px;
    bottom:-200px;
    border-radius:50%;
    background:rgba(0,166,81,.04);
}


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

.join-cta{
    position:relative;
}

.join-cta::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    left:-250px;
    top:-250px;
    border-radius:50%;
    background:rgba(255,255,255,.04);
}


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

.site-footer{
    border-top:4px solid #D4AF37;
}


/*====================================
SMOOTH SCROLL
====================================*/

html{
    scroll-behavior:smooth;
}
/*====================================================
RESPONSIVE DESIGN
Diamond Area CDC Youth Page
====================================================*/


/*====================================
TABLETS
====================================*/

@media (max-width:991px){

    .youth-hero{
        padding:90px 0 70px;
    }

    .hero-wrapper{
        grid-template-columns:1fr;
        gap:50px;
        text-align:center;
    }

    .hero-content{
        order:2;
    }

    .hero-image{
        order:1;
    }

    .hero-content h1{
        font-size:3rem;
        line-height:1.15;
    }

    .hero-content p{
        max-width:650px;
        margin:0 auto 25px;
    }

    .hero-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }

    .hero-image-box{
        max-width:650px;
        margin:auto;
    }

    .programmes-grid{
        grid-template-columns:repeat(2,1fr);
        gap:25px;
    }

    .football-content{
        grid-template-columns:1fr;
        gap:50px;
    }

    .football-image{
        max-width:700px;
        margin:auto;
    }

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

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

    .join-wrapper{
        grid-template-columns:1fr;
        text-align:center;
    }

    .join-features{
        justify-content:center;
    }

}


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

@media (max-width:768px){

    section{
        padding:70px 0;
    }

    .youth-hero{
        padding:70px 0 50px;
    }

    .hero-wrapper{
        gap:35px;
    }

    .hero-content h1{

        font-size:2.35rem;
        line-height:1.2;

    }

    .hero-content p{

        font-size:1rem;

    }

    .hero-buttons{

        flex-direction:column;
        align-items:center;
        gap:15px;

    }

    .hero-buttons a{

        width:100%;
        max-width:280px;

    }

    .hero-image-box{

        max-width:100%;

    }

    .section-header h2{

        font-size:2rem;

    }

    .programmes-grid{

        grid-template-columns:1fr;

    }

    .programme-card{

        padding:35px 28px;

    }

    .football-content{

        gap:40px;

    }

    .football-image img{

        height:auto !important;

    }

    .impact-grid{

        grid-template-columns:1fr 1fr;
        gap:18px;

    }

    .impact-box{

        padding:20px;

    }

    .impact-box h3{

        font-size:2rem;

    }

    .gallery-grid{

        grid-template-columns:1fr;

    }

    .gallery-item img{

        height:auto;

    }

    .join-features{

        flex-direction:column;
        gap:20px;

    }

    .join-buttons{

        flex-direction:column;
        align-items:center;

    }

    .join-buttons a{

        width:100%;
        max-width:280px;

    }

}


/*====================================
SMALL PHONES
====================================*/

@media (max-width:576px){

    .container{

        width:92%;

    }

    .hero-badge{

        font-size:.8rem;
        padding:8px 16px;

    }

    .hero-content h1{

        font-size:2rem;

    }

    .hero-content p{

        font-size:.95rem;

    }

    .section-badge{

        font-size:.8rem;

    }

    .section-header h2{

        font-size:1.75rem;

    }

    .programme-card{

        padding:30px 24px;

    }

    .programme-icon{

        width:70px;
        height:70px;
        font-size:1.6rem;

    }

    .football-image{

        border-radius:18px;

    }

    .impact-grid{

        grid-template-columns:1fr;

    }

    .impact-box{

        padding:25px;

    }

    .impact-box h3{

        font-size:2.2rem;

    }

    .gallery-item{

        border-radius:18px;

    }

    .gallery-item img{

        border-radius:18px;

    }

    .join-feature{

        flex-direction:column;
        text-align:center;

    }

    .btn-primary,
    .btn-outline{

        width:100%;

    }

}


/*====================================
EXTRA SMALL DEVICES
====================================*/

@media (max-width:400px){

    .hero-content h1{

        font-size:1.75rem;

    }

    .section-header h2{

        font-size:1.5rem;

    }

    .programme-card{

        padding:25px 20px;

    }

    .impact-box{

        padding:20px;

    }

}
/*=========================================
MOBILE HERO TITLE FIX
=========================================*/

@media (max-width:768px){

    .hero-content h1{
        font-size:2.15rem !important;
        line-height:1.25;
        letter-spacing:-0.5px;
    }

}

@media (max-width:480px){

    .hero-content h1{
        font-size:1.9rem !important;
        line-height:1.25;
    }

}