/* 

1. Add your custom Css styles below
2. Place the this code in your template: 

 <link href="css/custom.css" rel="stylesheet">

*/


.extra-small-font{
    font-size: 12px
}
.small-font{
    font-size: 14px
}
.regular-font{
    font-size: 16px;
}
.medium-font{
    font-size: 18px;
}
.large-font{
    font-size: 20px;
}
.extra-large-font{
    font-size: 22px;
}

.grey-color{
 color: grey;
}
.yellow-color{
    color: #F4BC1C
}
.blue-color{
    color: #055CC4
}
.white-color{
    color: white
}
.black-color{
    color: black
}
.green-color{
 color: rgb(60, 237, 37);
}

.red-color{
    color: rgb(239, 57, 57);
}
.bold{
    font-weight: bold
}
.list-style-none{
    list-style: none;
    text-decoration: none;
    padding: 0px;
}
.no-border{
    border: none;
}

.bg-yellow{
 background-color: yellow;
}
.bg-blue{
 background-color: #055CC4;
 color: white;
 border: none;
}
.bg-white{
 background-color: white;
 color: black;
 border: none;
}
.bg-green{
  background-color: #42b72a;
  border: none;
  color: white;
}
.messages-success{
   background-color: #055CC4;
     color: white;
     border: none;
}
.messages-danger{
   background-color: #d9534f;
   color: white;
   border: none;
}
.border-bottom-1{
    border: black;
    border-bottom: 2px
}
.floating-whatsapp{
    width: 80px;
    height: 80px;
    position: fixed;
    bottom: 5px;
    right: 60px;
    z-index: 201;
}

/* <<<<< Product List >>>>>>>>>>> */
.image_not_found{
    width: 40%;
    max-height: 90%
}
.price{
    min-width: 120px;
}
.product-card-name{
    min-width: 120px;
    max-width: 130px
}

/* <<<<< Register success >>>>>>>>>>> */
.image_register_success{
    width: 40%;
    max-height: 80%;
}

/* <<<<< Activation >>>>>>>>>>> */
.image_activation{
    width: 50%;
    max-height: 90%
}


/* <<<<<<<<<<<<<<<<<< Login >>>>>>>>>>>>>>>>>>> */

.card-no-border{
    border: none;
    box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.33);
    -webkit-box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.33);
    -moz-box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.33);
}

/* <<<<<<<<<<<<<<<<<< Cart List >>>>>>>>>>>>>>>>>>> */

.cart-product-name{
    max-width : 200px;

}

/* <<<<<<<<<<<<<<<<<< History Transaction >>>>>>>>>>>>>>>>>>> */

.btn-unpaid-history, .btn-paid-history, .btn-quotation-history{
    border: none;
    background-color: white;
    padding-bottom: 6px;
}
.btn-unpaid-history, .btn-quotation-history{
    border-bottom: 3px solid black;
}
.bag-history{
    font-size: 50px
}
.container-unpaid{
    background-color: white;
    padding: 30px 30px;
    margin-top: 20px;
    border-radius: 10px;
    box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.33);
    -webkit-box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.33);
    -moz-box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.33);
    min-height: 30vh;
}





/* <<<<<<<<< toast message >>>>>>>>>> */

#toast {
    visibility: hidden;
    max-width: 50px;
    height: 50px;
    /*margin-left: -125px;*/
    margin: auto;
    background-color: #055CC4;;
    color: #fff;
    text-align: center;
    border-radius: 8px;

    position: fixed;
    z-index: 99999;
    left: 0;right:0;
    top: 30px;
    font-size: 17px;
    white-space: nowrap;
}
.icon-toast-succcess{
  width: 30px;
  height: 30px;
  margin-left: -20px;
  margin-top: -5px
}
#toast #img{
  width: 50px;
  height: 50px;
  border-radius: 4px;

    float: left;

    padding-top: 16px;
    padding-bottom: 16px;

    box-sizing: border-box;


    background-color: ##055CC470;;
    color: #fff;
}
#toast #desc .toast-desc{
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    padding: 16px;
    overflow: hidden;
  white-space: nowrap;
}

#toast.show {
    visibility: visible;
    -webkit-animation: fadein 0.5s, expand 0.5s 0.5s,stay 3s 1s, shrink 0.5s 2s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, expand 0.5s 0.5s,stay 3s 1s, shrink 0.5s 4s, fadeout 0.5s 4.5s;
}

@-webkit-keyframes fadein {
    from {top: 0; opacity: 0;}
    to {top: 30px; opacity: 1;}
}

@keyframes fadein {
    from {top: 0; opacity: 0;}
    to {top: 30px; opacity: 1;}
}

@-webkit-keyframes expand {
    from {min-width: 50px}
    to {min-width: 350px}
}

@keyframes expand {
    from {min-width: 50px}
    to {min-width: 350px}
}
@-webkit-keyframes stay {
    from {min-width: 350px}
    to {min-width: 350px}
}

@keyframes stay {
    from {min-width: 350px}
    to {min-width: 350px}
}
@-webkit-keyframes shrink {
    from {min-width: 350px;}
    to {min-width: 50px;}
}

@keyframes shrink {
    from {min-width: 350px;}
    to {min-width: 50px;}
}

@-webkit-keyframes fadeout {
    from {top: 30px; opacity: 1;}
    to {top: -60px; opacity: 0;}
}

@keyframes fadeout {
    from {top: 30px; opacity: 1;}
    to {top: -60px; opacity: 0;}
}


/* <<<<<<<<< end toast >>>>>>>>>> */

/* <<<<<<<<< Product card >>>>>>>>>>>>> */

@keyframes slideIn {
  from {
    transform: translateX(-20px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.product-badge-age {
  animation: slideIn 0.8s ease-out 0s 1 normal infinite;
  /* Posisi elemen */
  position: relative; /* Tambahkan ini untuk mendukung transform */
  /* gaya visual */
  background: linear-gradient(135deg, #ff4d4d, #b30000);
  border-radius: 5px;
  padding: 2px 10px;
  font-size: 10px;
  color: #fff !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;

  /* efek visual tambahan */
  display: inline-block;
  white-space: nowrap;

  will-change: transform, opacity;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none; /* hilangkan underline */
}

.product-badge-age:hover {
  transform: scale(1.05);
  color: #fff !important;
}

.product-badge {
    background-color: #ffbd02;
    border-radius: 5px;
    padding: 2px 12px;
    font-size: 12px;
    color: white;
    font-weight: bold;
}

.product-badge:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.25);
  background: linear-gradient(135deg, #ffbd02, #ff8800);
}

.product-badge-best-seller {
    background-color: #ff4d4d;
    border-radius: 5px;
    padding: 2px 12px;
    font-size: 12px;
    color: white;
    font-weight: bold;
}

.product-badge-best-seller:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.25);
  background: linear-gradient(135deg, #ff4d4d, #b30000);
}

.product-badge-popular {
    background-color: #6fdc6f; /* hijau soft */
    border-radius: 5px;
    padding: 2px 12px;
    font-size: 12px;
    color: white;
    font-weight: bold;
}

.product-badge-popular:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.25);
    background: linear-gradient(135deg, #6fdc6f, #2e8b57); /* hijau lembut ke hijau tua */
}


.text-quantity {
    color: #6d7588
}

/* <<<<<<<<<<<< Blog Headline Card >>>>>>>>>>>>>>> */

.headline-blog{
    height: auto;
    min-height: 120vh;
    padding: 10px 0px 30px;
}

.headline-container {
    width: 100%;
    min-height: 100vh;
    display: flex;
}

.headline-left-thumbnail {
    position: relative;
}

.left-headline {
    min-height: 100vh;
    width: 50%;
}

.card-left-headline {
    position: relative;
}

.headline-left-thumbnail img {
    width: 100%;
    border-radius: 20px;
    display: block;
}

/* Posisi wrapper untuk judul */
.title-wrapper {
    position: absolute;
    top: 200px;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Box judul default tanpa efek glass */
.title-box {
    max-width: 500px;
    max-height: 200px;
    padding: 10px 40px;
    border-radius: 16px;
    position: absolute;
    background: transparent;
    transition: all 0.3s ease-in-out;
}

.title-box h2 {
    color: white;
    filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, 0.8));
    margin: 0;
    transition: filter 0.3s ease-in-out;
}

/* Efek glassmorphism hanya muncul saat hover pada parent */
.headline-left-thumbnail:hover .title-box {
    background: rgba(43, 43, 43, 0.2);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(3px);
}

/* Ubah drop shadow h2 ketika hover */
.headline-left-thumbnail:hover .title-box h2 {
    filter: drop-shadow(1px 2px 3px #000);
}

.card-info {
    position: absolute;
    bottom: 0;
    left: 30%;
    display: flex;
    flex-direction: row;
}

.regular-card-info {
    z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: row;
    width: 100%;
}

.card-info-left {
    background-color: #000;
    border-top-left-radius: 5px;
    padding: 10px 20px;
    min-width: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.regular-card-info-left, .side-card-info-left {
    background-color: #000;
    width: 50%;
    color: white;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 0px;
}
.regular-card-info-left h5, .side-card-info-left h5 {
    background-color: #000;
    width: 50%;
    color: white;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 0px;
}

.regular-card-info-left h5, .side-card-info-left h5{
    margin: 0;
    padding: 0;
    color: #f4f4f4;
}

.card-info-left h5 {
    margin: 0;
    padding: 0;
    color: #f4f4f4;
}

.card-info-right {
    background-color: #ffbd02;
    border-top-right-radius: 5px;
    padding: 10px 20px;
}

.regular-card-info-right, .side-card-info-right {
    background-color: #ffbd02;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 0px;
}

.regular-card-info-right h5, .side-card-info-right h5 {
    margin: 0;
    padding: 0;
    color: #f4f4f4;
}

.card-info-right h5 {
    margin: 0;
    padding: 0;
    color: #000;
}
/* <<<<<<<<<< right headline >>>>>>>>>> */

.right-headline {
    min-height: 100vh;
    width: 50%;
    display: flex;
}

.ag-format-container {
  width: 50%;
}

.text-blog-card {
    font-size: 12px;
}
.overlay-box {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    transform: scale(0.6); /* agak mengecil dulu */
    transition: all 0.4s ease-in-out;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 120px;
}

.floating-glass-box {
   min-height: 30px;
   width: 160px;
   bottom: 0px;
   display: flex;
   justify-content: center;
   align-items: center;
   background: rgba(29, 29, 29, 0.2);
   border-radius: 6px;
   box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
   backdrop-filter: blur(5px);
   -webkit-backdrop-filter: blur(3px);
}

/* muncul saat hover ke parent */
.ag-courses_item:hover .overlay-box {
    opacity: 1;
    visibility: visible;
    transform: scale(1); /* normal */
}


.ag-courses_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.ag-courses_item {
  -ms-flex-preferred-size: calc(33.33333% - 30px);
  flex-basis: calc(33.33333% - 30px);

  margin: 0 15px 30px;

  overflow: hidden;

  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  position: relative;
}

.ag-courses_item img {
    width: 100%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px
}

.no-radius{
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.ag-courses-item_link {
  display: block;
  padding: 10px 10px 30px;
  background-color: #f2f2f2;

  overflow: hidden;

  position: relative;
}
.ag-courses-item_link:hover,
.ag-courses-item_link:hover .ag-courses-item_date {
  text-decoration: none;
  color: #FFF;
}
.ag-courses-item_link:hover .ag-courses-item_bg {
  -webkit-transform: scale(10);
  -ms-transform: scale(10);
  transform: scale(10);
}

.ag-courses-item_link:hover .regular-card-info-right {
    background-color: #000;
}

.owl-item .ag-courses-item_link:hover .regular-card-info-right{
    background-color: #000;
}

.ag-courses-item_link:hover .regular-card-info-right h5 {
    color: #f4f4f4;
}

.medium-blog-card {
    margin-bottom: 60px;
}

.medium-blog-title a {
    text-decoration: none;
    font-weight: bold;
}

.medium-blog-title a:hover {
    color: #fba10c;
}

.medium-blog-meta {
    font-size: 14px;
    color: #666;
}

.ag-courses-item_title {
  min-height: 70px;
  margin: 0 0 20px;

  overflow: hidden;

  font-weight: bold;
  font-size: 16px;
  color: #000;

  z-index: 2;
  position: relative;
}
.ag-courses-item_date-box {
  font-size: 14px;
  color: #000;
  z-index: 2;
  position: relative;
}
.ag-courses-item_date {
  font-weight: bold;
  color: #f9b234;

  -webkit-transition: color .5s ease;
  -o-transition: color .5s ease;
  transition: color .5s ease
}
.ag-courses-item_bg {
  min-height: 128px;
  width: 128px;
  background-color: #f9b234;

  z-index: 1;
  position: absolute;
  top: -75px;
  right: -75px;

  border-radius: 50%;

  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

.ag-courses_item:nth-child(2n) .ag-courses-item_bg, .ag-courses_item:nth-child(2n) .side-card-info-right {
  background-color: #3ecd5e;
}
.ag-courses_item:nth-child(3n) .ag-courses-item_bg, .ag-courses_item:nth-child(3n) .side-card-info-right {
  background-color: #e44002;
}
.ag-courses_item:nth-child(4n) .ag-courses-item_bg, .ag-courses_item:nth-child(4n) .side-card-info-right {
  background-color: #952aff;
}
.ag-courses_item:nth-child(5n) .ag-courses-item_bg, .ag-courses_item:nth-child(5n) .side-card-info-right {
  background-color: #cd3e94;
}
.ag-courses_item:nth-child(6n) .ag-courses-item_bg, .ag-courses_item:nth-child(6n) .side-card-info-right {
  background-color: #4c49ea;
}


.owl-item:nth-child(2n) .ag-courses-item_bg,
.owl-item:nth-child(2n) .side-card-info-right,
.owl-item:nth-child(2n) .regular-card-info-right {
  background-color: #3ecd5e;
}

.owl-item:nth-child(3n) .ag-courses-item_bg,
.owl-item:nth-child(3n) .side-card-info-right,
.owl-item:nth-child(3n) .regular-card-info-right {
  background-color: #e44002;
}

.owl-item:nth-child(4n) .ag-courses-item_bg,
.owl-item:nth-child(4n) .side-card-info-right,
.owl-item:nth-child(4n) .regular-card-info-right {
  background-color: #952aff;
}

.owl-item:nth-child(5n) .ag-courses-item_bg,
.owl-item:nth-child(5n) .side-card-info-right,
.owl-item:nth-child(5n) .regular-card-info-right {
  background-color: #cd3e94;
}

.owl-item:nth-child(6n) .ag-courses-item_bg,
.owl-item:nth-child(6n) .side-card-info-right,
.owl-item:nth-child(6n) .regular-card-info-right {
  background-color: #4c49ea;
}


@media only screen and (max-width: 979px) {
  .ag-courses_item {
    -ms-flex-preferred-size: calc(50% - 30px);
    flex-basis: calc(50% - 30px);
  }
  .ag-courses-item_title {
    font-size: 24px;
  }
}

@media only screen and (max-width: 767px) {
  .ag-format-container {
    width: 96%;
  }

}
@media only screen and (max-width: 639px) {
  .ag-courses_item {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  .ag-courses-item_title {
    min-height: 72px;
    line-height: 1;

    font-size: 24px;
  }
  .ag-courses-item_link {
    padding: 22px 40px;
  }
  .ag-courses-item_date-box {
    font-size: 16px;
  }
}




/* ===========================
   HEADLINE MOBILE VERSION
   =========================== */
@media (max-width: 768px) {
    .headline-container{
        flex-direction: column;
    }
    .left-headline {
        width: 100%;
        min-height: auto;
    }
    .right-headline{
        padding-top: 30px;
        width: 100%;
        min-height: auto;
        flex-direction: column;
    }

    .headline-left-thumbnail img {
        width: 100%;
        height: auto;
        border-radius: 0px;
        border-top-left-radius: 12px;
        border-top-right-radius: 12px;
    }

    .title-wrapper {
        top: 120px; /* lebih proporsional di mobile */
    }
    .widget_same-brand .widget__content {
      padding: 20px;
      display: flex;
    }
    .widget_same-brand .widget__content .ps-product {
      margin: 5px;
    }
    .whatsapp-float{
        bottom: 100px !important;
    }

    .title-box {
        max-width: 90%;
        padding: 8px 16px;
    }

    .title-box h2 {
        font-size: 16px;
        line-height: 1.4;
    }

    .card-info {
        position: relative;
        bottom: auto;
        left: 0;
        width: 100%;
        justify-content: center;
    }
    .regular-card-info {
        position: relative;
        bottom: auto;
        left: 0;
        width: 100%;
        justify-content: center;
        z-index: 999;
    }

    .card-info-left,
    .card-info-right {
        padding: 8px 12px;
        font-size: 14px;
        flex: 1;
        text-align: center;
    }

    .card-info-left {
        border-top-left-radius: 0px;
        border-bottom-left-radius: 12px;
        border-bottom-right-radius: 0px;
    }

    .card-info-right {
        border-top-right-radius: 0;
        border-bottom-right-radius: 12px;
        border-bottom-left-radius: 0;
    }
}

@media (max-width: 896px) {
    .headline-container{
        flex-direction: column;
    }
    .left-headline {
        width: 100%;
        min-height: auto;
    }
    .right-headline{
        padding-top: 30px;
        width: 100%;
        min-height: auto;
        flex-direction: column;
    }

    .headline-left-thumbnail img {
        width: 100%;
        height: auto;
        border-radius: 0px;
        border-top-left-radius: 12px;
        border-top-right-radius: 12px;
    }

    .title-wrapper {
        position: absolute;
        top: -10; /* lebih proporsional di mobile */
        width: 100%;
        min-width: 300px
    }

    .whatsapp-float{
        bottom: 100px !important;
    }

    .widget_same-brand .widget__content {
      padding: 20px;
      display: flex;
    }

    .widget_same-brand .widget__content .ps-product {
      margin: 5px;
    }

    .title-box {
        max-width: 90%;
        padding: 8px 16px;
    }

    .title-box h2 {
        font-size: 16px;
        line-height: 1.4;
    }

    .card-info {
        position: relative;
        bottom: auto;
        left: 0;
        width: 100%;
        justify-content: center;
    }
    .regular-card-info {
        position: relative;
        bottom: auto;
        left: 0;
        width: 100%;
        justify-content: center;
        z-index: 999;
    }

    .card-info-left,
    .card-info-right {
        padding: 8px 12px;
        font-size: 14px;
        flex: 1;
        text-align: center;
    }

    .card-info-left {
        border-top-left-radius: 0px;
        border-bottom-left-radius: 12px;
        border-bottom-right-radius: 0px;
    }

    .card-info-right {
        border-top-right-radius: 0;
        border-bottom-right-radius: 12px;
        border-bottom-left-radius: 0;
    }
}


#toast-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

.toast-desc {
  background: #333;
  color: #fff;
  padding: 12px 18px;
  margin-top: 10px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 14px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  animation: fadeInOut 3s ease forwards;
}

@keyframes fadeInOut {
  0% { opacity: 0; transform: translateY(20px); }
  10% { opacity: 1; transform: translateY(0); }
  90% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(20px); }
}

.icon-heart-filled:before{content:"❤"; color: white; font-size: 20px;}


.whatsapp-float {
  position: fixed;
  width: 50px;
  height: 50px;
  bottom: 40px;
  right: 30px;
  background-color: #25d366;
  border-radius: 50%;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  z-index: 99999999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease;
  opacity: 1;
  transform: translateY(20px);
}

.whatsapp-float.show {
  opacity: 1;
  pointer-events: auto;
  bottom: 80px;
  transform: translateY(0);
}

.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

.whatsapp-float img {
  width: 36px;
  height: 36px;
}

.btn-wishlist-delete{
    background-color: white;
    border: grey 1px solid;
    border-radius: 15px;
    width: 30px;
    height: 30px;
    position: relative;
    bottom: -20px;
    z-index: 2;
    right: -10px
}


.color-swatch, .color-item-btn {
  position: relative;
  width: 34px !important;
  height: 34px !important;
  border-radius: 17px !important;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.2s;
  margin: 4px;
  border: 1px solid #000;
}

.color-swatch.selected {
  border: 4px solid green; /* warna indikator */
}

.color-swatch.selected::after, .color-item-btn.selected::after {
  content: "✓";
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.color-item-btn.selected {
  border: 4px solid green; /* warna indikator */
}


