:root {

    --green:#43a047;
    --yellow:#ffd500;
    --dark:#0b0b0b;
    --white:#ffffff;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#0b0b0b;
    color:#fff;
    font-family:'Montserrat',sans-serif;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

.navbar{
    position:fixed;
    top:0;
    width:100%;
    z-index:999;
    background:rgba(0,0,0,.8);
    backdrop-filter:blur(10px);
}

.navbar .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 0;
}

.logo img{
    height:70px;
}

nav ul{
    display:flex;
    list-style:none;
    gap:30px;
}

nav a{
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.btn-ticket{
/*
    background:var(--yellow);
    color:#000;
    text-decoration:none;
    padding:12px 24px;
    border-radius:50px;
    font-weight:700;
    
*/
    
     display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:18px 42px;

    background:#FFD500;
    color:#000;

    font-size:1rem;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;

    text-decoration:none;

    border-radius:50px;

    box-shadow:
        0 10px 25px rgba(255,213,0,.35);

    transition:all .3s ease;

    cursor:pointer;   
    
    
}

/* =========================
   MOBILE MENU
========================= */

.mobile-toggle{

    display:none;

    font-size:2rem;

    color:#fff;

    cursor:pointer;
}

.mobile-menu{

    position:fixed;

    inset:0;

    background:
        linear-gradient(
            rgba(0,0,0,.92),
            rgba(0,0,0,.95)
        ),
        url('../../images/css/hero.png');

    background-size:cover;
    background-position:center;

    z-index:9999;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:25px;

    opacity:0;

    visibility:hidden;

    transition:.35s ease;
}

.mobile-menu.active{

    opacity:1;

    visibility:visible;
}

.mobile-menu-logo{

    width:180px;

    margin-bottom:30px;
}

.mobile-menu a{

    color:#fff;

    text-decoration:none;

    font-family:'Bebas Neue';

    font-size:2rem;

    letter-spacing:2px;

    transition:.3s;
}

.mobile-menu a:hover{

    color:var(--yellow);
}

.mobile-close{

    position:absolute;

    top:30px;

    right:30px;

    font-size:2rem;

    color:#fff;

    cursor:pointer;
}

@media(max-width:768px){

    nav{
        display:none;
    }

    .btn-ticket{
        display:none;
    }

    .mobile-toggle{
        display:block;
    }
}


.hero{

    position:relative;

    min-height:100vh;

    padding-top:100px;

    background-image:
        linear-gradient(
            rgba(0,0,0,.35),
            rgba(0,0,0,.65)
        ),
        url('../../images/css/hero.png');

    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;

    display:flex;
    align-items:center;
}

.hero-overlay{

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at 20% 50%,
            rgba(76,175,80,.25),
            transparent 40%
        );

    z-index:1;
}

.hero .container{
    width:100%;
}

.hero-content{

    position:relative;
    z-index:10;

    max-width:650px;

    padding-top:120px;

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;
    
}

.hero-logo{
    width:500px;
    max-width:100%;
    margin-bottom:0px;
}

.hero h1{

    font-family:'Bebas Neue';

    font-size:clamp(3rem,8vw,6rem);

    line-height:.95;

    margin-bottom:15px;
}

.hero-date{

    color:#FFD500;

    font-size:1.8rem;

    font-weight:700;
}

.hero-location{

    font-size:1.3rem;

    margin-bottom:40px;

    color:#fff;
}


.btn-primary{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:18px 42px;

    background:#FFD500;
    color:#000;

    font-size:1rem;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;

    text-decoration:none;

    border-radius:50px;

    box-shadow:
        0 10px 25px rgba(255,213,0,.35);

    transition:all .3s ease;

    cursor:pointer;
}

.btn-primary:hover{

    background:#4CAF50;
    color:#fff;

    transform:translateY(-3px);

    box-shadow:
        0 15px 35px rgba(76,175,80,.45);
}

.btn-primary:active{

    transform:translateY(0);
}

/* =========================
   HERO TAGLINE
========================= */

.hero-tagline{

    margin:15px 0 35px;

    color:var(--yellow);

    font-size:1rem;

    font-weight:700;

    letter-spacing:6px;

    text-transform:uppercase;
}


/* =========================
   STATS
========================= */

.stats{

    padding:100px 0;

    background:#111;
}

.stats .container{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:40px;

    text-align:center;
}

.stat h3{

    color:var(--yellow);

    font-family:'Bebas Neue',sans-serif;

    font-size:4rem;

    line-height:1;
}

.stat span{

    display:block;

    margin-top:10px;

    text-transform:uppercase;

    letter-spacing:2px;

    color:#ccc;
}

/* =========================
   TYPOGRAPHY
========================= */

.page-title{

    font-family:'Bebas Neue';

    font-size:clamp(3rem,8vw,6rem);

    line-height:.9;

    margin-bottom:20px;

    text-transform:uppercase;
}

.section-title{

    font-family:'Bebas Neue';

    font-size:clamp(2.5rem,6vw,5rem);

    line-height:1;

    margin-bottom:20px;

    text-transform:uppercase;
    
    text-align:center;
}

.section-subtitle{

    max-width:800px;
    
    margin:0 auto 80px;
    
    text-align:center;
    
    color:#ccc;
    
    font-size:1.2rem;
    
    line-height:1.8;
}

.section-label{

    display:block;

    text-align:center;

    color:var(--yellow);

    letter-spacing:4px;

    text-transform:uppercase;

    font-size:.9rem;

    font-weight:700;

    margin-bottom:15px;
}

/* =========================
   SECTION LABEL
========================= */

.festival-intro{

/*
    padding:140px 0;

    text-align:center;

    background:
    linear-gradient(
        rgba(0,0,0,.85),
        rgba(0,0,0,.85)
    ),
    url('../../images/css/festival-bg.jpg');

    background-size:cover;

    background-position:center;
*/
    padding-top:60px;
    padding-bottom:120px;

    text-align:center;

    background:#111;
}


.festival-intro p{

    max-width:700px;

    margin:auto;

    font-size:1.25rem;

    line-height:1.9;

    color:#ddd;
}


/* =========================
   ARTISTS
========================= */

.artists-preview{

    padding:140px 0;

    background:#0b0b0b;
    text-align: center;
}

.artist-grid{
    display:grid;
    grid-template-columns:repeat(3, 320px);
    justify-content:center;
    gap:35px;
}

.artist-card{
    min-height:520px;
    
    background:
        radial-gradient(
            circle at top,
            rgba(67,160,71,.15),
            transparent 60%
        );

    border:1px solid rgba(255,255,255,.08);


    overflow:hidden;

    transition:.3s;
    




    border-radius:30px;


    text-align:center;


    transition:.4s;
    
}



.artist-card:hover{

    transform:translateY(-12px);

    box-shadow:
        0 30px 60px rgba(67,160,71,.25);
}

.artist-card img{
    width:100%;
    height:420px;
    object-fit:contain;
    transition:transform .4s ease;
    
}
.artist-card:hover img{

    transform:scale(1.05);
}


.artist-card h3{

    padding:25px 20px 8px;

    font-size:2.2rem;

    color:var(--yellow);

    font-family:'Bebas Neue';
}

.artist-card p{

    padding:0 20px 25px;

    color:#bbb;
}



/* =========================
   WORKSHOPS
========================= */

.workshops-preview{

    padding:120px 0;

    background:#111;
}

.workshop-grid{

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(220px,1fr));

    gap:25px;
}

.workshop-card{

    background:#151515;

    border-radius:20px;

    padding:40px 20px;

    text-align:center;

    transition:.3s;
}

.workshop-card:hover{

    transform:translateY(-6px);

    box-shadow:
        0 15px 30px rgba(255,213,0,.2);
}

.workshop-card span{

    font-size:3rem;

    display:block;

    margin-bottom:20px;
}

.workshop-card h3{

    font-size:1.4rem;
}


/* =========================
   TICKETS
========================= */

.tickets-preview{

    padding:120px 0;
}
.tickets-preview h2{

    text-align:center;

    font-family:'Bebas Neue';

    font-size:5rem;

    margin-bottom:60px;
}
.ticket-card{
    position:relative;
    width:100%;
    max-width:450px;
    margin:auto;
    text-align:center;
    background:
        linear-gradient(
            180deg,
            #171717 0%,
            #101010 100%
        );

    border:3px solid var(--yellow);
    border-radius:25px;
    padding:50px;   
    display:flex;

    flex-direction:column;

    justify-content:space-between;

    height:100%;
    
    transition:all .35s ease;
}
.ticket-card:hover{

    transform:translateY(-10px);

    box-shadow:
        0 25px 60px rgba(255,213,0,.15);
}

.ticket-price{

    font-family:'Bebas Neue';

    font-size:4rem;

    color:var(--yellow);

    line-height:1;

    margin:15px 0 30px;
}

.ticket-badge{

    position:absolute;

    top:20px;

    right:20px;

    background:#43a047;

    color:#fff;

    padding:8px 14px;

    border-radius:30px;

    font-size:.75rem;

    font-weight:700;
}

.ticket-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    align-items:stretch;
}

.ticket-card.featured{

    border:3px solid #43a047;

    transform:translateY(-15px);

    box-shadow:
        0 0 40px rgba(67,160,71,.35),
        0 20px 60px rgba(67,160,71,.25);
}

.ticket-card h4{

    text-transform:uppercase;

    letter-spacing:3px;

    color:#ccc;
}

.ticket-card h2{

    font-size:5rem;

    color:var(--yellow);

    margin:20px 0;
}

.ticket-card p{

    color:#ddd;

    margin-bottom:30px;
}

.ticket-card ul{

    list-style:none;

    margin:30px 0;

    padding:0;

    text-align:left;
}

.ticket-card li{

    margin-bottom:15px;

    color:#ddd;

    font-size:1rem;
}


/* =========================
   FINAL CTA
========================= */

.final-cta{

    padding:140px 0;

    text-align:center;

    background:
        radial-gradient(
            circle at center,
            rgba(67,160,71,.15),
            transparent 60%
        ),
        #0b0b0b;
}


.final-cta p{

    max-width:700px;

    margin:0 auto 40px;

    color:#ccc;

    font-size:1.2rem;
}

.section-button{

    text-align:center;

    margin-top:50px;
}

footer{
    padding:80px 0;
    text-align:center;
}

.footer-logo{
    width:250px;
}

.socials{
    margin:30px 0;
}

.socials a{
    color:#fff;
    font-size:28px;
    margin:0 10px;
}

.scroll-indicator{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    font-size:2rem;

    color:#FFD500;

    animation:bounce 2s infinite;
}

@keyframes bounce{

    0%,20%,50%,80%,100%{
        transform:translateX(-50%) translateY(0);
    }

    40%{
        transform:translateX(-50%) translateY(-10px);
    }

    60%{
        transform:translateX(-50%) translateY(-5px);
    }
}

@media(max-width:768px){

.stats .container{
    grid-template-columns:repeat(2,1fr);
}
    
/*
    .stat:last-child{
    grid-column:1 / -1;

}*/
    
.stat h3{
    font-size:3rem;
}

    
    nav{
        display:none;
    }

   .hero-content{
    padding-top:20px;
} 
    
    .hero h1{
        font-size:3rem;
    }
    
    
    .hero-logo{
    width:280px;
}


.hero-date{
    font-size:1.2rem;
}


.festival-intro h2,
.artists-preview h2,
.workshops-preview h2,
.final-cta h2{
    font-size:3rem;
}

.artist-card img{
    height:320px;
}
    
.ticket-grid{

        grid-template-columns:1fr;
    }

}

/* =========================
   PAGE HERO
========================= */

.page-hero{

    min-height:50vh;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    background:
        linear-gradient(
            rgba(0,0,0,.65),
            rgba(0,0,0,.85)
        ),
        url('../../images/css/hero.png');

    background-size:cover;
    background-position:center;

    padding:140px 0 80px;
}

.page-hero h1{

    font-family:'Bebas Neue';
    font-size:6rem;
    margin-bottom:20px;
}

.page-hero p{

    color:#ccc;
    font-size:1.3rem;
}

/* =========================
   TICKETS PAGE
========================= */
.tickets-page{

/*    padding:120px 0;*/
    background:#0b0b0b;
        position:relative;
    margin-top:-60px;
    padding:120px 0;
    z-index:2;
        text-align:center;
}


.section-header{
    text-align:center;
    margin-bottom:80px;
}

.section-header span{
    color:var(--green);
    letter-spacing:3px;
    text-transform:uppercase;
}


.featured{
    border-color:var(--green);
    transform:scale(1.03);
}


/* =========================
   ARTISTS PAGE
========================= */

.featured-artists{    
        background:#0b0b0b;
        position:relative;
    margin-top:-60px;
    padding:120px 0;
    position:relative;
    z-index:1;  
        text-align:center;
    
}

.featured-artist::before{

    content:'';

    position:absolute;

    width:500px;
    height:500px;

    background:#43a047;

    border-radius:50%;

    filter:blur(180px);

    opacity:.35;

    left:-50px;
    top:50%;

    transform:translateY(-50%);

     z-index:-1;
}


.featured-grid{

    margin-top:60px;
}

.featured-artist{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;
}

.featured-artist img{

    width:100%;

    max-height:700px;

    object-fit:contain;
}

.artist-content h3{

    font-family:'Bebas Neue';

    font-size:5rem;

    line-height:1;

    margin-bottom:20px;
}

.artist-country{

    color:var(--yellow);

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:20px;
}

.artist-content p{

    color:#ccc;

    font-size:1.1rem;

    line-height:1.8;
}

.artists-page{

    padding-bottom:120px;
        text-align:center;

}

.djs-section{

    padding-bottom:120px;
            text-align:center;
}

.hosts-section{

    padding-bottom:120px;
            text-align:center;
}


/* =========================
   WORKSHOPS PAGE
========================= */
.workshop-intro{

/*
    padding:100px 0 50px;

    text-align:center;

    background:#111;
*/
    
        padding:120px 0 80px;
    text-align:center;
    margin-top: -60px;        
    position:relative;
    z-index:1;  
    background:#0b0b0b;
    
    
}

.workshop-intro h2{

    font-family:'Bebas Neue';

    font-size:5rem;

    margin-top:10px;
}




.schedule-section{
    padding:120px 0;
    margin-top: -60px;
}

.schedule-table{
    margin-top:50px;
}

.schedule-header,
.schedule-row{

    display:grid;
    grid-template-columns:120px 1fr 1fr;
    gap:20px;
}

.schedule-header{

    color:var(--yellow);

    text-transform:uppercase;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:20px;
}

.schedule-row{
    margin-bottom:20px;
}

.time{

    background:#151515;

    border-radius:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-family:'Bebas Neue';

    font-size:2rem;

    color:var(--yellow);
}

.workshop{

    background:#151515;

    padding:25px;

    border-radius:20px;

    border-left:5px solid transparent;
}

.workshop h4{
    margin-bottom:8px;
}

.workshop span{
    color:#ccc;
}

.workshop p{
    color:#999;
    margin-top:10px;
}

/* LEVELS */

.beginner{
    border-left-color:#43a047;
}

.beginner h4{
    color:#43a047;
}

.intermediate{
    border-left-color:#FFD500;
}

.intermediate h4{
    color:#FFD500;
}

.advanced{
    border-left-color:#ff5252;
}

.advanced h4{
    color:#ff5252;
}

.social{

    border-left-color:#00e5ff;

    background:
    linear-gradient(
        135deg,
        rgba(0,229,255,.15),
        rgba(0,229,255,.05)
    );
}

.social h4{
    color:#00e5ff;
}

.lunch-break-row{

    background:#FFD500;

    color:#000;

    padding:20px;

    border-radius:20px;

    text-align:center;

    font-weight:700;

    margin:20px 0 40px;
}

.highlight-workshop{

    padding:120px 0;

    text-align:center;

    background:#111;
}

.highlight-workshop span{

    color:var(--yellow);

    font-size:2rem;

    font-weight:700;
}

.highlight-workshop h2{

    font-family:'Bebas Neue';

    font-size:4rem;

    margin:15px 0;
}

.special-workshop{

    padding:60px 0;

    text-align:center;
}

.special-workshop-card{

    max-width:800px;

    margin:0 auto;

    padding:60px;

    border-radius:30px;

    background:
    linear-gradient(
        135deg,
        rgba(67,160,71,.15),
        rgba(255,213,0,.08)
    );

    border:2px solid rgba(67,160,71,.35);

    backdrop-filter:blur(15px);

    box-shadow:
        0 0 100px rgba(67,160,71,.35),
        0 25px 60px rgba(0,0,0,.4);
}

.special-time{

    display:block;

    color:var(--yellow);

    font-family:'Bebas Neue';

    font-size:2rem;

    letter-spacing:3px;

    margin-bottom:20px;
}

.special-workshop-card h2{

    font-family:'Bebas Neue';

    font-size:4rem;

    margin-bottom:10px;
}

.special-workshop-card h3{

    font-size:2rem;

    margin-bottom:15px;
}

.special-workshop-card p{

    color:#ccc;
}

.workshop-legend{

    display:flex;

    gap:15px;

    justify-content:center;

    flex-wrap:wrap;

    margin-top:30px;
}

.workshop-legend span{

    padding:10px 18px;

    border-radius:30px;

    font-size:.85rem;

    font-weight:700;
}

.legend.beginner{background:#43a047;}
.legend.intermediate{background:#FFD500;color:#000;}
.legend.advanced{background:#ff5252;}
.legend.social{background:#00e5ff;color:#000;}


/* =========================
   SCHEDULE PAGE
========================= */

.schedule-overview{

    padding:120px 0 80px;
    text-align:center;
    margin-top: -60px;        
    position:relative;
    z-index:1;  
    background:#0b0b0b;
    
    
    
}

.overview-grid{

    margin-top:60px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;
}

.overview-card{

    text-decoration:none;
    color:inherit;

    background:#151515;

    padding:40px;

    border-radius:25px;

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;
}

.overview-card:hover{

    transform:translateY(-10px);

    border-color:var(--green);

    box-shadow:
        0 25px 60px rgba(67,160,71,.25);
}

.overview-card span{

    color:var(--yellow);

    letter-spacing:4px;

    font-size:.85rem;

    font-weight:700;
}

.overview-card h3{

    font-family:'Bebas Neue';

    font-size:3rem;

    margin:15px 0;
}

/* TIMELINE */

.timeline-section{

    padding:120px 0;
    
}

.timeline-section.dark{

    background:#111;
}

.timeline{

    max-width:1000px;

    margin:60px auto 0;

    display:flex;

    flex-direction:column;

    gap:25px;
}

.timeline-item{

    background:#151515;

    padding:35px;

    border-radius:25px;

    border-left:5px solid var(--green);

    transition:.35s ease;
}

.timeline-item:hover{

    transform:translateY(-5px);

    box-shadow:
        0 20px 40px rgba(0,0,0,.35);
}

.timeline-item span{

    color:var(--yellow);

    font-family:'Bebas Neue';

    font-size:2rem;
}

.timeline-item h4{

    margin:10px 0;

    font-size:1.5rem;
}

.timeline-item p{

    color:#bbb;
}

/* VARIANTS */

.timeline-item.featured{

    border-left-color:var(--green);

    background:
    linear-gradient(
        135deg,
        rgba(67,160,71,.12),
        rgba(67,160,71,.03)
    );

    box-shadow:
        0 0 40px rgba(67,160,71,.15);
}

.timeline-item.party{

    border-left-color:var(--yellow);

    background:
    linear-gradient(
        135deg,
        rgba(255,213,0,.10),
        rgba(255,213,0,.03)
    );
}

.timeline-item.social{

    border-left-color:#00d4ff;

    background:
    linear-gradient(
        135deg,
        rgba(0,212,255,.12),
        rgba(0,212,255,.03)
    );
}

/* DRESSCODE */

.dresscode{

    display:inline-block;

    margin:15px 0;

    padding:10px 18px;

    border-radius:30px;

    font-size:.8rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;
}

.red-black{

    background:
    linear-gradient(
        135deg,
        #8b0000,
        #111
    );

    color:#fff;
}

.blue-gold{

    background:
    linear-gradient(
        135deg,
        #1e40af,
        #FFD500
    );

    color:#fff;
}

/* HIGHLIGHTS */

.highlight-stats{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:40px;

    margin:60px auto;
}

.highlight-stats strong{

    display:block;

    font-family:'Bebas Neue';

    font-size:4rem;

    color:var(--yellow);

    line-height:1;
}

.highlight-stats span{

    color:#ccc;

    text-transform:uppercase;

    letter-spacing:2px;
}


/* =========================
   VENUE PAGE
========================= */

.venue-intro{
    padding:120px 0 80px;
    text-align:center;
    margin-top: -60px;        
    position:relative;
    z-index:1;  
    background:#0b0b0b;
}


.venue-gallery{
    padding-bottom:120px;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.gallery-grid img{

    width:100%;
    
    aspect-ratio:16/10;

    object-fit:cover;

    border-radius:25px;

    border:1px solid rgba(255,255,255,.08);
}

.gallery-grid img:hover{
    transform:scale(1.03);
}

/* FEATURES */

.venue-features{

    padding:120px 0;

    background:#111;

    text-align:center;
}

.feature-grid{

    margin-top:60px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;
}

.feature-card{

    background:#151515;

    padding:40px;

    border-radius:25px;

    border:1px solid rgba(255,255,255,.08);

    transition:.3s;
}

.feature-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 20px 50px rgba(67,160,71,.2);
}

.feature-card span{

    font-size:3rem;

    display:block;

    margin-bottom:20px;
}

/* ADDRESS */

.venue-address{

    padding:120px 0;

    text-align:center;
}

.address-card{

    max-width:700px;

    margin:60px auto 0;

    padding:60px;

    border-radius:30px;

    background:#151515;

    border:1px solid rgba(255,255,255,.08);
}

.address-card h3{

    font-family:'Bebas Neue';

    font-size:3rem;

    margin-bottom:20px;
}

.address-card p{

    color:#ccc;

    line-height:1.8;

    margin-bottom:40px;
}

/* HOTELS */

.hotels-section{

    padding:120px 0;

    background:#111;

    text-align:center;
}

.hotel-grid{

    margin-top:60px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;
}

.hotel-card{

    background:#151515;

    padding:40px;

    border-radius:25px;

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;
}

.hotel-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 20px 50px rgba(67,160,71,.20);
}

.hotel-card h3{

    color:var(--yellow);

    margin-bottom:15px;
}

/* MAP */

.map-section iframe{

    width:100%;

    height:550px;

    border:0;
}

/* MOBILE */

@media(max-width:768px){

    .gallery-grid,
    .feature-grid,
    .hotel-grid{

        grid-template-columns:1fr;
    }

    .gallery-grid img{

        height:280px;
    }

    .address-card{

        padding:40px 25px;
    }
}


/* MOBILE */

@media(max-width:768px){

    .overview-grid,
    .highlight-stats{

        grid-template-columns:1fr;
    }

    .timeline-item{

        padding:25px;
    }
}

@media(max-width:768px){

    .overview-grid{

        grid-template-columns:1fr;
    }
}



@media(max-width:1100px){

    .artist-grid{

        grid-template-columns:
            repeat(2,minmax(280px,1fr));
    }
}


@media(max-width:992px){

    .featured-artist{

        grid-template-columns:1fr;

        text-align:center;
    }

    .artist-content h3{

        font-size:3.5rem;
    }
    
    .ticket-grid{

        grid-template-columns:
            repeat(2,1fr);
    }
}

@media(max-width:768px){

    .page-hero h1{

        font-size:4rem;
    }
    
    .ticket-grid{

        grid-template-columns:1fr;
    }
    
   .artist-grid{

        grid-template-columns:1fr;
    }
    
    .schedule-header{
        display:none;
    }

    .schedule-row{
        grid-template-columns:1fr;
    }

    .time{
        min-height:70px;
    }
    
}