/*====================================================
HOMEPAGE
Part 1
====================================================*/

/* ==========================
STATISTICS
========================== */

.statistics{
    background:#fff;
    margin-top:-70px;
    position:relative;
    z-index:10;
}

.stat-card{
    background:#fff;
    border-radius:20px;
    padding:45px 25px;
    text-align:center;
    box-shadow:var(--shadow);
    transition:.4s;
    height:100%;
}

.stat-card:hover{
    transform:translateY(-10px);
    box-shadow:var(--shadow-lg);
}

.stat-card i{
    font-size:48px;
    color:var(--secondary);
    margin-bottom:20px;
}

.stat-card h2{
    color:var(--primary);
    margin-bottom:10px;
}

.stat-card p{
    margin:0;
    font-weight:500;
}

/* ==========================
COUNTDOWN
========================== */

.festival-countdown{
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
    color:#fff;
}

.festival-countdown h2,
.festival-countdown p{
    color:#fff;
}

.countdown-box{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.time-box{
    width:120px;
    height:120px;
    border-radius:20px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.time-box span{
    font-size:40px;
    font-weight:700;
}

.time-box small{
    text-transform:uppercase;
    letter-spacing:1px;
}

/* ==========================
ABOUT
========================== */

.about-home img{
    border-radius:25px;
}

.mini-feature{
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:600;
}

.mini-feature i{
    color:var(--secondary);
    font-size:22px;
}

/* ==========================
HIGHLIGHTS
========================== */

.festival-highlights{
    background:var(--sand);
}

.highlight-card{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    box-shadow:var(--shadow);
}

.highlight-card img{
    width:100%;
    height:420px;
    object-fit:cover;
    transition:.5s;
}

.highlight-card:hover img{
    transform:scale(1.1);
}

.highlight-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:35px;
    color:#fff;
    background:linear-gradient(
        transparent,
        rgba(0,0,0,.85)
    );
}

.highlight-content i{
    font-size:34px;
    color:var(--secondary);
}

.highlight-content h4{
    color:#fff;
    margin:15px 0;
}

.highlight-content p{
    margin:0;
}

/* ==========================
WHY ARUSHA
========================== */

.destination-features{
    margin-top:35px;
}

.destination-item{
    display:flex;
    gap:20px;
    margin-bottom:35px;
}

.destination-item i{
    width:70px;
    height:70px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    flex-shrink:0;
}

.destination-item h5{
    margin-bottom:10px;
}

/* ==========================
EXPERIENCE TANZANIA
========================== */

.experience{
    background:#fff;
}

.destination-card{
    position:relative;
    overflow:hidden;
    border-radius:22px;
}

.destination-card img{
    width:100%;
    height:420px;
    object-fit:cover;
    transition:.5s;
}

.destination-card:hover img{
    transform:scale(1.12);
}

.destination-overlay{
    position:absolute;
    inset:0;
    display:flex;
    justify-content:flex-end;
    flex-direction:column;
    padding:30px;
    color:#fff;
    background:linear-gradient(
        transparent,
        rgba(0,0,0,.8)
    );
}

.destination-overlay h4{
    color:#fff;
}

/*====================================================
HOMEPAGE
Part 2
====================================================*/

/* ==========================
PROGRAMME TIMELINE
========================== */

.programme{
    background:var(--sand);
}

.timeline{
    max-width:900px;
    margin:60px auto 0;
    position:relative;
}

.timeline::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    bottom:0;
    width:4px;
    background:var(--secondary);
    transform:translateX(-50%);
}

.timeline-item{
    position:relative;
    display:flex;
    align-items:center;
    margin-bottom:60px;
}

.timeline-item:nth-child(even){
    flex-direction:row-reverse;
}

.timeline-day{
    width:120px;
    height:120px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    font-weight:700;
    flex-shrink:0;
    z-index:2;
    box-shadow:var(--shadow);
}

.timeline-content{
    flex:1;
    margin:0 40px;
    background:#fff;
    padding:30px;
    border-radius:18px;
    box-shadow:var(--shadow);
}

.timeline-content h4{
    margin-bottom:15px;
}

/* ==========================
FEATURED ARTISTS
========================== */

.featured-artists{
    background:#fff;
}

.artist-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.4s;
}

.artist-card:hover{
    transform:translateY(-10px);
    box-shadow:var(--shadow-lg);
}

.artist-card img{
    width:100%;
    height:340px;
    object-fit:cover;
    transition:.4s;
}

.artist-card:hover img{
    transform:scale(1.08);
}

.artist-info{
    padding:25px;
}

.artist-info span{
    display:inline-block;
    color:var(--secondary);
    font-weight:600;
    margin-bottom:10px;
}

.artist-info h4{
    margin-bottom:10px;
}

.artist-info p{
    margin:0;
}

/* ==========================
COUNTRIES
========================== */

.countries{
    background:var(--primary);
    color:#fff;
}

.countries h2,
.countries p{
    color:#fff;
}

.country-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:20px;
    margin-top:60px;
}

.country-grid span{
    background:rgba(255,255,255,.12);
    border-radius:50px;
    padding:18px;
    text-align:center;
    font-weight:600;
    backdrop-filter:blur(10px);
    transition:.3s;
}

.country-grid span:hover{
    background:var(--secondary);
    color:#222;
    transform:translateY(-5px);
}

/* ==========================
GALLERY
========================== */

.gallery-home{
    background:#fff;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.gallery-grid img{
    width:100%;
    height:280px;
    object-fit:cover;
    border-radius:18px;
    transition:.4s;
    cursor:pointer;
}

.gallery-grid img:hover{
    transform:scale(1.05);
    box-shadow:var(--shadow-lg);
}

/* ==========================
PARTNERS
========================== */
/*====================================================
PARTNER SLIDER
====================================================*/

.partners{

background:var(--sand);

overflow:hidden;

}

.partner-slider{

display:flex;

align-items:center;

gap:60px;

width:max-content;

margin-top:60px;

will-change:transform;

}

.partner-slider img{

width:180px;

height:90px;

object-fit:contain;

filter:grayscale(100%);

opacity:.7;

transition:.35s;

flex-shrink:0;

}

.partner-slider img:hover{

filter:none;

opacity:1;

transform:scale(1.08);

}

@media(max-width:768px){

.partner-slider img{

width:120px;

height:70px;

}

}

/*====================================================
HOMEPAGE
Part 3
====================================================*/

/* ==========================
LATEST NEWS
========================== */

.latest-news{
    background:#fff;
}

.news-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.35s ease;
    height:100%;
}

.news-card:hover{
    transform:translateY(-10px);
    box-shadow:var(--shadow-lg);
}

.news-card img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.news-content{
    padding:28px;
}

.news-date{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--secondary);
    font-weight:600;
    margin-bottom:15px;
}

.news-content h4{
    margin-bottom:15px;
}

.news-content a{
    color:var(--primary);
    font-weight:600;
}

.news-content a:hover{
    color:var(--secondary);
}

/* ==========================
CTA
========================== */

.cta-section{
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
}

.cta-box{
    text-align:center;
    color:#fff;
    max-width:900px;
    margin:auto;
}

.cta-box h2{
    color:#fff;
    margin-bottom:20px;
}

.cta-box p{
    color:rgba(255,255,255,.9);
    font-size:18px;
    margin-bottom:35px;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

/* ==========================
NEWSLETTER
========================== */

.newsletter{
    background:var(--sand);
}

.newsletter-box{
    background:#fff;
    padding:60px;
    border-radius:25px;
    text-align:center;
    box-shadow:var(--shadow);
}

.newsletter-form{
    display:flex;
    gap:15px;
    margin-top:35px;
}

.newsletter-form input{
    flex:1;
    border-radius:50px;
}

.newsletter-form button{
    background:var(--secondary);
    border:none;
    padding:0 35px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.newsletter-form button:hover{
    background:#c79b1c;
}

/* ==========================
CONTACT PREVIEW
========================== */

.contact-preview{
    background:#fff;
}

.contact-list{
    list-style:none;
    padding:0;
    margin-top:30px;
}

.contact-list li{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:20px;
    font-size:18px;
}

.contact-list i{
    width:50px;
    height:50px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
}

.contact-preview iframe{
    width:100%;
    height:450px;
    border:none;
    border-radius:20px;
    box-shadow:var(--shadow);
}

/* ==========================
RESPONSIVE
========================== */

@media(max-width:992px){

.newsletter-form{
    flex-direction:column;
}

.newsletter-form button{
    width:100%;
    height:55px;
}

.newsletter-box{
    padding:40px 30px;
}

.contact-preview iframe{
    height:350px;
}

}

@media(max-width:576px){

.news-content{
    padding:20px;
}

.newsletter-box{
    padding:30px 20px;
}

.contact-list li{
    font-size:16px;
}

.cta-buttons{
    flex-direction:column;
}

.cta-buttons .btn{
    width:100%;
}

}