/* ==========================================
   FEATURED PACKAGES
========================================== */

.packages-section{

    width:100%;

    padding:120px 0;

    background:#282f49;

    overflow:hidden;

}

/* ==========================================
   CONTAINER
========================================== */

.packages-container{

    width:100%;

    max-width:1280px;

    margin:auto;

    padding:0 24px;

}

/* ==========================================
   HEADER
========================================== */

.packages-header{

    width:100%;

    max-width:700px;

    margin-bottom:60px;

}

.packages-subtitle{

    display:inline-block;

    font-family:"Plus Jakarta Sans",sans-serif;

    font-size:15px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    color:#70a1f6;

    margin-bottom:18px;

}

.packages-title{

    font-family:"Plus Jakarta Sans",sans-serif;

    font-size:52px;

    font-weight:800;

    line-height:1.1;

    color:#ffffff;

    margin-bottom:20px;

}

.packages-description{

    max-width:650px;

    font-size:18px;

    line-height:1.8;

    color:#94a1b1;

}

/* ==========================================
   SLIDER WRAPPER
========================================== */

.packages-slider-wrapper{

    position:relative;

    width:100%;

}

/* ==========================================
   SLIDER
========================================== */

.packages-slider{

    display:flex;

    gap:32px;

    overflow-x:auto;

    scroll-behavior:smooth;

    scrollbar-width:none;

    -ms-overflow-style:none;

    padding:8px 0;

}

.packages-slider::-webkit-scrollbar{

    display:none;

}

/* ==========================================
   DRAG
========================================== */

.packages-slider{

    cursor:grab;

}

.packages-slider.dragging{

    cursor:grabbing;

    scroll-behavior:auto;

}

.packages-slider.dragging img{

    pointer-events:none;

}

/* ==========================================
   PACKAGE CARD
========================================== */

.packages-card{

    flex:0 0 calc((100% - 64px) / 3);

    background:#FFFFFF;

    border-radius:24px;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    box-shadow:0 8px 30px rgba(0,0,0,.06);

    transition:all .35s ease;

}

.packages-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 50px rgba(0,0,0,.12);

}

/* ==========================================
   CARD IMAGE
========================================== */

.packages-card-image{

    position:relative;

    width:100%;

    height:280px;

    overflow:hidden;

}

.packages-card-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .6s ease;

}

.packages-card:hover .packages-card-image img{

    transform:scale(1.08);

}

/* ==========================================
   DURATION BADGE
========================================== */

.packages-duration{

    position:absolute;

    top:18px;

    right:18px;

    padding:9px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(14px);

    color:#0B4DBB;

    font-size:13px;

    font-weight:700;

}

/* ==========================================
   CARD CONTENT
========================================== */

.packages-card-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:30px;

}

/* ==========================================
   CARD TOP
========================================== */

.packages-card-top{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:18px;

    margin-bottom:20px;

}

.packages-card-title{

    font-family:"Plus Jakarta Sans",sans-serif;

    font-size:26px;

    font-weight:700;

    color:#111827;

    line-height:1.3;

}

.packages-card-price{

    font-size:20px;

    font-weight:800;

    color:#E26D1D;

    white-space:nowrap;

}

/* ==========================================
   DESCRIPTION
========================================== */

.packages-card-description{

    color:#64748B;

    font-size:16px;

    line-height:1.8;

    margin-bottom:30px;

    flex:1;

}

/* ==========================================
   BUTTON
========================================== */

.packages-button{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    width:140px;

    height:50px;

    border-radius:14px;

    background:#0B4DBB;

    color:#FFFFFF;

    font-weight:700;

    text-decoration:none;

    transition:all .3s ease;

}

.packages-button:hover{

    background:#083D97;

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(11,77,187,.25);

}

/* ==========================================
   SLIDER ARROW
========================================== */

.packages-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:58px;

    height:58px;

    border:none;

    border-radius:50%;

    background:#FFFFFF;

    color:#111827;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    box-shadow:0 10px 30px rgba(0,0,0,.10);

    transition:.35s ease;

    z-index:20;

}

.packages-arrow span{

    font-size:34px;

}

.packages-arrow:hover{

    background:#0B4DBB;

    color:#FFFFFF;

    transform:translateY(-50%) scale(1.08);

}

.packages-prev{

    left:-28px;

}

.packages-next{

    right:-28px;

}

/* ==========================================
   HOVER EFFECT
========================================== */

.packages-card:hover .packages-card-title{

    color:#0B4DBB;

}

.packages-card:hover .packages-button{

    background:#083D97;

}

.packages-card:hover .packages-duration{

    background:#0B4DBB;

    color:#FFFFFF;

}

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

/* Laptop Besar */
@media (max-width:1400px){

    .packages-container{
        max-width:1200px;
        padding:0 40px;
    }

}

/* Laptop */
@media (max-width:1200px){

    .packages-section{
        padding:100px 0;
    }

    .packages-container{
        padding:0 30px;
    }

    .packages-title{
        font-size:42px;
    }

    .packages-description{
        font-size:17px;
    }

    .packages-slider{
        gap:24px;
    }

    .packages-card{
        flex:0 0 calc((100% - 24px) / 2);
    }

    .packages-card-image{
        height:240px;
    }

}

/* Tablet */
@media (max-width:992px){

    .packages-section{
        padding:80px 0;
    }

    .packages-title{
        font-size:36px;
    }

    .packages-description{
        font-size:16px;
    }

    .packages-card{

        flex:0 0 calc((100% - 20px) / 2);

    }

    .packages-card-content{
        padding:24px;
    }

    .packages-card-title{
        font-size:22px;
    }

    .packages-card-price{
        font-size:18px;
    }

    .packages-card-image{
        height:220px;
    }

    .packages-button{
        width:100%;
    }

}

/* Mobile */
@media(max-width:768px){


    .packages-slider{

        gap:20px;

        overflow-x:auto;

        scroll-snap-type:x mandatory;

        padding-bottom:10px;

    }



    .packages-card{

        flex:0 0 100%;

        scroll-snap-align:center;

        border-radius:20px;

    }



    .packages-card-image{

        height:220px;

    }



    .packages-card-content{

        padding:20px;

    }



    .packages-card-title{

        font-size:22px;

    }



    .packages-card-price{

        font-size:18px;

    }



    .packages-card-description{

        font-size:14px;

        line-height:1.6;

    }



    .packages-button{

        width:120px;

        height:42px;

    }



    /* Hilangkan tombol arrow di mobile */

    .packages-arrow{

        display:none;

    }

}
/* Small Mobile */
@media (max-width:480px){

    .packages-container{
        padding:0 15px;
    }

    .packages-title{
        font-size:26px;
    }

    .packages-card-image{
        height:200px;
    }

    .packages-card-title{
        font-size:20px;
    }

    .packages-card-price{
        font-size:17px;
    }

    .packages-card-description{
        font-size:14px;
    }

}

/* ==========================================
   COMPACT FULL SCREEN PACKAGES
========================================== */

.packages-section{
    padding:70px 0;
}


.packages-container{
    max-width:1200px;
}


/* HEADER */

.packages-header{
    margin-bottom:35px;
}


.packages-subtitle{
    font-size:13px;
    margin-bottom:12px;
}


.packages-title{
    font-size:42px;
    line-height:1.15;
    margin-bottom:12px;
}


.packages-description{
    font-size:16px;
    line-height:1.6;
    max-width:600px;
}



/* SLIDER */

.packages-slider{
    gap:24px;
}



/* CARD */

.packages-card{

    border-radius:20px;

}



/* IMAGE */

.packages-card-image{

    height:210px;

}



/* CONTENT */

.packages-card-content{

    padding:22px;

}



.packages-card-top{

    margin-bottom:12px;

}



.packages-card-title{

    font-size:22px;

}



.packages-card-price{

    font-size:18px;

}



.packages-card-description{

    font-size:14px;

    line-height:1.6;

    margin-bottom:20px;

}



/* BUTTON */

.packages-button{

    width:120px;

    height:44px;

    border-radius:12px;

    font-size:14px;

}



/* ARROW */

.packages-arrow{

    width:48px;

    height:48px;

}


.packages-arrow span{

    font-size:28px;

}


.packages-prev{

    left:-15px;

}


.packages-next{

    right:-15px;

}



/* LAPTOP 1440px */

@media(max-width:1440px){

    .packages-section{

        padding:60px 0;

    }


    .packages-title{

        font-size:38px;

    }


    .packages-card-image{

        height:190px;

    }

}



/* TABLET */

@media(max-width:992px){


    .packages-section{

        padding:55px 0;

    }


    .packages-title{

        font-size:34px;

    }


    .packages-card-image{

        height:190px;

    }

}



/* MOBILE */

@media(max-width:768px){


    .packages-section{

        padding:50px 0;

    }


    .packages-title{

        font-size:28px;

    }


    .packages-card-image{

        height:200px;

    }


    .packages-card-content{

        padding:20px;

    }

}