/* ----- SCROLL BAR STYLES ----- */
::-webkit-scrollbar-track {
    background: #000000;
    width: 12px;
}

::-webkit-scrollbar-thumb {
    background: #e2e2e2;
    border: 2px solid #e2e2e2;
} 

::-webkit-scrollbar-thumb:hover {
    background: #ffffff;
    border: 2px solid #ffffff;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}


/* ----- GENERAL STYLES ----- */
*{
    padding: 0;
    margin: 0;
}

.koleksi-container,
#terbaru .section-row,
.koleksi-container,
.komposer-container,
.koleksi-detail{
    zoom: 0.9;
}

.fw-600{
    font-weight: 600;
}

.custom-button-or{
    width: calc(100% - 16px) !important;
}

*{
    font-family: "Poppins", sans-serif;
}

a{
    text-decoration: none;
    color: black;
}

body{
    display: flex;
    flex-direction: column;
    width: 100vw;
    align-items: center;
    overflow-x: hidden;
    min-height: 100vh;
    background-color: #f5f5f5 !important;
}

.mb-10{
    margin-bottom: 10px !important;
}

.mb-20{
    margin-bottom: 20px !important;
}

.mb-30{
    margin-bottom: 30px !important;
}

.pb-10{
    padding-bottom: 10px !important;
}

.pb-20{
    padding-bottom: 20px !important;
}

.pb-30{
    padding-bottom: 30px !important;
}

.pt-10{
    padding-top: 10px !important;
}

.pt-20{
    padding-top: 20px !important;
}

.pt-30{
    padding-top: 30px !important;
}

.justify-space-between{
    justify-content: space-between;
}

.align-items-center{
    align-items: center;
}

.row{
    display: flex;
}

.gap-10{
    gap: 10px;
}

.gap-20{
    gap: 20px;
}

.gap-30{
    gap: 30px;
}

.gap-40{
    gap: 40px;
}

.gap-50{
    gap: 50px;
}

.popup-nav-container.active{
    display: flex !important;
}

.modal-nav-links{
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: black !important;
}

.modal-nav-links .upper-nav-link{
    color: black !important;
}

.upper-nav-bar{
    width: calc(100vw - 160px);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 20px 80px;
    background-color: black;
    color: #d4d4d4;
    position: sticky;
    top: 0;
    z-index: 5;
}

.upper-nav-logo{
    width: 80px;
    object-fit: contain;
}

.upper-nav-search{
    width: 20vw;
    display: flex;
    flex-wrap: nowrap;
    height: 32px;
    font-size: 20px;
    background-color: #e2e2e2;
    justify-content: center;
    align-items: center;
    padding: 4px 8px;
    border-radius: 3px;
}

.upper-nav-search .icon{
    color: rgb(106, 106, 106);
    margin-right: 6px;
}

.upper-nav-search input{
    width: 100%;
    background-color: transparent;
    border: 0;
    font-size: 16px;
}

.upper-nav-search input:focus{
    outline: none;
}

.upper-nav-links{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 34%;
    font-size: 16px;
}

.upper-nav-link{
    transition: 0.5s ease-in-out;
    text-decoration: none;
    color: #d2d2d2 !important;  
}

.btn{
    padding: 0 16px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e2e2e2;
    border-radius: 5px;
    border: 0;
    font-size: 16px;
    border: 1px solid transparent;
    transition: 0.25s ease-in-out;
}

.btn-link{
    text-decoration: underline;
    font-weight: bold;
    font-size: 18px;
    border: 0;
    background-color: transparent;
    cursor:pointer;
}

.btn-muted{
    background-color: transparent !important;
    color: black;
    font-weight: bold;
}

.justify-content-end{
    justify-content: flex-end;
}

.justify-content-start{
    justify-content: flex-start;
}

.justify-content-between{
    justify-content: space-between;
}

.upper-nav-link:hover{
    color: white;
    cursor: pointer;
}

.upper-nav-link.active{
    font-weight: bold;
    color: white;
}

.btn:hover{
    cursor: pointer;
}

.btn:hover.border-muted-black{
    border: 1px solid #fe0154;
}

.btn:hover.btn-black{
    color: #fe0154;
}

.btn-white{
    background-color: #fe0154 !important;
    color: #e2e2e2 !important;
    font-weight: bold !important;
    border: 1px solid #fe0154 !important;
}

.btn-white:hover{
    color: #fe0154 !important ;
    background-color: transparent !important;
}

.btn-black{
    background-color: black;
    color: #e2e2e2;
    font-weight: bold;
}

i.fas.fa-shopping-cart{
    position: relative;
}

span.cart-count{
    position: absolute;
    background-color: #fe0154;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #fff;
    top: 50%;
    right: -20px;
}

.border-muted-black{
    border: 1px solid #fe0154;
}

.ringkasan-info{
    color: #2ea5ff;
    display: flex;
    gap: 10px;
    font-size: 18px;
    margin: 8px 4px
}

.button-merge{
    display: flex;
}

.third-party-login-hide{
    display: none !important;
}

.button-merge .btn:first-child{
    border-radius: 4px 0 0 4px;
    border-right: 0;
}

.button-merge .btn{
    border-radius: 0;
}

.button-merge .btn:last-child{
    border-radius: 0 4px 4px 0;
    border-left: 0;
}

.resp-page-section:first-of-type{
    width: 100vw;
    height: 100vh;
}

.resp-page-section:last-of-type{
    margin-bottom: 80px;
}

.resp-page-section{
    width: 70vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.home-section{
    width: 100vw;
    height: 20vw;
    aspect-ratio: 10/2 !important;
}

.home-carousel{
    width: 100%;
    height: 100%;
}

.carousel-item{
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.carousel-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.section-row{
    display: flex;
}

.section-row.left-flex{
    justify-content: space-between !important;
    align-items: center !important;
}

.resp-page-section.left-flex{
    justify-content: center;
    align-items: flex-start;
}

.resp-page-section.left-flex.no-first{
    width: 90vw;
    margin-top: 36px !important;
    align-items: flex-start;
    justify-content: flex-start;
    height: max-content;
}

.resp-page-section.left-flex#kategori{
    margin-top: 80px;
    margin-bottom: 50px;
    padding: 50px 290px 80px 290px;
}

.section-title{
    font-size: 32px;
    font-weight: bold;
    color: #0b0b0b;
}

.mt-s{
    margin-top: 8px;
}

.mt-m{
    margin-top: 16px;
}

.mt-l{
    margin-top: 24px;
}

.mt-xl{
    margin-top: 32px;
}

.mt-xxl{
    margin-top: 40px;
}

.mt-xxxl{
    margin-top: 48px;
}

.radio-custom {
    margin: 5px;
    display: none !important;
}

.radio-label {
    padding: 6px 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #f8f8f8;
    cursor: pointer;
}

.radio-custom:hover + .radio-label {
    background-color: #e9ecee;
    border-color: #adb1b8;
}

.w-fit{
    width: max-content !important;
}

.radio-custom:checked + .radio-label {
    background-color: #ffe7e4;
    border-color: #fe0154;
}

.section-sub{
    width: 600px;
    font-size: 16px;
    color: grey;
    text-align: center;
    margin-bottom: 40px;
}

#terbaru .section-row{
    width: 100%;
    column-gap: 30px !important;
    justify-content: space-evenly !important;
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.section-row{
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

#terbaru .card{
    height: 27vw;
    width: 13vw;
    /* border: 1px solid #d2d2d2; */
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: flex-start;
    /* background-color: #fff; */
    /* box-shadow: 0 4px 8px 0 rgba(0,0,0,0.1); */
}

#terbaru .card:hover{
    cursor:pointer;
    transform:scale(1.03);
    
}

#terbaru .banner {
    border: 1px solid #d2d2d2;
    border-radius: 8px;
    aspect-ratio: 210/297;
    width: 100%;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.1);
}

#terbaru .title{
    margin-top: 20px;
    font-size: 14px;
    font-weight: bold;
    color: #0b0b0b;
    margin-bottom: 8px;
}

#terbaru .harga-item{
    padding-top:5px;
    font-weight:bold;
}

.card-newtitle{
    width: 230px;
    display: flex;
    justify-content: space-between;
    font-size: 24px;
    font-weight: bold;
    color: #0b0b0b;
}

.card-smalltitle{
    width: 230px;
    display: flex;
    justify-content: space-between;
}

.history-status{
    padding: 8px 16px;
    font-size: 20px;
    border-radius: 100px;
    font-weight: bold;
}

.success{
    background-color: #dbf4e6;
    color: #19874b;
}

.default{
    background-color: #F5F5F5;
    color: #404040;
}

.warning{
    background-color: #FDEDBC;
    color: #AD8917;
}

.card-sub{
    height: 60px;
    font-size: 16px;
    color: grey;
}

.card-subtitle{
    font-size: 24px;
}

.card-more{
    background-color: #fe0154;
    border: 1px solid #fe0154;
    color: white;
    font-size: 20px;
    font-weight: bold;
    width: fit-content;
    padding: 8px 32px;
    margin: 16px auto;
    border-radius: 4px;
    transition: 0.25s ease-in-out;
}

.card-more:hover{
    background-color: transparent;
    color: #fe0154;
    cursor: pointer;
}

.label-container{
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.history-img{
    border-radius: 8px;
    width: 200px !important;
    object-fit: contain !important;
    object-position: center !important;
    aspect-ratio: 1/1 !important;
}

.gap-10{
    gap: 10px;
}

.gap-20{
    gap: 20px;
}

.gap-30{
    gap: 30px;
}

.label-link{
    border-radius: 4px;
    border: 1px solid #0b0b0b;
    color: #0b0b0b;
    font-size: 18px;
    padding: 6px 12px;
    font-weight: bold;
    border-bottom: 3px solid #0b0b0b;
    transition: 0.25s ease-in-out;
}

.label-link:hover{
    cursor: pointer;
    background-color: black;
    color: white;
    border-bottom: 3px solid #0b0b0b;
}

.koleksi-container{
    width: 100%;
    margin: 0 auto;
    margin-top: 20px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1.8%;
    row-gap: 24px;
}

.koleksi-link{
    width: 18.2%;
    aspect-ratio: 210/367;
    border-radius: 8px;
    border: 1px solid #d2d2d2;
    overflow: hidden;
}

.koleksi-link img{
    width: 100%;
    aspect-ratio: 210/297;
    object-fit: cover;
    object-position: center;
}

.dekstop-hide{
    display: none !important;
}

.tab-koleksi-link{
    width: fit-content;

    height: max-content;
    /*border-radius: 4px;*/
    /*background-color: #fff;*/
    overflow: hidden;
    transition: box-shadow 0.3s ease-in-out;
}

.tab-koleksi-link img{
    width: 100%;
    aspect-ratio: 210/297 !important;
    object-fit: cover;
    object-position: center;
    border-radius:7px;
}

.tab-koleksi-link:hover{
    transform: scale(1.03);
    cursor: pointer;
}

.tab-koleksi-composer {
    font-size: 14px;
    color: #555;
    margin-top: 5px;
    text-align: center;
}

.tab-koleksi-price {
    font-size: 14px;
    color: #555;
    margin-top: 5px;
    text-align: center;
    font-weight: bold;
}

.koleksi-title{
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 10px 18px 0px 18px;
}

.tab-koleksi-sub{
    font-size: 18px;
    text-align: center;
    padding: 6px 10px 16px 10px;
    color: grey;
}

.tab-koleksi-title{
    font-size: 13px;
    text-align: center;
    font-weight: bold;
    padding: 10px 10px 0px 10px;
}

.footer{
    margin-top: auto;
    height: auto;
    width: calc(100vw - 160px);
    color: #d2d2d2;
    display: flex;
    flex-direction: column;
    background-color: black;
    font-size: 16px;
    padding: 36px 80px 20px 80px;
}

.footer-logo{
    width: 16em;
}

.footer-row{
    display: flex;
    flex-wrap: wrap;
    height: auto;
    gap: 30px;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.margin-top-auto{
    margin-top: auto !important;
}

.competition-hidden{
    visibility: hidden !important;
    display: none !important;
}

.competition-none{
    display: none !important;
}

.footer-col.min-gap > .footer-row{
    margin-top: 10px;
    justify-content: center;
    gap: 30px;
    margin-right: 30px;
}

.footer-desc{
    font-size: 16px;
    width: 22em;
    margin: auto 0 auto 0;
}

.footer-col{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-title{
    font-size: 20px;
    font-weight: bold;
}

.footer-title img{
    width: 140px;
}

.footer-kategori{
    margin-top: 10px;
}

.footer-link{
    display: flex;
    align-items: center;
    gap: 10px;
    color: #d2d2d2a9 !important;
}

.footer-link > .fa-brands{
    font-size: 26px;
}

.little-dot{
    font-size: 6px;
}

.footer-link:hover{
    cursor: pointer;
    color: white !important;
}

hr{
    margin: 20px 0;
    width: 100%;
}

.footer-cr{
    color: #d2d2d2;
}

.filter-list{
    flex-direction: column;
    gap: 5px;
    margin-top: 5px;
    margin-left: 10px;
    display: none;
}

.filter-list.active{
    display: flex;
}

.filter-title{
    font-size: 24px;
    margin: 10px 0;
}

.filter-group{
    font-size: 16px;
    margin-left: 10px;
    display: flex;
    align-items: center;
}

.filter-name{
    width: 100px;
}

.filter-icon{
    font-size: 16px;
}

.filter-group:not(:first-child){
    margin-top: 10px;
}

.filter-group:hover{
    cursor: pointer;
}

.section-row.flex-start{
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}

.min-col{
    width: 15%;
}

.col-35{
    width: 35%;
}

.col-65{
    width: 65%; 
}

.max-col{
    width: 85%;
}

.max-width{
    width: 100% !important;
}

.trigger-container{
    margin-top: 20px;
    display: flex;
    gap: 30px;
}

.tab-trigger{
    font-size: 20px;
    transition: 0.25s ease-in-out;
    cursor:pointer;
}

.tab-trigger.active{
    font-weight: bold;
    border-bottom: 1px solid #fe0154;
    color: #fe0154;
    cursor:pointer;
}

.tab-trigger:hover{
    border-bottom: 1px solid #fe0154;
}

.tab-container{
    display: none;
}

.tab-container.active{
    display: block;
}

.komposer-container{
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    gap: 1.8% !important;
    row-gap: 30px !important;
    margin-top: 20px !important;
    justify-content: center;
    width: 100%;
}

.komposer-card{
    width: 28vw;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    /*border: 1px solid #d2d2d2;*/
    /*border-radius: 4px;*/
    transition: box-shadow 0.25s ease-in-out;
    overflow: hidden;
    /*box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.1);*/
}

.komposer-card > img{
    aspect-ratio: 16/10;
    width: 100%;
    object-fit: cover;
    object-position: center;
    align-self: center;
    border-radius: 5px;
}

.komposer-name{
    font-size: 20px;
    font-weight: bold;
    color: black;
}

.komposer-region{
    color: grey;
    font-size: 16px;
}

.section-col{
    display: flex;
    flex-direction: column;
    width: 100%;
}

.w-50{
    width: 50%;
}

.checkout-page .alamat-group{
    width: calc(100% - 48px) !important;
    height: auto !important;
}

.align-items-end{
    align-items: flex-end;
}

.history-card{
    display: flex;
    min-height: 260px;
    width: calc(100% - 32px);
    justify-content: space-between;
    border: 1px solid #d2d2d2;
    background-color: #fff;
    box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.1);
    border-radius: 8px;
    padding: 16px;
    transition: 0.25s ease-in-out;
}

.card-muted{
    color: #aeaeae;
    font-size: 20px;
}

.row{
    display: flex;
}

.col{
    display: flex;
    flex-direction: column;
}

.komposer-go-to{
    position: absolute;
    background-color: black;
    color: #e2e2e2;
    font-size: 16px;
    padding: 20px;
    border-radius: 1000px;
    z-index: 3;
    transform: translate(260%, 270px);
    transition: 0.3s ease-in-out;
    opacity: 0;
}

.komposer-card:hover .komposer-go-to{
    transform: translate(260%, 250px);
    opacity: 1;
}

.komposer-card:hover{
    /*box-shadow: 0px 2px 8px 2px rgba(0,0,0,0.15);*/
    cursor:pointer;
    transform: scale(1.03);
    
}

.komposer-detail{
    font-size: 18px;
    margin-top: 150px !important;
}

.komposer-detail .section-row > img{
    border-radius: 1000px;
    aspect-ratio: 1/1;
    height: 360px;
    object-fit: cover;
    object-position: center;
    margin: 20px 0;
}

.komposer-detail .komposer-name{
    font-size: 42px;
}

.komposer-detail .komposer-region{
    font-size: 24px;
}

.komposer-story{
    color: grey;
}

.komposer-medsos{
    display: flex;
    gap: 10px;
    font-size: 24px;
}

.link{
    color: grey;
    transition: 0.25s ease-in-out;
}

.link:hover{
    color: black;
}

.koleksi-detail{
    display: flex;
    flex-direction: column;
    width: 100vw;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 150px !important;
}

.koleksi-header{
    height: max-content;
    position: relative;
}

.koleksi-detail > .koleksi-header > img{
    margin-bottom: 40px;
    width : 90vw;
    height: 400px;
    border-radius: 10px;
    object-fit: cover;
    object-position: center;
    filter:blur(3px);
}

.koleksi-detail > .koleksi-header:first-child > .koleksi-content{
    position: relative;
    z-index: 1;
    top: 0;
    margin-bottom: 40px;
    color: rgb(0, 0, 0);
    background-color: rgb(255, 255, 255);
    border: 3px solid black;
    width: calc(90vw - 120px);
    height: calc(400px - 80px);
    border-radius: 10px;
    padding: 40px 40px 40px 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.koleksi-detail > .koleksi-header > .koleksi-content > .koleksi-name{
    display: flex;
    font-size: 42px;
    margin-bottom: 30px;
    justify-content: center;
}

.koleksi-detail > .koleksi-header > .koleksi-content > .koleksi-desc{
    font-size: 18px;
    text-align: justify;
    text-align-last: start;
    opacity: 0.7;
}

.koleksi-name{
    font-size: 28px;
    font-weight: bold;
}

.koleksi-detail .koleksi-container{
   
}

.filter-group{
    display: flex;
    position: relative;
    font-weight:bold;
    font-size:14px;
    gap: 20px;
    color: black;
    transition: 0.25s ease-in-out;
}

.filter-icon{
    font-size: 20px;
    transition: 0.25s ease-in-out;
    letter-spacing:-1px;
}

.filter-icon:hover{
    color: #fe0154;
}

.koleksi{
    margin-top: 110px !important;
    justify-content: center !important;
    align-items: center !important;
}

.breadcrumb{
    font-size: 24px;
}

.penerbit-detail{
    margin-top: 150px !important;
}

.prod-img-idx{
    aspect-ratio: 3/4;
    width: 80%;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
    margin: 20px 0;
}

.prod-img-list{
    width: 80% !important;
}

.prod-img-list img{
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
}

.prod-name{
    font-size: 42px;
    font-weight: bold;
    margin-bottom: 25px;
}

.prod-desc{
    font-size: 18px;
    margin-bottom: 20px;
}

.prod-hint{
    font-size: 16px;
    color: grey;
    font-style: italic;
}

.prod-view{
    font-size: 20px;
    display: flex;
    gap: 15px;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: grey;
}

.prod-view > i{
    transition: 0.25s ease-in-out;
}

.prod-view > i:hover{
    color: black;
    cursor: pointer;
}

.prod-detail-name{
    font-size: 20px;
    font-weight: bold;
}

.prod-detail-type, .prod-detail-komposer{
    font-size: 16px;
    color: grey;
}

.prod-detail-desc{
    margin-top: 10px;
    font-size: 18px;
}

.prod-detail-price{
    width: 100%;
    text-align: center;
    font-size: 18px;
}

.qty-group{
    width: max-content;
    margin: auto;
    border-radius: 5px;
    border: 1px solid rgb(191, 191, 191);
    overflow: hidden;
    padding: 2px 10px;
}

.qty-group > button{
    font-size: 18px;
    font-weight: bold;
    border: 0;
    background-color: transparent;
}

.qty-group > input{
    font-size: 18px;
    width: 50px;
    text-align: center;
    border: 0;
    background-color: transparent;
}

.qty-group > input:focus{
    outline: none;
}

table.prod-showcase{
    margin-top: 30px;
    width: 100%;
    background-color: #ffffff;
    border-radius: 4px;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

table.prod-showcase th{
    font-size: 24px;
    padding: 16px 0;
    border: 1px solid #fe0154;
    color: white;
    background-color: #fe0154;
}

table.prod-showcase th:first-child{
    border-radius: 4px 0 0 0;
}

table.prod-showcase th:last-child{
    border-radius: 0 4px 0 0;
}

table.prod-showcase tbody tr td{
    padding: 8px 12px;
}

table.prod-showcase tbody tr:not(:last-child) td{
    border-bottom: 1px solid rgb(133, 133, 133) !important;
    padding: 8px 12px;
}

.prod-caution{
    margin: 10px 0;
    font-size: 16px;
    color: #b4a200;
    font-style: italic;
}

.button-cart{
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.button-add-cart{
    font-size: 20px;
    font-weight: bold;
    padding: 9px 18px;
    background-color: #fe0154;
    border: 1px solid #fe0154;
    color: white;
    border-radius: 6px;
    transition: 0.25s ease-in-out;
}

.button-add-cart:hover{
    background-color: transparent;
    color: #fe0154;
}

.login-page{
    display: flex;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

.login-form-col{
    width: 65%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.login-banner-col{
    width: 45%;
    height: 100%;
    background-color: black;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.login-banner-col > img{
    object-fit: contain;
    width: 350px;
}

.login-banner-title{
    margin: 20px 20px 20px 0;
    font-size: 24px;
    font-style: italic;
}

.login-form-title{
    font-size: 30px;
}

.login-form-sub{
    font-size: 20px;
    color: rgb(97, 97, 97);
    margin-bottom: 44px;
}

.login-form-sub a{
    font-size: 20px;
    color: black;
    margin-bottom: 44px;
    text-decoration: none; 
    font-weight: bold;
}

.login-form-group{
    width: 45%;
    margin-top: 12px;
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.login-input-group{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    padding: 10px;
    border: 1px solid rgb(97, 97, 97);
    border-radius: 4px;
}

.login-form-group a{
    width: 45%;
    display: flex;
    flex-direction: column;
    color: black;
    text-decoration: none; 
    font-weight: bold;
}

.notes {
    font-size: 16px !important;
    color: rgb(97, 97, 97);
    margin-bottom: 10px;
}

.login-form-group > label{
    font-size: 20px;
    margin-bottom: 10px;
}

.login-input-group > input{
    width: 100%;
    font-size: 18px;
    border: 0;
    background-color: transparent;
}

.login-input-group > input:focus{
    outline: none;
}

.login-button{
    background-color: black;
    border: 1px solid black;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    color: white;
    width: calc(100% + 20px);
    padding: 10px;
    transition: 0.3s ease-in-out;
}

.login-button[disabled] {
    background-color: #CCCCCC;
    color: #666666;
    cursor: not-allowed;
    opacity: 0.5;
}

.login-button:hover{
    background-color: white;
    color: black;
}

.login-form-hint{
    margin-top: -20px;
    margin-bottom: 20px;
    text-align: center;
}

.devider{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    width: calc(100% + 20px);
}

.line{
    height: 1px;
    width: 100%;
    margin: 30px 0;
    background-color: rgb(212, 212, 212);
}

a.login-with-button{
    border: 1px solid black;
    border-radius: 4px;
    font-size: 18px;
    width: calc(100%);
    padding: 10px;
    background-color: transparent;
    margin: 8px 0;
    transition: 0.3s ease-in-out;
    justify-content: center;
    align-items: center;
}

.login-with-button:hover{
    font-weight: bold;
}

.profile-page .login-button{
    border: 1px solid #fe0154;
    background-color: #fe0154;
}

.profile-page .login-button:hover{
    background-color: transparent;
    color: #fe0154;
}

.login-with-button > i{
    margin: 0 6px;
    font-size: 20px;
}

.custom-dropdown-class{
    width: 16.5vw !important;
    margin-left: -32px;
}

.select2-dropdown *, .select2-selection *{
    font-family: "Open Sans", sans-serif !important;
}

.profile-img-card{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(20vw - 32px);
    padding: 16px;
    border-radius: 4px;
    border: 2px solid #ebebeb;
    background-color: #fff;
    box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.1);
}

.profile-img-view{
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
}

.profile-img-card > .login-button{
    width: 100%;
    margin: 14px 0;
}

.profile-img-card > .profile-img-hint{
    color: grey;
    margin-bottom: 8px;
}

.profile-page > .tab-container{
    margin: 24px 0;
}

.profile-page .min-col{
    width: 20vw;
}

.profile-page .max-col .alamat-group{
    width: calc(100% - 40px) !important;
}

.profile-page .section-row{
    flex-direction: row;
    width: 100% !important;
    gap: 2.6% !important;
}

.bio-kategori{
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

.bio-kategori:not(:first-child){
    margin-top: 24px;
}

.bio-group{
    display: flex;
    font-size: 18px;
    margin: 2px 0;
    gap: 16px;
}

.bio-group:last-of-type{
    margin-bottom: 20px !important;
}

.w-100{
    width: 100% !important;
}

.h-col{
    height: 86.5vh !important;
}

.bio-title{
    width: 35%;
}

.alamat-group-container{
    display: flex;
    flex-wrap: wrap;
    row-gap: 20px !important;
    column-gap: 1% !important;
    width: 100%;
}

.alamat-group{
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: 2px solid #ebebeb;
    background-color: #fff;
    border-left: 6px solid #fe0154;
    border-radius: 4px;
    width: 780px;
    box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.1);
}

.alamat-page .alamat-group{
    width: 100%;
}

.alamat-col .login-button{
    width: 828px;
}

.alamat-title{
    margin-bottom: 8px;
}

.alamat-penerima{
    font-size: 20px;
    font-weight: bold;
}

.alamat-desc{
}

.bio-col{
    width: 30% !important;
    height: 100% !important;
    border: 2px solid #ebebeb;
    background-color: #fff;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px !important;
    border-radius: 4px;
    box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.1);
}

.bio-col .login-button{
    margin-top: 20px;
    width: 100%;
}

.alamat-page .section-col{
    margin-top: 30px;
    width: 90vw;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.alamat-col{
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 850px !important;
}

.alamat-tag{
    border-radius: 4px;
    padding: 4px 6px !important;
    background-color: grey;
    color: white;
    text-align: center;
}

.popup-filter{
    z-index: 3;
    width: 20%;
    position: fixed;
    background-color: transparent;
    justify-content: flex-end;
    align-items: flex-end;
    display: none;
    top: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.25s ease-in-out;
}

.special-filter{
    padding: 8px 16px !important;
}

.popup-filter-card{
    display: flex;
    background-color: white;
    height: auto;
    width: 20%;
    height: auto;
    padding: 20px;
    position: fixed;
    flex-direction: column;
}

.popup-quit{
    color: #fe0154;
    font-size: 24px;
}

.popup-right{
    z-index: 8;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.6);
    justify-content: flex-end;
    align-items: flex-end;
    display: none;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    opacity: 0;
}

.popup-center{
    z-index: 8;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    display: none;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    opacity: 0;
}

.popup-right.active,
.popup-center.active,
.popup-filter.active{
    display: flex;
    opacity: 1;
}

.popup-right.active .cart-modal{
    transform: translateX(0);
}

.popup-center .cart-modal{
    height: auto !important;
}

.popup-center .cart-modal .form-col{
    overflow-y: hidden;
}

.sticky-title{
    position: sticky;
    padding-top: 10px;
    top: 0;
    background-color: #ffffff;
}

.cart-modal{
    display: flex;
    top: 0;
    background-color: white;
    min-height: 100vh !important;
    max-height: 100vh !important;
    min-width: 20vw;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    position: fixed;
}

.normal-modal{
    display: flex;
    background-color: white;
    min-height: auto;
    min-width: 20vw;
    width: auto;
    padding: 0 20px;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    position: fixed;
}

.nav-profile{
    display: flex;
    background-color: transparent;
    border: 0;
}

.nav-profile img{
    aspect-ratio: 1/1;
    width: 42px;
    object-fit: cover;
    object-position: center;
    border-radius: 1000px;
    transition: 0.2s ease-in-out;
    border: 1px solid transparent;
}

.nav-profile:hover img{
    border: 1px solid #ffffff;
}

.right-flex{
    justify-content: flex-end !important;
    gap: 20px;
}

.cart-col{
    gap: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 8px;
}

.modal-col-custom{
    background-color: #ffffff;
    width: calc(100%);
    height: 300px !important;
    display: flex;
    flex-direction: column;
    background-color: white;
    border-top: 1px solid #f2f2f2;
    padding-top: 16px;
}

.modal-col{
    height: auto;
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.cart-detail{
    display: flex;
    gap :20px;
    align-items: center;
}

.cart-list{
    margin-top: 20px;
    padding: 18px;
    border-radius: 4px;
    border: 2px solid #ebebeb;
    background-color: #fff;
    border-left: 6px solid #fe0154;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.1);
}

.form-col{
    display: flex;
    flex-direction: column;
    width: 600px;
    gap: 20px;
    height: 100%;
    padding: 4px;
}

.mx-m{
    margin-left: 16px !important;
    margin-right: 16px !important;
}

.selected-filter-container{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.selected-filter-container-merchandise{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.border-radius-4{
    border-radius: 4px;
}

.py-l{
    padding-top: 24px;
    padding-bottom: 24px;
}

.selected-filter{
    border-radius: 4px;
    padding: 4px 8px;
    border: 1px solid grey;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    transition: 0.25s ease-in-out;
}

.align-items-center{
    align-items: center;
}

.selected-filter button{
    border: 0;
    background-color: transparent;
    font-size: 18px;
    transition: 0.25s ease-in-out;
}

.selected-filter:hover{
    color: #fe0154;
    border: 1px solid #fe0154;
}

.selected-filter:hover button{
    color: #fe0154;
}

.selected-filter-merchandise{
    border-radius: 4px;
    padding: 4px 8px;
    border: 1px solid grey;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    transition: 0.25s ease-in-out;
}

.selected-filter-merchandise button{
    border: 0;
    background-color: transparent;
    font-size: 18px;
    transition: 0.25s ease-in-out;
}

.selected-filter-merchandise:hover{
    color: #fe0154;
    border: 1px solid #fe0154;
}

.selected-filter-merchandise:hover button{
    color: #fe0154;
}

.col-form-group{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.col-form-group > label{
    font-size: 20px;
}

.col-form-group > input{
    border : 1px solid #d2d2d2;
    border-radius: 4px;
    font-size: 16px;
    padding: 4px 8px;
    transition: 0.25s ease-in-out;
}

.col-form-group > input:focus{
    outline: none;
    border : 1px solid black;
}

.col-form-group > select{
    border : 1px solid #d2d2d2;
    border-radius: 4px;
    font-size: 16px;
    padding: 4px 8px;
    transition: 0.25s ease-in-out;
}

.col-form-group > select:focus{
    outline: none;
    border : 1px solid black;
}

.input-hint{
    font-size: 12px;
}

.input-hint.active{
    color: red;
}

.checkout-page .section-row{
    align-items: flex-start;
}

.checkout-page .cart-detail-desc{
    width: 100%;
}

.checkout-page .login-with-button{
    text-align: center;
    padding: 8px 12px;
    border: 1px solid #ccc;
    Border-radius: 4px;
    border-width: 1px;
    border-color:black
}

.checkout-page .login-with-button:hover{
    font-weight: normal;
}

.ringkasan-row{
    display: flex;
    justify-content: space-between;
}

.ringkasan-belanja{
    margin:0 0 20px 0;
    font-size: 18px;
    padding: 16px;
    width: calc(100% - 32px);
    border: 2px solid #ebebeb;
    background-color: #fff;
    border-left: 6px solid #fe0154;
    border-radius: 4px;
    box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.1);
}

.ringkasan-title{
    font-weight: bold;
    font-size: 20px;
    border-bottom: 1px solid grey;
    padding: 0 0 16px 0;
    margin-bottom: 10px;
}

.ringkasan-row:not(:last-child){
    margin-bottom: 10px;
}

.ringkasan-row:last-child{
    padding: 16px 0 0 0;
    border-top: 1px solid grey;
}

.cart-detail-img > img{
    aspect-ratio: 1/1;
    width: 160px !important;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
}

.cart-detail-desc{
    width: 400px;
}

.cart-detail-title{
    text-wrap: nowrap;
    font-size: 20px;
    font-weight: bold;
}

.cart-detail-composer{
    text-wrap: nowrap;
    font-size: 20px;
    font-weight: bold;
}

.cart-detail-voicetype{
    color: grey;
    font-size: 18px;
}

.cart-detail-price{
    text-wrap: nowrap;
    font-size: 18px;
    font-weight: bold;
}

.cart-choir-select{
    border-radius: 4px;
    font-size: 16px;
    padding: 4px;
    border: 1px solid rgb(191, 191, 191);
}

.cart-choir-select:focus{
    outline:none;
}

.cart-modal .qty-group{
    margin: 0;
}

.modal-row{ 
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-title{
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 20px;
}

.modal-exit{
    border: 0;
    padding: 8px;
    color: black;
    font-size: 28px;
    background-color: transparent;
    transform: 0.25s ease-in-out !important;
}

.modal-exit:hover{
    color: #fe0154;
}

.button-line{
    display: flex;
    gap: 20px;
    align-items: center;
}

.col-gap-30{
    column-gap: 30px;
}

.button-red{
    background-color: #fe0154;
    border-radius: 8px;
    color: white;
    font-size: 20px;
    padding: 16px;
    transition: 0.25s ease-in-out;
}

.button-red:hover{
    background-color: #b4033e;
}

.h-100{
    height: 100% !important;
}

.justify-content-space-between{
    justify-content: space-between;
}

.button-row{
    width: 100%;
    justify-content: space-between;
}

.alamat-title{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    color: grey;
    width: 100%;
}

.alamat-show-popup{
    white-space: nowrap;
    border-radius: 4px;
    margin-left: 10px;
    color: white;
    font-size: 16px;
    border: 1px solid #fe0154;
    background-color: #fe0154 !important;
    padding: 4px 8px;
    background-color: transparent;
    transition: 0.3s ease-in-out;
}

.alamat-change{
    white-space: nowrap;
    border-radius: 4px;
    margin-left: 10px;
    color: white;
    font-size: 16px;
    border: 1px solid #fe0154;
    background-color: #fe0154 !important;
    padding: 4px 8px;
    background-color: transparent;
    transition: 0.3s ease-in-out;
}

.alamat-show{
    white-space: nowrap;
    border-radius: 4px;
    margin-left: 10px;
    color: white;
    font-size: 16px;
    border: 1px solid #fe0154;
    background-color: #fe0154 !important;
    padding: 4px 8px;
    background-color: transparent;
    transition: 0.3s ease-in-out;
}

.target-change-address{
    white-space: nowrap;
    border-radius: 4px;
    margin-left: 10px;
    color: white;
    font-size: 16px;
    border: 1px solid #fe0154;
    background-color: #fe0154 !important;
    padding: 4px 8px;
    background-color: transparent;
    transition: 0.3s ease-in-out;
}

.choir-show {
    border-radius: 4px;
    margin-left: 10px;
    color: white;
    font-size: 16px;
    border: 1px solid #fe0154;
    background-color: #fe0154 !important;
    padding: 4px 8px;
    background-color: transparent;
    transition: 0.3s ease-in-out;
}

.hapus-show{
    border-radius: 4px;
    margin-left: 10px;
    color: white;
    font-size: 16px;
    border: 1px solid #2ea5ff;
    background-color: #2ea5ff !important;
    padding: 4px 8px;
    background-color: transparent;
    transition: 0.3s ease-in-out;
}

.flex-wrap{
    flex-wrap: wrap;
    justify-content: flex-start;
}

.alamat-show:hover, .target-change-address:hover{
    color:#fe0154 !important;
    background-color: transparent !important;
    border: 1px solid #fe0154;
    cursor: pointer;
}

.hapus-show:hover{
    color:#2ea5ff !important;
    background-color: transparent !important;
    border: 1px solid #2ea5ff;
    cursor: pointer;
}

.mt-30{
    margin-top: 30px !important;
}

.mobile-show{
    display: none;
}

.grid-datatable-page{
    width: 100%;
    margin-top: 32px;
    border-top: 1px solid rgb(205, 205, 205);
    display: flex;
    padding: 16px 0;
    justify-content: space-between;
    align-items: center;
    color: grey !important;
}

.grid-datatable-page button{
    border: 0;
    background-color: transparent;
    font-size: 18px;
    color: grey !important;
    padding: 4px;
    transition: 0.23s ease-in-out;
    border-radius: 4px;
}

.grid-datatable-page button:hover{
    background-color: rgb(239, 239, 239);
    color: black !important;
}

.grid-datatable-page button.active{
    background-color: rgb(228, 248, 255);
    color: #0091ff !important;
}

.navigation-datatable-page{
    display: flex;
    gap: 10px;
}

.qty-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.popup-nav-container{
    background-color: #0000006d;
    top: 65px;
    left: 0;
    z-index: 3;
    width: 100vw;
    height: 100vh;
    position: fixed;
    display: none;
    flex-direction: column;
}

.popup-nav{
    background-color: #ffffff;
    top: 65px;
    left: 0;
    z-index: 3;
    padding: 16px 16px;
    width: calc(100vw - 32px);
    height: auto;
    flex-direction: column;
}

.contain-img{
    object-fit: contain !important;
}

@media screen and (max-width: 1410px) {
    .cart-detail-title{
        font-size : 15px;
    }
}


@media screen and (max-width: 2000px) {
    .tab-koleksi-link{
        width: 18.1%;
    }

    .koleksi-container{
        column-gap: 1.8%;
        row-gap: 20px;
    }
}

@media screen and (max-width: 1700px) {
    .alamat-page .alamat-group{
        width: 100%;
    }
}

@media screen and (max-width: 1500px) {
    .tab-koleksi-link{
        width: 18.1%;
    }

    .komposer-detail .section-row > img{
        height: 250px;
    }

    .koleksi-container{
        column-gap: 1.8%;
        row-gap: 20px;
    }
}

@media screen and (max-width: 1100px) {
    .max-col{
        width: 100%;
    }

    .tab-koleksi-link{
        width: 23.39%;
    }

    .koleksi-container{
        justify-content:center;
        column-gap: 1.6%;
        row-gap: 20px;
    }

    .l-col{
        flex-direction: column;
        gap: 10px;
    }

    .l-col > .min-col{
        width: calc(100% - 32px);
    }

    .l-col .selected-filter-container{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row !important;
        gap: 10px;
    }

    .l-col .selected-filter-container-merchandise{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row !important;
        gap: 10px;
    }
    
    .l-col .selected-filter{
        width: fit-content !important;
        gap: 10px;
    }

    .l-row{
        flex-direction: row;
        gap: 10px;
    }

    .min-col.l-popup-trigger-container{
        width: calc(100% - 28px) !important;
    }

    .l-popup-trigger-container{
        top: 100px;
        /*position: sticky;*/
        width: calc(100% - 28px) !important;
        background-color: white;
        border-radius: 8px;
        border: 1px solid #9a9a9a;
        padding: 14px;
    }

    .l-popup{
        left:0;
        position: fixed;
    }
    
    span#cart-badge {
        position:absolute;
    }
}
@media screen and (min-width: 1199px) {
    .owl-prev, .owl-next{
        font-size: 32px !important;
    }
    .cart-detail-title{
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
@media screen and (max-width: 1200px) {
    
    ul {
      margin-left: 20px !important;
      margin-right: 20px !important;
      gap: 10px !important;
      box-sizing: border-box !important;
      width: auto !important;
      min-width: 0 !important;
    }
    .cart-detail-title{
        max-width: 50vw !important;
        overflow: auto !important;;
    }
    .owl-prev{
        left: 0px !important;
        margin-left: 0px !important;
        font-size: 15px !important;
    }
    .owl-next{
        right: 0px !important;
        margin-right: 0px !important;
        font-size: 15px !important;
    }
    
    #terbaru .section-row{
        /*width: 50%;*/
        min-width: 420px;
        column-gap: 0px !important;
        justify-content: space-between !important;
    }
    
    .home-carousel, .prod-img-list {
        padding: 0;
        margin: 0;
    }
    
    .home-carousel,
    .prod-img-list {
        width: 100%;
    }
    
    .home-carousel img,
    .prod-img-list img {
        width: 100%;
        height: auto; /* Memastikan gambar tidak terpotong vertikal */
        object-fit: cover; /* Mengatur gambar untuk mengisi area dan tetap fokus di tengah */
    }
    
    .img-home{
        width: 100%;
    }
    .mobile-alamat-title{
        display: flex;
        justify-content: space-between;
    }

    .custom-dropdown-class{
        width: 50vw !important;
        margin-left: -32px;
    }

    .home-carousel{
        width: 100vw;
        height: 20vw;
    }

    .home-section{
        width: 100vw;
        height: 20vw;
    }

    .cart-modal{
        max-width: calc(100vw - 32px) !important;
    }

    .form-col{
        max-width: calc(100% - 8px) !important;
    }

    .home-section>.carousel-item, .home-carousel .owl-stage-outer{
        object-fit: cover !important;
        overflow: hidden !important;
        width: 100vw !important;
        height: 20vw !important;
    }

    .resp-page-section:first-of-type {
        width: 100vw;
        height: auto;
    }

    /*.carousel-item{*/
    /*    width: 100%;*/
    /*    height: auto;*/
    /*    aspect-ratio: 297/210 !important;*/
    /*    overflow: hidden;*/
    /*}*/

    /*.carousel-item img{*/
    /*    width: 100%;*/
    /*    height: auto;*/
    /*    aspect-ratio: 297/210 !important;*/
    /*}*/

    .section-sub{
        width: 90vw;
    }

    .alamat-tag{
        white-space: nowrap;
    }

    .border-bottom-mobile:not(:last-of-type){
        padding-bottom: 8px;
        border-bottom: 1px solid #d3d3d3;
    }

    .cart-detail-desc{
        width: 100%;
    }

    .mobile-popup-background{

    }

    .cart-detail-img > img{
        width: 20vw !important;
    }

    .profile-page .max-col .alamat-group{
        width: calc(100% - 58px) !important;
        height: auto !important;
    }

    .min-col, .max-col{
        width: 100% !important;
    }

    .mobile-mt-xxxl{
        margin-top: 48px;
    }

    .mobile-mt-xxl{
        margin-top: 40px;
    }

    .history-img{
        width: 20vw;
    }

    .bio-col{
        width: calc(100% - 48px) !important;
    }

    .mobile-popup{
        width: calc(100vw - 36px);
    }

    .footer-logo{
        width: 200px;
    }

    .mobile-margin-top-1{
        margin-top: 88px;
    }

    .prod-img-idx{
        width: calc(100% - 10px);
    }

    .prod-name, .section-title, .filter-group{
        font-size: 28px !important;
    }

    i, .section-title, .card-newtitle{
        font-size: 18px !important;
    }

    .prod-desc, .modal-hint, .cart-detail-title, .filter-title, .komposer-name, .filter-name, .tab-trigger, .bio-kategori, .login-button, .btn-link, .koleksi-title, .ringkasan-title, .col-form-group > label{
        font-size: 16px !important;
    }

    .w-100{
        width: calc(100% - 16px) !important;
    }

    .mobile-komposer-name{
        font-size: 28px !important;
    }

    .invoice-container{
        margin-top: 16px;
        width: calc(100% - 20px) !important;
    }

    .custom-checkbox, .btn, .footer-link, .footer-cr, .komposer-region, .hint-datatable-page, .navigation-datatable-page > *, .filter-icon > *, .button-red, .komposer-story, .prod-desc, .prod-detail-type, .prod-detail-desc, .prod-detail-name, .prod-detail-price, .qty-container, .prod-caution, .button-add-cart, .bio-title, .bio-value, .alamat-tag, .choir-show, .label-link, .alamat-show-popup, .ringkasan-value, .ringkasan-info, .cart-detail-price , .col-form-group > input, .cart-detail-voicetype, .card-muted, .history-status, .card-subtitle, .alamat-show{
        font-size: 14px !important;
    }

    .history-card{
        height: max-content;
        width: calc(100vw - 88px);
        margin: 8px 0;
        flex-direction: column;
    }

    .history-status, .choir-show, .alamat-show{
        white-space: nowrap;
    }

    .mobile-hide{
        display: none !important;
    }

    #terbaru .card{
        height: auto;
        width: 42vw;
        border-radius: 4px;
        
    }

    #terbaru .banner {
        width: 100%;
        height: auto;
    }

    .card-title, .tab-koleksi-title, th{
        font-size: 16px !important;
    }

    .prod-detail-price, .qty-hint{
        white-space: nowrap;
    }

    .card-more{
        font-size: 16px;
        padding: 8px 16px;
    }

    #koleksi-populer .koleksi-link{
        width: 47%;
        border-radius: 4px;
    }

    .komposer-container{
        column-gap: 4% !important;
    }

    .komposer-card{
        width: 47%;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .resp-page-section{
        width: 90vw;
    }

    #koleksi-populer .koleksi-container{
        gap: 16px !important;
    }

    .resp-page-section.left-flex#kategori{
        margin-top: 10px;
        margin-bottom: 10px;
        padding: 50px 0 80px 0;
    }

    .mobile-col{
        flex-direction: column !important;
    }

    .mobile-w-100{
        width: 100vw !important;
    }

    .mobile-w-full, .min-col{
        width: 100% !important;
    }

    .profile-img-card{
        width: 100%;
        background-color: transparent;
        box-shadow: none;
        border: 0;
    }

    .profile-img-view{
        width: 200px;
        border-radius: 1000px;
    }

    .mobile-muted-button{
        background-color: transparent !important;
        border: 1px solid transparent !important;
        color: #fe0154;
    }

    .mobile-muted-button:hover{
        border: 1px solid transparent !important;
    }

    .login-input-group{
        width: calc(100% - 20px);
    }

    .login-button, .login-with-button{
        width: calc(100%);
    }

    .login-form-group{
        width: 80%;
    }

    .prod-img-list{
        width: calc(100% - 8px) !important;
    }

    .footer{
        flex-direction: column;
        width: calc(100vw - 72px);
        padding: 36px !important;
    }

    .footer-row{
        flex-direction: column;
        gap: 32px;
    }

    .footer-title{
        width: 85vw;
        padding-bottom: 8px;
        border-bottom: 1px solid #494949;
    }

    .footer-desc{
        width: 100%;
    }

    .upper-nav-bar{
        width: calc(100vw - 32px);
        padding: 8px 16px;
    }

    .mobile-nav-bar{
        margin-left: 16px;
        width: calc(80% - 32px);
        justify-content: space-between;
    }

    .upper-nav-search{
        width: 50vw;
    }

    .mobile-show{
        display: block;
    }

    .komposer-detail .section-row > img{
        height: 28vw;
        object-fit: cover;
        object-position: center;
        margin: 20px 0;
    }

    .komposer-detail .komposer-name{
        font-size: 24px;
        text-align: left;
    }

    .komposer-detail .komposer-region, .filter-title{
        font-size: 20px;
    }

    .tab-koleksi-link{
        width: 31vw !important;
    }

    .komposer-detail, .penerbit-detail, .koleksi-detail{
        margin-top: 100px !important;
    }

    .section-col{
        height: max-content;
    }

    .modal-title{
        font-size: 20px;
        margin-bottom: 0;
    }

    .komposer-story{
        color: grey;
    }

    .filter-group{
        margin: 0;
        padding: 0;
    }

    .filter-icon, .footer-desc{
        font-size: 16px !important;
    }

    .koleksi-header{
        height: calc(max-content + 48px);
    }

    .koleksi-detail > .koleksi-header > img{
        height: calc(100% + 48px) !important;
    }
    
    .koleksi-detail > .koleksi-header:first-child > .koleksi-content{
        height: calc(100%);
        width: calc(100% - 48px);
        padding: 24px;
    }

    .koleksi-detail > .koleksi-header > .koleksi-content > .koleksi-name{
        font-size: 32px;
        margin-bottom: 16px;
    }
    
    .koleksi-detail > .koleksi-header > .koleksi-content > .koleksi-desc{
        font-size: 14px;
        width: 100%;
    }

    .popup-filter{
        height: calc(100vh - 64px);
    }
}

.mobile-left-s{
    gap: 8px;
    margin-left: 24px;
}

.mt-10{
    margin-top: 10px;
}

.mt-20{
    margin-top: 20px;
}

.mt-30{
    margin-top: 30px;
}

.mt-40{
    margin-top: 40px;
}

.mt-50{
    margin-top: 50px;
}

.mb-s{
    margin-bottom: 8px;
  }

  .mb-m{
    margin-bottom: 16px;
  }

  .mb-l{
    margin-bottom: 24px;
  }

  .mb-xl{
    margin-bottom: 32px;
  }

  .mb-xxl{
    margin-bottom: 40px;
  }

  .mb-xxxl{
    margin-bottom: 48px;
  }

  .justify-content-start{
    justify-content: flex-start !important;
}

.align-items-start{
    align-items: flex-start !important;
}

.justify-content-center{
    justify-content: center;
}

.align-items-center{
    align-items: center !important;
}

.btn-info{
    width: fit-content;
    border-radius: 4px;
    padding: 8px;
    font-size: 20px;
    border: 1px solid black;
    color: white;
    background-color: black;
    box-shadow: 4px 6px rgba(0, 0, 0, 0.2);
}

.flex-wrap{
    flex-wrap: wrap;
}

@media screen and (max-width: 760px) {
    .tab-koleksi-link{
        width: 31.8%;
    }

    .koleksi-container{
        column-gap: 1.6%;
        row-gap: 20px;
    }

    .custom-dropdown-class{
        width: 39.5vw !important;
    }
    
    span#cart-badge{
        position:absolute;
    }
}

@media screen and (max-width: 570px) {
    .l-col > .min-col{
        width: calc(90vw - 28px);
    }

    .l-popup-trigger-container{
        position: static;
    }

    .tab-koleksi-link{
        width: 46%;
    }

    .koleksi-container{
        column-gap: 6.6%;
        row-gap: 20px;
    }
}

/* ----- INPUT NUMBER ----- */
/* For Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* For Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

/* ----- CAROUSEL STYLES ----- */
/* .carousel-item img {
    transition: transform 10s ease;
    transform-origin: center;
}

.owl-item.active .carousel-item img {
    transform: scale(1.03);
} */

.custom-navigation {
    text-align: center;
}

.custom-prev-btn, .custom-next-btn {
    background-color: #fff;
    color: black;
    border: none;
    margin: 0 10px;
    font-size: 24px;
    padding: 5px 10px;
    border-radius: 50%;
    cursor: pointer;
}

.custom-prev-btn:hover, .custom-next-btn:hover {
    background-color: black;
    color: white;
}


.owl-theme .owl-dots {
    display: block;
    text-align: center;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
}

.owl-theme .owl-dots .owl-dot {
    display: inline-block;
    margin: 0 5px;
    width: 10px;
    height: 10px;
    background: white;
    border-radius: 50%;
    cursor: pointer;
}

.owl-theme .owl-dots .owl-dot.active {
    background: #ddd;
}    


/* ----- CHECKBOX STYLES ----- */
.custom-checkbox{
    display: flex;
    align-items: center;
    font-size: 16px;
}

.custom-checkbox input[type="checkbox"] {
    visibility: hidden;
    position: absolute;
}

.custom-checkbox .checkmark {
    position: relative;
    top: 0;
    left: 0;
    height: 20px !important;
    width: 20px !important;
    background-color: transparent;
    display: inline-block;
    margin-right: 10px;
    cursor: pointer;
    border-radius: 5px;
    border: 1px solid #fe0154;
}

.custom-checkbox input[type="checkbox"]:checked + .checkmark {
    background-color: white;
}

.custom-checkbox .checkmark::after {
    content: "";
    position: absolute;
    display: none;
}

.custom-checkbox input[type="checkbox"]:checked + .checkmark::after {
    display: block;
}

.custom-checkbox .checkmark::after {
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #fe0154;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.custom-checkbox-merchandise{
    display: flex;
    align-items: center;
    font-size: 16px;
}

.custom-checkbox-merchandise input[type="checkbox"] {
    visibility: hidden;
    position: absolute;
}

.custom-checkbox-merchandise .checkmark {
    position: relative;
    top: 0;
    left: 0;
    height: 20px !important;
    width: 20px !important;
    background-color: transparent;
    display: inline-block;
    margin-right: 10px;
    cursor: pointer;
    border-radius: 5px;
    border: 1px solid #fe0154;
}

.custom-checkbox-merchandise input[type="checkbox"]:checked + .checkmark {
    background-color: white;
}

.custom-checkbox-merchandise .checkmark::after {
    content: "";
    position: absolute;
    display: none;
}

.custom-checkbox-merchandise input[type="checkbox"]:checked + .checkmark::after {
    display: block;
}

.custom-checkbox-merchandise .checkmark::after {
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #fe0154;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.select2-container--default .select2-selection--single{
    background-color: transparent !important;
    border: 0 !important;
}

.select2-selection__choice{
    border-radius: 100px !important;
    border: 0 !important;
    padding: 2px 16px !important;
}

.select2-selection__choice{
    font-size: 12px !important;
    margin-top: 0 !important;
}

.select2-selection__choice__remove{
    margin-right: 8px !important;
}

.select2-container{
    width: 100% !important;
    display: flex !important;
}

.select2-container *{
    font-family: 'Poppins';
    font-size: 14px;
}

.select2-container .selection{
    width: 100% !important;
    border-radius: 4px;
}

.select2-container .select2-selection{
    padding: 4px 0;
    height: 100% !important;
    display: flex;
}

.select2-selection__placeholder {
    color: #828482 !important;
}

.select2-container--open .select2-selection__placeholder {
    color: #828482 !important;
}

.invoice-container {
    width: 350px;
    font-family: 'Arial', sans-serif;
    padding: 10px;
}
.invoice-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.invoice-row:last-child {
    margin-bottom: 0;
}
.invoice-total {
    font-weight: bold;
}
.right-align {
    text-align: right;
    display: block;
    min-width: 100px;
}

.owl-prev, .owl-next {
    position: absolute;
    top: 50%;
    background-color: transparent;
    border: none !important;
    width: 42px !important;
    font-size: 32px;
    aspect-ratio: 1/1;
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.owl-prev {
    left: 10px;
    margin-left: 20px;
}

.owl-next {
    right: 10px;
    margin-right: 25px;
}

.owl-prev:hover, .owl-next:hover {
    background-color: #eee;
}