/* =========================================================
   AIC FESTIVAL 2027 — TOURISM PAGE
   Page-specific refinement
   Global components remain controlled by style.css
   ========================================================= */

/* HERO */

.tourism-hero{
    position:relative;
    min-height:clamp(480px,58vh,620px);
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.42)),
        url("../images/tourism/hero.jpg") center/cover no-repeat;
}

.tourism-hero-content{
    max-width:820px;
    padding:112px 0 68px;
    color:#fff;
}

.tourism-hero-content>span,
.eyebrow{
    color:#D88900;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.tourism-hero-content>span{
    color:#F4A300;
}

.tourism-hero h1{
    margin:16px 0 20px;
    color:#fff;
    font-size:clamp(3rem,6.5vw,5.6rem);
    line-height:.98;
    letter-spacing:-.045em;
}

.tourism-hero h1 em{
    color:#F4A300;
    font-style:normal;
}

.tourism-hero p{
    max-width:700px;
    margin:0;
    color:#eee;
    font-size:clamp(1rem,1.8vw,1.16rem);
    line-height:1.75;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}

/* ARUSHA INTRO */

.why-arusha{
    padding:92px 0;
    background:#fff;
}

.split-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:64px;
    align-items:center;
}

.section-image{
    height:530px;
    overflow:hidden;
    border-radius:10px;
    background:#D88900;
}

.section-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.section-copy{
    max-width:650px;
}

.section-copy h2{
    margin:14px 0 20px;
    color:#111;
    font-size:clamp(2.2rem,4vw,3.4rem);
    line-height:1.1;
    letter-spacing:-.025em;
}

.section-copy p{
    margin:0 0 17px;
    color:#666;
    line-height:1.82;
}

.check-list{
    margin:25px 0 0;
    padding:0;
    list-style:none;
}

.check-list li{
    position:relative;
    padding:11px 0 11px 29px;
    border-bottom:1px solid #eee;
    color:#444;
    font-weight:700;
    line-height:1.5;
}

.check-list li:first-child{
    border-top:1px solid #eee;
}

.check-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:#D88900;
    font-weight:900;
}

/* DESTINATIONS */

.destinations{
    padding:92px 0 100px;
    background:#FFF8EE;
}

.destination-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.destination-card{
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #E8DFD1;
    border-radius:10px;
    box-shadow:0 7px 20px rgba(0,0,0,.055);
    transition:transform .3s ease,box-shadow .3s ease;
}

.destination-card:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 30px rgba(0,0,0,.09);
}

.destination-card img{
    width:100%;
    height:230px;
    object-fit:cover;
    transition:transform .5s ease;
}

.destination-card:hover img{
    transform:scale(1.025);
}

.destination-card>div{
    padding:24px 25px 27px;
}

.destination-card span{
    color:#D88900;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.1em;
}

.destination-card h3{
    margin:8px 0 10px;
    color:#111;
    font-size:1.3rem;
    line-height:1.25;
}

.destination-card p{
    margin:0;
    color:#666;
    line-height:1.68;
}

/* CULTURAL EXPERIENCES */

.culture-experiences{
    padding:92px 0;
    background:#fff;
}

.experience-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    background:#E8DFD1;
    border:1px solid #E8DFD1;
}

.experience-grid>div{
    min-height:220px;
    padding:30px 26px;
    background:#fff;
}

.experience-grid i{
    display:block;
    margin-bottom:18px;
    color:#D88900;
    font-size:24px;
}

.experience-grid h3{
    margin:0 0 9px;
    color:#111;
    font-size:1.18rem;
    line-height:1.3;
}

.experience-grid p{
    margin:0;
    color:#666;
    line-height:1.68;
}

/* AIC + TOURISM */

.aic-tourism{
    padding:92px 0;
    background:#111;
    color:#fff;
}

.left-heading{
    margin-left:0;
    text-align:left;
}

.aic-tourism h2{
    color:#fff;
}

.aic-tourism .section-heading{
    max-width:900px;
    margin-bottom:55px;
}

.aic-tourism .section-heading p{
    max-width:820px;
    color:#bbb;
    line-height:1.8;
}

.aic-tourism-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.aic-tourism-grid article{
    min-width:0;
    min-height:300px;
    padding:30px 22px 28px;
    background:#181818;
    border:1px solid #303030;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.16);
}

.aic-tourism-grid .icon{
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 20px;
    border-radius:50%;
    background:#F4A300;
    color:#fff;
    font-size:22px;
}

.aic-tourism-grid h3{
    max-width:245px;
    margin:0 0 12px;
    color:#fff;
    font-size:1.15rem;
    line-height:1.3;
}

.aic-tourism-grid p{
    max-width:270px;
    margin:0;
    color:#bbb;
    font-size:.95rem;
    line-height:1.72;
}

@media(max-width:1050px){
    .aic-tourism-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    .aic-tourism-grid article{
        min-height:260px;
    }
}

@media(max-width:650px){
    .aic-tourism{
        padding:72px 0;
    }

    .aic-tourism .section-heading{
        margin-bottom:40px;
    }

    .aic-tourism-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .aic-tourism-grid article{
        min-height:0;
        padding:26px 22px 28px;
    }

    .aic-tourism-grid .icon{
        margin-bottom:17px;
    }

    .aic-tourism-grid h3,
    .aic-tourism-grid p{
        max-width:none;
    }
}

/* HOSPITALITY */

.hospitality{
    padding:96px 0 100px;
    background:#FFF8EE;
}

.hospitality-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.hospitality-grid>div{
    min-height:214px;
    padding:30px 28px;
    background:#fff;
    border-radius:8px;
}

.hospitality-grid i{
    display:block;
    margin:0 0 18px;
    color:#D88900;
    font-size:22px;
}

.hospitality-grid h3{
    margin:0 0 10px;
    color:#111;
    font-size:1.2rem;
    line-height:1.3;
    letter-spacing:-.01em;
}

.hospitality-grid p{
    max-width:330px;
    margin:0;
    color:#666;
    line-height:1.7;
}

@media(max-width:900px){
    .hospitality-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:16px;
    }

    .hospitality-grid>div{
        min-height:205px;
    }
}

@media(max-width:650px){
    .hospitality{
        padding:72px 0;
    }

    .hospitality-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .hospitality-grid>div{
        min-height:0;
        padding:25px 22px 27px;
        border-radius:8px;
    }
}

/* TRAVEL INFORMATION */

.travel-info{
    padding:92px 0;
    background:#fff;
}

.travel-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
    gap:50px;
    align-items:end;
    margin-bottom:42px;
}

.travel-header h2{
    margin:14px 0 0;
    color:#111;
    font-size:clamp(2.2rem,4vw,3.4rem);
    line-height:1.1;
}

.travel-header p{
    margin:0;
    color:#666;
    line-height:1.8;
}

.travel-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid #E8DFD1;
    border-left:1px solid #E8DFD1;
}

.travel-grid>div{
    min-height:205px;
    padding:27px 25px;
    border-right:1px solid #E8DFD1;
    border-bottom:1px solid #E8DFD1;
}

.travel-grid i{
    color:#D88900;
    font-size:22px;
}

.travel-grid h3{
    margin:14px 0 8px;
    color:#111;
    font-size:1.16rem;
}

.travel-grid p{
    margin:0;
    color:#666;
    line-height:1.68;
}

/* TRAVEL TIPS */

.travel-tips{
    padding:92px 0;
    background:#FFF8EE;
}

.tips-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
    gap:70px;
}

.tips-grid h2{
    max-width:500px;
    margin:14px 0 0;
    color:#111;
    font-size:clamp(2.2rem,4vw,3.2rem);
    line-height:1.1;
    letter-spacing:-.025em;
}

.tips-list{
    border-top:1px solid #E4D8C5;
}

.tips-list div{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    gap:20px;
    padding:18px 0;
    border-bottom:1px solid #E4D8C5;
}

.tips-list strong{
    color:#111;
}

.tips-list span{
    color:#666;
}

/* FINAL CTA */

.tourism-cta{
    padding:92px 0;
    background:#fff;
    border-top:1px solid #E8DFD1;
    text-align:center;
}

.cta-content{
    max-width:820px;
    margin:auto;
}

.cta-content>span{
    color:#D88900;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.cta-content h2{
    margin:15px 0 16px;
    color:#111;
    font-size:clamp(2.2rem,4.5vw,3.35rem);
    line-height:1.1;
}

.cta-content p{
    max-width:700px;
    margin:0 auto 28px;
    color:#666;
    line-height:1.8;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}

/* RESPONSIVE */

@media(max-width:1050px){
    .destination-grid,
    .aic-tourism-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

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

@media(max-width:900px){
    .split-grid,
    .tips-grid,
    .travel-header{
        grid-template-columns:1fr;
        gap:38px;
    }

    .section-image{
        height:420px;
    }

    .experience-grid,
    .hospitality-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .aic-tourism-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .tourism-hero{
        min-height:500px;
    }

    .tourism-hero-content{
        padding:96px 0 50px;
    }

    .tourism-hero h1{
        margin-top:14px;
        font-size:clamp(2.8rem,13vw,4.2rem);
    }

    .tourism-hero p{
        line-height:1.7;
    }

    .hero-actions{
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }

    .hero-actions a{
        width:100%;
    }

    .why-arusha,
    .destinations,
    .culture-experiences,
    .aic-tourism,
    .hospitality,
    .travel-info,
    .travel-tips,
    .tourism-cta{
        padding:72px 0;
    }

    .section-image{
        height:250px;
    }

    .destination-grid,
    .experience-grid,
    .aic-tourism-grid,
    .hospitality-grid,
    .travel-grid{
        grid-template-columns:1fr;
    }

    .destination-card img{
        height:225px;
    }

    .experience-grid,
    .hospitality-grid{
        gap:1px;
    }

    .experience-grid>div,
    .hospitality-grid>div{
        min-height:0;
    }

    .travel-header{
        margin-bottom:32px;
    }

    .tips-list div{
        grid-template-columns:1fr;
        gap:5px;
    }

    .cta-buttons{
        flex-direction:column;
        align-items:stretch;
    }

    .cta-buttons a{
        width:100%;
    }
}

@media(prefers-reduced-motion:reduce){
    .destination-card,
    .destination-card img{
        transition:none;
    }

    .destination-card:hover{
        transform:none;
    }

    .destination-card:hover img{
        transform:none;
    }
}
