@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&display=swap');
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Hanken Grotesk", sans-serif;
}
@font-face {
    font-family: heading;
    src: url(../font/heading.otf);
}
@font-face {
    font-family: heading-italic;
    src: url(../font/heading_italic.otf);
}
.header_section{
    width: 100%;
    position:sticky;
    top: 0;
    left: 0;
    z-index:80;
}
.top_section{
    width:100%;
    background-color:#076694;
    padding:.54vw 5.4vw;
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    align-items:center;
}
.text_top_section{
    text-align:center;
}
.text_top_section p{
    color:white;
    font-size:.76vw;
    font-weight:300;
}
.text_top_section:nth-child(1){
    text-align:start;
}
.text_top_section_link{
    display:flex;
    gap:.3vw;
    align-items:center;
    justify-content:end;
    color:white;
    font-size:.76vw;
    font-weight:300;
}
.text_top_section_link a{
    color:white;
    text-decoration:none;
    font-size:.76vw;
    font-weight:300;
}

.bottom_section{
    display:grid;
    grid-template-columns: 20% 60% 20%;
    width:100%;
    justify-content: space-between;
    padding:.93vw 7.7vw;
    padding-top: 1.1vw;
    background-color:white;
}
.bottom_section img{
    width:10.6vw;
}
.bottom_section ul{
    display:flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    gap: 2vw;
}
.bottom_section ul a{
    text-decoration:none;
}
.bottom_section ul li{
    font-size:.85vw;
    text-transform:uppercase;
    color: black;
}
.bottom_section ul a.active li{
    color: #DE161F;
}

.btn_header_bottom{
    display:flex;
    justify-content: end;
    align-items: center;
    gap:1.1vw;
}
.btn_header_bottom button{
    background-color:transparent;
    outline:none;
    border:none;
    position:relative;
}
.btn_header_bottom button iconify-icon{
    font-size:1.45vw;
}
.btn_header_bottom button span{
    position:absolute;
    right:-.2vw;
    top:0;
    background-color:#DE161F;
    width:.8vw;
    height:.8vw;
    border-radius:100vw;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.5vw;
}

.banner_slide{
    width:100%;
    padding:0 5.5vw;
}
.mySwiper .swiper-slide{
    padding:0 2vw;
}
.mySwiper .swiper-button-next, .mySwiper .swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: 3vw;
    height: 3vw;
    border: .3vw solid white;
    border-radius: 100vw;
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    background-color: red;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}
.mySwiper .swiper-button-next:after, .mySwiper .swiper-button-prev:after {
    font-family: swiper-icons;
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    font-size: .85vw;
}
.slide_box{
    padding:5.7vw 4.5vw;
    padding-right:46vw;
    border-radius: 1vw;
}
.slide_box h2{
    font-size:4.4vw;
    font-family:heading;
    color:white;
    text-transform:uppercase;
    line-height:5vw;
    margin-bottom:1.2vw;
}
.slide_box h2 span{
    color:#DE161F;
    font-size:4.4vw;
    font-family:heading;
}
.slide_box p{
    color:white;
    font-size:1.1vw;
    font-weight:300;
}
.banner_button{
    display:flex;
    gap:1vw;
    margin-top:2.5vw;
}
.banner_button button{
    background-color:#DE161F;
    color:white;
    font-size:1vw;
    outline:none;
    border:.1vw solid transparent;
    padding:.6vw 1.2vw;
    font-weight:light;
    letter-spacing: .04vw;
    text-transform:uppercase;
    border-radius:.4vw;
    cursor:pointer;
    transition:.4s all;
}
.banner_button a:nth-child(2) button{
    background-color:transparent;
    border:.1vw solid white;
    color:white;
}
.banner_button button:hover{
    transform:scale(1.05);
}

.keunggulan_layout{
    width:84.8%;
    background-color:#076694;
    padding:1.3vw 3.2vw;
    margin:1.8vw auto;
    border-radius:1vw;
    border-top:.1vw solid #DE161F;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.keunggulan_box_layout{
    display:flex;
    align-items:center;
    gap:1vw;
}
.keunggulan_box_layout img{
    max-width:4vw;
}
.keunggulan_box_content h3{
    font-size:1.1vw;
    color:white;
}
.keunggulan_box_content p{
    font-size:.8vw;
    color:white;
    font-weight:300;
}

.kategori_layout{
    padding:0 5.5vw;
}
.categoriesSwiper{
    padding: 0 2vw !important;
    border-radius: 1vw !important;
}
.categoriesSwiper .swiper-wrapper{
    border-radius: 1vw !important;
}
.categoriesSwiper .swiper-button-next, .categoriesSwiper .swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: 3vw;
    height: 3vw;
    border: .3vw solid white;
    border-radius: 100vw;
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    background-color: red;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}
.categoriesSwiper .swiper-button-next:after, .categoriesSwiper .swiper-button-prev:after {
    font-family: swiper-icons;
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    font-size: .85vw;
}
.categoriesSwiper .swiper-button-next.swiper-button-disabled, .categoriesSwiper .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}
.kategori_box_layout{
    border-radius:.8vw;
    height:21vw;
    display:flex;
    justify-content:end;
    align-items:center;
    flex-direction: column;
    padding:1.4vw;
    gap:.8vw;
    border-top: .1vw solid #DE161F;
    background-size: 100% 100%;
    background-position: center;
    transition: background-size 0.5s ease;
}
.kategori_box_layout:hover{
    background-size: 120% 120% !important;
}
.kategori_box_layout h3{
    font-size:3.4vw;
    color:white;
    font-family:heading;
    text-transform:uppercase;
}
.kategori_box_layout a{
    text-decoration:none;
    color:white;
    font-size:.84vw;
    letter-spacing: .04vw;
    transition: 0.5s ease;
}
.kategori_box_layout:hover a{
    transform:scale(1.1);
    text-decoration:underline;
}

.product_layout{
    width:100%;
    padding: 0 7.54vw;
    margin-top:3.8vw;
}
.heading_product_layout{
    display:flex;
    justify-content: space-between;
    margin-bottom:1.7vw;
}
.heading_product_layout h3{
    font-size:2.3vw;
    color:black;
    font-family:heading;
}
.heading_product_layout span{
    color:#DE161F;
    font-size:2.3vw;
    font-family:heading;
}
.heading_product_layout a{
    font-size:2.3vw;
    color:black;
    font-family:heading-italic;
    text-decoration-color: #076694;
}
.product_layout_grid{
    display:grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap:2.3vw;
}
.product_layout_img{
    width:100%;
    position:relative;
    height:15vw;
    border-radius: .7vw;
    border:.1vw solid black;
    overflow:hidden;
    margin-bottom: .6vw;
}
.product_layout_img img{
    width:100%;
    height:100%;
    position:absolute;
    left:0;
    top:0;
    object-fit: cover;
    object-position: center;
    transition:.4s all;
    z-index: 1;
} 
.product_badge{
    position: absolute;
    right: .6vw;
    top: .6vw;
    z-index: 2;
    font-size: .65vw;
    background-color: #DE161F;
    color: white;
    padding: .3vw .7vw;
    border-radius: 100vw;
}
.product_layout_img:hover img{
    transform:scale(1.1);
}
.product_layout_content{
    margin-bottom:1vw;
}
.product_layout_content h5 {
    font-size: .85vw;
    color: black;
    margin-bottom: .3vw;
    /* 🔥 MAKSIMAL 2 BARIS */
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}
.product_layout_price_box{
    display: flex;
    align-items: flex-end;
    gap: .4vw;
}
.product_layout_price_box span{
    color: #DE161F;
    font-size: .56vw;
    margin-bottom: .08vw;
    text-decoration: line-through;
}
.product_layout_price p{
    font-size: .66vw;
    color:black;
}
.product_layout_button{
    width:100%;
    display:flex;
    align-items: center;
    gap:.4vw;
}
.buy_now_btn{
    width: 68%;
    font-size:.8vw;
    color:white;
    background-color:black;
    padding: 0 1vw;
    border:.1vw solid transparent;
    outline:none;
    border-radius:100vw;
    cursor:pointer;
    text-transform:uppercase;
    height:2vw;
    transition:.4s all;
}
.buy_now_btn:hover{
    transform: scale(1.05);
}
.add_to_cart_btn{
    width:2vw;
    height:2vw;
    outline:none;
    border:.1vw solid black;
    font-size:1vw;
    color: black;
    background-color:transparent;
    border-radius:100vw;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.4s all;
}
.add_to_cart_btn:hover{
    transform: scale(1.05);
}
.add_to_wishlist_btn{
    width:2vw;
    height:2vw;
    outline:none;
    border:.1vw solid black;
    font-size:1vw;
    color: black;
    background-color:transparent;
    border-radius:100vw;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.4s all;
}
.add_to_wishlist_btn:hover{
    transform: scale(1.05);
}

.promo_section{
    width:84.8%;
    display: block;
    margin: auto;
    padding:2.5vw 3vw;
    border-radius:1.5vw;
    margin-top:3.8vw;
}
.promo_section_content button{
    background-color:#de16205d;
    color:white;
    font-size:.9vw;
    outline:none;
    border:.1vw solid #DE161F;
    padding:.4vw .9vw;
    font-weight:light;
    display: flex;
    align-items: center;
    gap: .5vw;
    border-radius:100vw;
}
.promo_section h3{
    color:white;
    font-size:5vw;
    text-transform:uppercase;
    font-family: heading;
}
.promo_section h3 span{
    color:#DE161F;
    font-size:5vw;
    font-family: heading;
}
.promo_section p{
    color:white;
    font-size:1vw;
    font-weight:300;
}
.promo_button{
    outline: none;
    border: none;
    background-color: #DE161F;
    color: white;
    font-size:.9vw;
    cursor: pointer;
    border-radius:.4vw;
    padding:.6vw .96vw;
    text-transform: uppercase;
    margin-top:1.8vw;
    transition: .4s all;
}
.promo_button:hover{
    transform: scale(1.05);
}

.testimonial_section{
    width:100%;
    background-color:#F5F5F5;
    margin-top:3.8vw;
    padding: 3vw 7.54vw;
}
.testimonial_box{
    background-color:white;
    padding:1.5vw;
    border-radius:1.2vw;
}
.testimonial_box_header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:.8vw;
}
.testimonial_box_header_profile{
    display: flex;
    align-items:center;
    gap:.6vw;
}
.testimonial_box_header_profile_name{
    background-color: #D9D9D9;
    width: 2.9vw;
    height: 2.9vw;
    border-radius: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
}
.testimonial_box_header_profile_name h5{
    font-size:1vw;
    font-weight:500;
    color:#595959;
}
.testimonial_box_header_desc h3{
    font-size:1vw;
    font-weight:500;
}
.testimonial_box_rating{
    display: flex;
    align-items: center;
}
.testimonial_box_rating iconify-icon{
    font-size:1.15vw;
    color:#FFC812;
}
.testimonial_box_header_img{
    width:2.9vw;
    height:2.9vw;
    position:relative;
}
.testimonial_box_header_img img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.testimonial_box_content p{
    font-size:.84vw;
    color:#696969;
    font-weight: 300;
}
.testimonialSwiper .swiper-wrapper{
    padding-bottom:3vw;
}
.testimonialSwiper .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .testimonialSwiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 .4vw !important;
}
.testimonialSwiper .swiper-pagination-bullet {
    width: 3vw;
    height: .36vw;
    display: inline-block;
    border-radius: 100vw;
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}
.testimonialSwiper .swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background:black;
}

.artikel_section{
    padding: 3.8vw 7.54vw;
    width:100%;
}
.artikel_section_layout{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap:2vw;
}
.artikel_section_box_img{
    width: 100%;
    height:14vw;
    position:relative;
    border-radius:1vw;
    border:.1vw solid black;
    overflow: hidden;
    margin-bottom:.8vw;
}
.artikel_section_box_img img{
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    top:0;
    object-fit: cover;
    object-position: center;
    transition:.4s all;
}
.artikel_section_box_img:hover img{
    transform:scale(1.1);
}
.artikel_section_meta{
    display:flex;
    gap:.7vw;
}
.artikel_section_meta_box{
    display:flex;
    align-items:center;
    gap:.2vw;
    margin-bottom:.5vw;
}
.artikel_section_meta_box iconify-icon{
    font-size:.9vw;
    color:#076694;
}
.artikel_section_meta_box span{
    font-size:.8vw;
}
.artikel_section_content h3{
    font-size:1.17vw;
    font-weight:600;
    margin-bottom:.4vw;
}
.artikel_section_content p{
    font-size:.85vw;
    color:rgb(105, 105, 105);
    font-weight:300;
}
.artikel_section_content button{
    margin-top:1vw;
    outline:none;
    border:none;
    background-color:#DE161F;
    text-transform:uppercase;
    font-size:.83vw;
    padding:.4vw .8vw;
    border-radius:.4vw;
    color:white;
    cursor:pointer;
    transition:.4s all;
}
.artikel_section_content button:hover{
    transform: scale(1.05);
}

.footer{
    width: 100%;
    background: linear-gradient(180deg, #555555 0%, #010101 100%);
    padding:3vw 8vw;
    padding-bottom: 2.6vw;
}
.footer_first{
    display: flex;
    justify-content: space-between;
}
.footer_identity img{
    width: 11vw;
    margin-bottom: 1.3vw;
}
.footer_identity p{
    color: white;
    width: 63%;
    font-size: 1vw;
    line-height: 1.5;
    margin-bottom: 1.3vw;
}
.social_media_footer{
    display: flex;
    gap: 1vw;
}
.social_media_box{
    width: 2.5vw;
    height: 2.5vw;
    position: relative;
    border-radius: 100vw;
    border: .1vw solid white;
}
.social_media_box iconify-icon{
    font-size: 1.3vw;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    columns: white;
}
.social_media_footer a{
    color: #fff;
}
.menu_footer{
    display: flex;
    gap: 7vw;
    align-items: flex-start;
    margin-top: 3vw;
}
.menu_footer_box{
    width: max-content;
}
.menu_footer_box h3{
    color: white;
    font-size: 1.1vw;
    font-weight: 600;
    margin-bottom: 1vw;
}
.menu_footer_box ul li{
    list-style: none;
    font-size: 1vw;
    color: white;
    margin-bottom: .9vw;
}
.menu_footer_box ul li a{
    text-decoration: none;
    color: white;
    width: max-content;
}
.footer_second{
    display: flex;
    justify-content: space-between;
    padding: 2.2vw 0;
    align-items: center;
    border-top: .1vw solid rgba(255, 255, 255, 0.377);
    border-bottom: .1vw solid rgba(255, 255, 255, 0.377);
    margin: 2.2vw 0;
    margin-bottom: 1.8vw;
}
.footer_second ul{
    display: flex;
    list-style: none;
    gap: 1.7vw;
}
.footer_second ul li a{
    text-decoration: none;
    font-size: 1vw;
    color: white;
}
.footer_second span{
    color: white;
    text-transform: uppercase;
    font-size: 1vw;
    display: block;
}
.footer_third p{
    font-size: .9vw;
    color: white;
    margin-bottom: 2.7vw;
}
.footer_third p span{
    font-weight: 600; 
}
.company_data{
    display: flex;
    gap: 2vw;
}
.company_data_box{
    display: flex;
    gap: .66vw;
    align-items: flex-start;
}
.company_data_box iconify-icon{
    font-size: 1.4vw;
    color: white;
}
.company_data_box h5{
    font-size: 1vw;
    color: white;
    margin-bottom: .4vw;
    font-weight: 600;
}
.company_data_box p{
    margin-bottom: 0;
}



@media (max-width:768px) {
    .footer{
        padding:13vw 5vw;
        padding-bottom: 4vw;
    }
    .footer_first{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .footer_identity img {
        width: 30vw;
        margin-bottom: 4vw;
    }
    .footer_identity p {
        color: white;
        width: 100%;
        font-size: 3.5vw;
        line-height: 1.5;
        margin-bottom: 4vw;
    }
    .social_media_footer{
        gap: 3vw;
    }
    .social_media_box{
        width: 7vw;
        height: 7vw;
    }
    .social_media_box iconify-icon{
        font-size: 3.5vw;
    }
    .menu_footer{
        display: flex;
        flex-direction: row;
        gap: 18vw;
        align-items: flex-start;
        margin-top: 7vw;
    }
    .menu_footer_box{
        width: max-content;
    }
    .menu_footer_box h3{
        font-size: 4vw;
        margin-bottom: 3.4vw;
    }
    .menu_footer_box ul li{
        font-size:3.5vw;
        margin-bottom: 2.8vw;
    }
    .menu_footer_box ul li a{
        text-decoration: none;
        color: white;
        width: max-content;
    }
    .footer_second{
        display: flex;
        justify-content: space-between;
        padding: 4vw 0;
        align-items: center;
        border-top: .1vw solid rgba(255, 255, 255, 0.377);
        border-bottom: .1vw solid rgba(255, 255, 255, 0.377);
        margin: 2.5vw 0;
        margin-bottom: 5vw;
        flex-direction: column;
        gap: 3vw;
    }
    .footer_second ul{
        display: flex;
        list-style: none;
        gap: 3vw;
    }
    .footer_second ul li a{
        font-size: 3.5vw;
    }
    .footer_second span{
        font-size: 3.5vw;
    }
    .footer_third p{
        font-size: 3.5vw;
        margin-bottom: 6vw;
        line-height: 1.5;
    }
    .company_data{
        display: flex;
        flex-direction: column;
        gap: 4vw;
    }
    .company_data_box{
        display: flex;
        gap: 1.3vw;
        align-items: flex-start;
    }
    .company_data_box iconify-icon{
        font-size: 4vw;
    }
    .company_data_box h5{
        font-size: 3.5vw;
        color: white;
        margin-bottom: 1vw;
        font-weight: 600;
    }
    .company_data_box p{
        margin-bottom: 0;
    }
}