/*==================================================
GM24 NEWS PREMIUM V6
HERO SLIDER
==================================================*/

/*==============================
WRAPPER
==============================*/

.hero-slider{
    position:relative;
    margin:35px auto 50px;
}

.hero-slides{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:#000;
    box-shadow:0 15px 45px rgba(0,0,0,.18);
}

/*==============================
SLIDE
==============================*/

.hero-slide{
    position:relative;
    display:none;
    min-height:620px;
animation:gm24HeroFade .6s ease;}

.hero-slide.active{
    display:block;
}

/*==============================
IMAGE
==============================*/

.hero-image{
    position:absolute;
    inset:0;
}

.hero-image img{
    width:100%;
    height:620px;
    object-fit:cover;
    display:block;
    transition:transform .6s ease;
}

.hero-slide:hover .hero-image img{
    transform:scale(1.05);
}

/*==============================
OVERLAY
==============================*/

.hero-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:60px;
    color:#fff;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.92) 0%,
        rgba(0,0,0,.55) 45%,
        rgba(0,0,0,.15) 75%,
        transparent 100%
    );
}

/*==============================
BADGE
==============================*/

.hero-badge{
    display:inline-block;
    padding:8px 16px;
    background:var(--primary);
    color:#fff;
    border-radius:30px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    margin-bottom:18px;
}

/*==============================
META
==============================*/

.hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin-bottom:20px;
    font-size:14px;
    color:#f0f0f0;
}

/*==============================
TITLE
==============================*/

.hero-title{
    margin:0 0 18px;
    font-size:46px;
    line-height:1.25;
    font-weight:800;
    max-width:850px;
}

.hero-title a{
    color:#fff;
    transition:.3s;
}

.hero-title a:hover{
    color:var(--accent);
}

/*==============================
EXCERPT
==============================*/

.hero-excerpt{
    max-width:760px;
    font-size:18px;
    line-height:1.8;
    margin-bottom:30px;
    color:#f3f3f3;
}

/*==============================
BUTTON
==============================*/

.hero-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 26px;
    background:var(--primary);
    color:#fff;
    border-radius:8px;
    font-weight:700;
    transition:.3s;
}

.hero-button:hover{
    background:var(--primary-dark);
}
/*==============================
ARROWS
==============================*/

.hero-controls{
    position:absolute;
    top:50%;
    left:0;
    right:0;
    transform:translateY(-50%);
    display:flex;
    justify-content:space-between;
    padding:0 20px;
    pointer-events:none;
}

.hero-prev,
.hero-next{
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(10px);
    color:#fff;
    font-size:22px;
    cursor:pointer;
    transition:.3s;
    pointer-events:auto;
}

.hero-prev:hover,
.hero-next:hover{
    background:var(--primary);
}

/*==============================
DOTS
==============================*/

.hero-dots{
    position:absolute;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    display:flex;
    gap:10px;
    z-index:5;
}

.hero-dot{
    width:12px;
    height:12px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.45);
    cursor:pointer;
    transition:.3s;
}

.hero-dot.active{
    width:34px;
    border-radius:20px;
    background:var(--primary);
}

/*==============================
EMPTY STATE
==============================*/

.hero-empty{
    padding:100px 30px;
    text-align:center;
    background:#fff;
    border-radius:16px;
    box-shadow:var(--shadow);
}

.hero-empty h2{
    margin-bottom:15px;
    font-size:34px;
}

.hero-empty p{
    color:var(--text-light);
}

/*==============================
ANIMATION
==============================*/

@keyframes gm24HeroFade{
    from{
        opacity:0;
        transform:scale(1.02);
    }

    to{
        opacity:1;
        transform:scale(1);
    }

}

/*==============================
RESPONSIVE
==============================*/

@media (max-width:991px){

    .hero-slide{
        min-height:460px;
    }

    .hero-image img{
        height:460px;
    }

    .hero-overlay{
        padding:35px;
    }

    .hero-title{
        font-size:34px;
        max-width:100%;
    }

    .hero-excerpt{
        font-size:16px;
    }

}

@media (max-width:576px){

    .hero-slide{
        min-height:340px;
    }

    .hero-image img{
        height:340px;
    }

    .hero-overlay{
        padding:22px;
    }

    .hero-title{
        font-size:24px;
        line-height:1.4;
    }

    .hero-excerpt{
        display:none;
    }

    .hero-meta{
        gap:10px;
        font-size:12px;
    }

    .hero-button{
        width:100%;
    }

    .hero-prev,
    .hero-next{
        width:42px;
        height:42px;
        font-size:18px;
    }

    .hero-dot{
        width:10px;
        height:10px;
    }

    .hero-dot.active{
        width:28px;
    }

}

/*==============================
END
==============================*/