/* ==========================================================
   MEDIA.CSS
   Rising Sons Africa
========================================================== */


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

.media-hero{
    position:relative;
    min-height:65vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    background:
        linear-gradient(rgba(0,0,0,.60), rgba(0,0,0,.60)),
        url("/static/images/branding/media.jpg") center/cover no-repeat;
}

.media-hero .container{
    max-width:850px;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    padding:.65rem 1.5rem;
    margin-bottom:1.5rem;
    border-radius:50px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(10px);
    color:#FFD166;
    font-weight:700;
    letter-spacing:.6px;
    text-shadow:0 2px 8px rgba(0,0,0,.45);
}

.media-hero h1{
    margin-bottom:1.2rem;
    font-size:clamp(2.8rem,5vw,4.2rem);
    color:#FFFFFF;
    font-weight:800;
    text-shadow:
        0 4px 20px rgba(0,0,0,.65),
        0 2px 8px rgba(0,0,0,.45);
}

.media-hero p{
    max-width:720px;
    margin:0 auto;
    line-height:1.9;
    font-size:1.1rem;
    color:#FFF8E8;
    text-shadow:
        0 2px 12px rgba(0,0,0,.60);
}

/* ==========================================================
   GENERAL
========================================================== */

.section{
    padding:5rem 0;
}

.section-light{
    background:#f8fafc;
}

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

.section-header h2{
    margin-bottom:1rem;
}

.section-header p{
    color:#64748b;
    line-height:1.8;
}


/* ==========================================================
   FEATURED MEDIA
========================================================== */

.featured-media{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:3rem;
    align-items:center;
}

.featured-preview{
    border-radius:18px;
    overflow:hidden;
    background:#000;
    box-shadow:0 18px 45px rgba(0,0,0,.15);
}

.featured-preview img,
.featured-preview video{
    width:100%;
    display:block;
}

.featured-content h2{
    margin:1rem 0;
}

.featured-content p{
    line-height:1.8;
    color:#64748b;
}

.media-tag{
    display:inline-block;
    padding:.55rem 1.1rem;
    border-radius:30px;
    background:#2563eb;
    color:#fff;
    font-size:.85rem;
    font-weight:600;
}


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

.gallery-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
}

.stat-card{
    padding:2rem;
    background:#fff;
    text-align:center;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(15,23,42,.08);
}

.stat-card h2{
    color:#2563eb;
    font-size:2.8rem;
    margin-bottom:.5rem;
}

.stat-card span{
    color:#64748b;
}


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

.media-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:2rem;
}

.media-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(15,23,42,.08);
    transition:.35s;
}

.media-card:hover{
    transform:translateY(-8px);
}

.media-preview{
    background:#000;
    overflow:hidden;
}

.media-preview img{
    width:100%;
    height:260px;
    object-fit:cover;
    transition:.4s;
}

.media-card:hover img{
    transform:scale(1.05);
}

.media-preview video{
    width:100%;
    display:block;
}

.media-content{
    padding:1.5rem;
}

.media-content h3{
    margin-bottom:.8rem;
}

.media-content p{
    color:#64748b;
    line-height:1.8;
}


/* ==========================================================
   EMPTY STATE
========================================================== */

.empty-state{
    max-width:650px;
    margin:auto;
    text-align:center;
}

.empty-state i{
    font-size:5rem;
    color:#2563eb;
    margin-bottom:1.5rem;
}

.empty-state h2{
    margin-bottom:1rem;
}

.empty-state p{
    color:#64748b;
    line-height:1.8;
}


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

.media-cta{
    padding:5rem 0;
    background:#0f172a;
    color:#fff;
    text-align:center;
}

.media-cta h2{
    margin-bottom:1rem;
}

.media-cta p{
    max-width:720px;
    margin:0 auto 2rem;
    color:#cbd5e1;
    line-height:1.8;
}


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

@media (max-width:992px){

    .featured-media{
        grid-template-columns:1fr;
    }

}

@media (max-width:768px){

    .media-hero{
        min-height:55vh;
        padding:4rem 0;
    }

    .gallery-stats{
        grid-template-columns:1fr;
    }

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

    .media-preview img{
        height:220px;
    }

}