@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

:root {
  --color-white: #fff;
  --color-white-rgb: 255, 255, 255;
  --color-black: #2b2b2b;
  --color-black-rgb: 43, 43, 43;
  --color-red: #fc062b;
  --color-red-rgb: 252, 6, 43;
  --color-royalblue: #3f5ae7;
  --color-royalblue-rgb: 63, 90, 231;
  --color-gold: #ffd900;
  --color-gold-rgb: 255, 217, 0;
  --color-green: #14b819;
  --color-green-rgb: 0, 157, 18;
  --color-aliceblue: #f3f8fc;
  --color-aliceblue-rgb: 243, 248, 252;
  --color-lavender: #e5e9f2;
  --color-lavender-rgb: 229, 233, 242;
  --color-slategray: #6c757d;
  --color-slategray-rgb: 108, 117, 125;
  --color-lightgray: #c4ccdf;
  --color-lightgray-rgb: 196, 204, 223;
  --color-darkgray: #97a2b2;
  --color-darkgray-rgb: 151, 162, 178;
  --color-whitesmoke: #eeeeee;
  --color-whitesmoke-rgb: #eeeeee;
  --color-lightskyblue: #9bb1f5;
  --color-lightskyblue-rgb: 155, 177, 245;
  --color-pink: #ffe1e6;
  --color-pink: 255, 199, 199;
  --color-indigo: #6b89ef;
  --color-indigo-rgb: 107, 137, 239;
  --color-hover-red: #e60023;
  --color-hover-royalblue: #3443dc;
  --color-hover-gold: #ffbb00;
  --color-hover-green: #169b1b;
  --color-hover-black: #454545;
  --text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);
  --marginTop-section: calc(45px + 3vw);
  --padding-xs: 5px 16px;
  --padding-sm: 6px 20px;
  --padding-md: 9px 24px;
  --color-bg-gradient-red: linear-gradient(
    180deg,
    rgba(230, 0, 35, 0.2) 0%,
    rgba(243, 248, 252, 1) 47%,
    rgba(243, 248, 252, 1) 100%
  );
  --button-gradient-red: linear-gradient(
    rgb(255, 92, 117) 0%,
    rgb(242, 3, 39) 100%
  );
  --button-hover-gradient-red: linear-gradient(
    rgb(242, 3, 39) 0%,
    rgb(213, 0, 32) 100%
  );
  --bezzel-shadow-button: inset 0 2px 0 0 hsla(0, 0%, 100%, 0.2),
    inset 0 -1px 0 0 rgba(0, 0, 0, 0.25), 0 2px 6px 0 rgba(0, 0, 0, 0.1);
  --box-shadow-3d: inset 0px -3px 4px rgba(0, 0, 0, 0.25),
    inset 0px 2px 2px rgba(255, 255, 255, 0.3);
  --box-shadow: 0px 2px 4px rgba(78, 78, 78, 0.1);
  --box-shadow-middle: 0px 3px 6px rgba(78, 78, 78, 0.25);
  --bs-accordion-btn-icons: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='icon icon-tabler icons-tabler-outline icon-tabler-chevron-down'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M6 9l6 6l6 -6' /%3E%3C/svg%3E");
  --transition-all: all 0.5s ease-in-out;
  --swal2-padding: 0 0 2.5em !important;
  --swal2-border-radius: 1rem !important;
}

.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-800 {
  font-weight: 800;
}

.fw-900 {
  font-weight: 900;
}

.bg-white {
  background-color: var(--color-white) !important;
}

.text-white {
  color: var(--color-white) !important;
}

.bg-black {
  background-color: var(--color-black) !important;
}

.text-black {
  color: var(--color-black) !important;
}

.bg-green {
  background-color: var(--color-green) !important;
}

.text-green {
  color: var(--color-green) !important;
}

.bg-red {
  background-color: var(--color-red) !important;
}

.text-red {
  color: var(--color-red) !important;
}

.bg-royalblue {
  background-color: var(--color-royalblue) !important;
}

.bg-royalblue-opacity-1 {
  background-color: rgba(var(--color-royalblue-rgb), 0.1);
}

.text-royalblue {
  color: var(--color-royalblue) !important;
}

.bg-gold {
  background-color: var(--color-gold) !important;
}

.text-gold {
  color: var(--color-gold) !important;
}

.bg-aliceblue {
  background-color: var(--color-aliceblue) !important;
}

.text-aliceblue {
  color: var(--color-aliceblue) !important;
}

.bg-lavender {
  background-color: var(--color-lavender) !important;
}

.text-lavender {
  color: var(--color-lavender) !important;
}

.bg-slategray {
  background-color: var(--color-slategray) !important;
}

.text-slategray {
  color: var(--color-slategray) !important;
}

.bg-darkgray {
  background-color: var(--color-darkgray) !important;
}

.text-darkgray {
  color: var(--color-darkgray) !important;
}

.bg-whitesmoke {
  background-color: var(--color-whitesmoke) !important;
}

.text-whitesmoke {
  color: var(--color-whitesmoke) !important;
}

.bg-lightskyblue {
  background-color: var(--color-lightskyblue) !important;
}

.text-lightskyblue {
  color: var(--color-lightskyblue) !important;
}

.bg-pink {
  background-color: var(--color-pink) !important;
}

.text-pink {
  color: var(--color-pink) !important;
}

.bg-indigo {
  background-color: var(--color-indigo) !important;
}

.text-indigo {
  color: var(--color-indigo) !important;
}

.ti-sm {
  font-size: 16px;
  pointer-events: none;
}

.ti-md {
  pointer-events: none;
  font-size: 20px;
}

.ti-xl {
  font-size: 24px;
}

/*  */
.alert-green-icon {
  background-color: #d9ffdd;
  color: #009d12;
  padding: 18px;
  border-radius: 9px;
  display: flex;
  gap: 5px;
  font-size: 1rem;
}

.text-green {
  color: #009d12;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flex-item-center {
  display: flex;
  align-items: center;
}

.flex-item-start {
  display: flex;
  align-items: start;
}

.flex-between-center {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flex-between-baseline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.btn {
  border-radius: 50px;
  transition: var(--transition-all);
}

.button-form .btn {
  padding: var(--padding-md) !important;
  margin-top: 10px;
}

.btn-icon {
  display: flex;
  align-items: center;
  width: fit-content;
  border-radius: 8px;
}

.btn-icon-sm {
  padding: 8px;
}

.btn-small {
  padding: var(--padding-sm) !important;
}

.btn-middle {
  padding: var(--padding-md) !important;
}

.btn-small.active {
  box-shadow: var(--box-shadow-3d);
}

.btn-small.bg-lavender.active {
  background-color: var(--color-black) !important;
  color: var(--color-white) !important;
}

.btn-small.bg-lavender.active:hover {
  background-color: var(--color-hover-black) !important;
}

.shadow-3d {
  box-shadow: var(--box-shadow-3d);
}

.hover-bg-green,
.hover-bg-red,
.hover-bg-lavender,
.hover-bg-royalblue,
.hover-bg-gold {
  transition: var(--transition-all);
}

.hover-bg-red:hover {
  background-color: var(--color-hover-red) !important;
  box-shadow: rgba(var(--color-red-rgb), 0.12) 0px 0px 0px 4px;
}

.hover-bg-royalblue:hover {
  background-color: var(--color-hover-royalblue) !important;
  box-shadow: rgba(var(--color-royalblue-rgb), 0.12) 0px 0px 0px 4px;
}

.hover-bg-gold:hover {
  background-color: var(--color-hover-gold) !important;
  box-shadow: rgba(var(--color-gold-rgb), 0.12) 0px 0px 0px 4px;
}

.hover-bg-green:hover {
  background-color: var(--color-hover-green) !important;
  box-shadow: rgba(var(--color-green-rgb), 0.12) 0px 0px 0px 4px;
}

.hover-bg-lavender:hover {
  background-color: var(--color-white) !important;
}

.badge-custom {
  z-index: 3;
  position: relative;
  border-radius: 50px;
  width: fit-content;
  white-space: nowrap;
}

.badge-xss {
  font-size: 12px;
  padding: 2px 8px;
}

.badge-small {
  font-size: 13px;
  padding: 5px 10px;
}

.badge-middle {
  font-size: 14px;
  padding: 7px 13px;
}

.badge-custom.bg-royalblue {
  color: var(--color-white);
}

.badge-custom.bg-gold {
  color: var(--color-black);
}

.border-lightgray {
  border: 1px solid var(--color-lightgray) !important;
}

.border-darkgray {
  border: 1px solid var(--color-darkgray) !important;
}

.border-black {
  border: 1px solid var(--color-black) !important;
}

.border-white {
  border: 1px solid var(--color-white) !important;
}

.border-lavender {
  border: 1px solid var(--color-lavender) !important;
}

.card {
  border: 1px solid var(--color-white);
}

.card-container {
  padding: 8px;

  border-radius: 16px;
}

.mt-section {
  margin-top: var(--marginTop-section);
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 16px;
  width: 100%;
  height: 100%;
}

.overlay-home {
  background-color: rgba(0, 0, 0, 0.1);
}

.overlay-details {
  background: linear-gradient(
    180deg,
    #aeaeae 0%,
    rgba(40, 40, 40, 0.628) 46.5%,
    #000000 100%
  );
}

.overlay-gradient {
  background: linear-gradient(to top, rgba(0, 0, 0, 1), rgba(255, 255, 255, 0));
  z-index: 1;
  transition: opacity 0.3s ease;
}

.rotate-icon {
  transition: transform 1s ease-in-out;
}

a:hover .rotate-icon {
  transform: rotate(406deg);
}

.form-label {
  margin-bottom: 0.2rem;
}

.form-control:focus {
  box-shadow: rgba(var(--color-royalblue-rgb), 0.12) 0px 0px 0px 4px;
}

.title-badge-royalblue {
  background: #ccd4ff;
  padding: var(--padding-sm);
  border-radius: 11px;
  font-size: 0.9rem;
}

.header-royalblue {
  background: #f2f4fd;
  padding: var(--padding-sm);
  border-radius: 6px;
  font-size: 0.9rem;
}

html {
  scroll-behavior: smooth;
}

@media (hover: hover) and (pointer: fine) {
  body,
  input[type="radio"],
  .form-check label {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cg clip-path='url(%23clip0_3565_5141)'%3E%3Cpath d='M2.44674 4.84736C2.37887 4.62536 2.37416 4.38885 2.43313 4.16433C2.49211 3.93981 2.61244 3.73614 2.78065 3.57615C2.94885 3.41617 3.15829 3.30618 3.38548 3.25852C3.61268 3.21086 3.84866 3.22741 4.06698 3.30631L15.8212 7.558C16.9497 7.96586 16.9093 9.57812 15.7618 9.92897L11.0436 11.3715C10.8604 11.4273 10.6925 11.5246 10.5528 11.6557C10.4132 11.7867 10.3055 11.9482 10.2382 12.1275L8.46534 16.8719C8.04785 17.9903 6.44884 17.9419 6.09946 16.7991L2.44674 4.84736Z' fill='black' stroke='white' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_3565_5141'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E"),
      auto;
  }

  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="search"] {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='icon icon-tabler icons-tabler-outline icon-tabler-cursor-text'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M10 12h4' /%3E%3Cpath d='M9 4a3 3 0 0 1 3 3v10a3 3 0 0 1 -3 3' /%3E%3Cpath d='M15 4a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3' /%3E%3C/svg%3E"),
      auto;
  }
}

body {
  font-family: "Inter", sans-serif;
  color: var(--color-black);
  background-color: var(--color-aliceblue);
}

.container {
  transition: var(--transition-all);
}

.navbar-brand img {
  height: 40px;
}

.navbar {
  --bs-navbar-padding-y: 0;
  transition: var(--transition-all);
  position: absolute;
  z-index: 10;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50px;
  width: 530px;
  padding: 2px 2px 2px 10px;
}

.navbar-expanded {
  border-radius: 5px;
}

.navbar-nav {
  gap: 8px;
}

.navbar-nav .dropdown-menu {
  position: absolute;
}

.nav-item .btn {
  margin-right: 5px;
}

.navbar.sticky {
  position: fixed;
  top: 30px;
  left: 50%;
  background-color: rgba(var(--color-white-rgb), 0.7) !important;
  backdrop-filter: blur(10px);
  box-shadow: rgba(var(--color-red-rgb), 0.12) 0px 0px 0px 4px;
  opacity: 1;
}

.container-fluid {
  padding-right: calc(var(--bs-gutter-x) * 1);
  padding-left: calc(var(--bs-gutter-x) * 1);
}

.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-toggler {
  width: 38px;
  height: 38px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: unset;
  color: var(--color-black);
  position: relative;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  padding: 10px;
}

.navbar-toggler span {
  display: block;
  position: absolute;
  height: 2.4px;
  width: 50%;
  background: var(--color-black);
  border-radius: 100px;
  opacity: 1;
  left: 9.4px;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.navbar-toggler span:nth-child(1) {
  top: 12px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.navbar-toggler span:nth-child(2) {
  top: 18px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.navbar-toggler span:nth-child(3) {
  top: 24px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.navbar-toggler.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: 1px;
  top: 10px;
  left: 12px;
}

.navbar-toggler.open span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

.navbar-toggler.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: 1px;
  top: 24px;
  left: 12px;
}

.icon-cart {
  position: relative;
}

.icon-cart .point {
  position: absolute;
  right: -1px;
  z-index: 3;
  top: 0;
  width: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 11px;
  border-radius: 10px;
}

.user-menu .icon-user {
  width: 55px;
  height: 55px;
  padding: 3px;
  border-radius: 50px;
  box-shadow: var(--box-shadow);
}

.icon-user img {
  width: 100%;
  border-radius: 50px;
}

.navbar-nav .dropdown-menu {
  top: 60px !important;
}

.dropdown-menu {
  border: none;
  border-radius: 16px;
  --bs-dropdown-min-width: 15rem;
}

.user-menu .dropdown {
  cursor: pointer;
}

.icon-user .email {
  display: inline-block;
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.header-page-center .title {
  font-size: 44px;
  line-height: 120%;
}

.header-page-center .desc {
  width: 35%;
}

.detail-checkout .list-class .card {
  padding: 1rem 1rem 3.5rem 1rem;
  position: relative;
  border-radius: 1rem;
  box-shadow: var(--box-shadow);
  margin-bottom: 10px;
}

.detail-checkout .list-class .content {
  position: relative;
}

.detail-checkout .detail-body {
  width: 100%;
}

.detail-checkout .detail-body .title {
  font-size: 20px;
  line-height: 120%;
}

.detail-checkout .detail-body .detail {
  font-size: 14px;
}

.detail-checkout .detail-body .price-class span {
  font-size: 20px;
}

.detail-checkout .img-class img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
}

.icon-close {
  position: absolute;
  right: 16px;
  z-index: 4;
}

.more-class {
  font-size: 15px;
  line-height: 100%;
}

.detail-checkout .footer-detail {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 8px 16px;
  border-radius: 0 0 1rem 1rem;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 5px;
}

.payment .card {
  padding: 35px;
  border-radius: 16px;
  box-shadow: var(--box-shadow);
}

.payment .promo {
  margin-bottom: 35px;
}

.payment .input-group .form-control {
  border: none;
  border-radius: 50px;
  padding: 0.375rem 1.2rem;
}

.payment .input-group .form-control:focus {
  box-shadow: none;
}

.payment .input-group .btn {
  padding: var(--padding-md);
  right: 0;
}

.payment .form-tc {
  margin-top: 20px;
}

.payment .form-tc .form-check-input {
  width: 24px;
  height: 24px;
  margin-top: 0;
  border: 1px solid var(--color-lavender);
  box-shadow: var(--box-shadow);
}

.payment .form-tc .form-check-input[type="checkbox"] {
  border-radius: 50px;
  box-shadow: var(--box-shadow);
}

.payment .form-tc .form-check-input:active {
  filter: none;
}

.form-check-input:checked {
  background-color: var(--color-royalblue);
  border-color: var(--color-royalblue);
}

.payment .form-tc .form-check-input:checked {
  background-color: var(--color-white);
  border-color: var(--color-white);
  box-shadow: var(--box-shadow);
  border: 1px solid var(--color-lavender);
}

.payment .form-tc .form-check-input:checked[type="checkbox"] {
  background-size: 16px;
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8.14258' cy='8.80261' r='8' fill='%233F5AE7'/%3E%3C/svg%3E%0A");
}

.payment .btn-payment {
  margin-top: 25px;
}

.price-disc {
  text-decoration: line-through;
  color: red;
}

p {
  margin-bottom: 0;
}

a {
  text-decoration: none;
  color: unset;
}

a:hover {
  color: unset;
  text-decoration: none;
}

.row {
  --bs-gutter-x: 10px;
  margin-top: 0 !important;
}

.imageHero {
  position: relative;
  text-align: center;
}

.imageHero img,
.imageHero video {
  width: 100%;
  height: 700px;
  display: block;
  margin-top: calc(var(--bs-gutter-x) * 1);
  border-radius: 16px;
  object-fit: cover;
}

.contentHero {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  z-index: 1;
  width: 70%;
  max-width: 80%;
}

.titleHero {
  /* font-family: "Montserrat", sans-serif; */
  font-size: calc(16px + 3vw);
  line-height: 110%;
  text-shadow: var(--text-shadow);
}

.descHero {
  font-size: calc(12px + 1vw);
  line-height: 150%;
  text-shadow: var(--text-shadow);
}

.header-section .title {
  font-size: 22px;
  line-height: 150%;
}

.header-section .desc {
  font-size: 28px;
  line-height: 120%;
}

.tab-content > .active {
  display: flex;
}

.content-card .tab-content > .active {
  display: block;
}

.cardClass {
  margin-top: calc(5px + 0.5vw);
  margin-bottom: calc(5px + 1vw);
}

.cardClass .card {
  border-radius: 24px;
  height: 100%;
  box-shadow: var(--box-shadow);
  position: relative;
  /* overflow: hidden; */
  transition: transform 0.4s ease;
  display: flex;
  flex-direction: column;
}

.imgClass img {
  height: 200px;
  width: 100%;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 5px;
}

.cardClass .bodyClass {
  padding: 10px;
  transition: transform 0.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

.bodyClass .titleClass span {
  font-size: 14px;
  font-weight: 400;
}

.bodyClass .nameClass {
  font-size: 18px;
  line-height: 130%;
}

.bodyClass .desc-class {
  margin-top: 8px;
  font-size: 15px;
}

.bodyClass .begin-class,
.bodyClass .duration-class {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 100%;
  margin-bottom: 3px;
}

.desc-class .title,
.price-class {
  display: flex;
  align-items: center;
  gap: 4px;
}

.price-class .icon-price {
  width: 26px;
  height: 26px;
  background-color: var(--color-red);
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
}

.price-class {
  margin-top: 10px;
}

.price-class span {
  font-size: 22px;
}

.remaining-class {
  background: rgba(230, 0, 35, 0.1);
  height: 32px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  z-index: 0;
  justify-content: end;
  position: relative;
  margin-top: 5px;
}

.remaining-class .progress-class {
  background: var(--color-red);
  z-index: 2;
  position: absolute;
  border-radius: 50px;
  height: 20px;
  left: 0;
  height: 32px;
}

.cardClass .card:hover {
  cursor: pointer;
}

.cardClass .card:hover .bodyClass {
  transform: scale(0.99);
}

.bg-cta {
  padding: calc(20px + 1vw);
  border-radius: calc(5px + 1vw);
}

.contentCTA .titleCTA {
  font-size: calc(14px + 1vw);
}

.contentCTA .descCTA {
  font-size: calc(10px + 0.5vw);
  line-height: 120%;
  width: 70%;
}

.cardTrainer {
  margin-top: 0.4rem;
}

.trainer .card {
  padding: calc(5px + 0.3vw);
  border-radius: 16px;
  box-shadow: var(--box-shadow);
  text-align: center;
  height: 100%;
  position: relative;
}

.imgTrainer {
  width: 100%;
  aspect-ratio: 1 / 1; /* selalu kotak */
  overflow: hidden;
  border-radius: 12px;
}

.imgTrainer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nameTrainer {
  margin-top: 2px !important;
  width: 80%;
  margin: 0 auto;
  text-align: center;
  padding: calc(3px + 0.2vw);
  border-radius: 5px;
  line-height: 100%;
  font-size: 14px;
}

.detailTrainer {
  padding-bottom: calc(60px + 1vw);
}

.detailTrainer .role {
  line-height: 110%;
  font-size: 14px;
  color: var(--color-slategray);
}

.detailTrainer .sosmed {
  position: absolute;
  bottom: calc(8px + 1vw);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  gap: 6px;
}

.sosmed .iconFB,
.sosmed .iconWA,
.sosmed .iconMore {
  border-radius: 100px;
  border: 1px solid var(--color-lightgray);
  transition: all 0.5s;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sosmed .iconMore {
  background-color: var(--color-whitesmoke);
  border: unset;
}

.iconFB:hover {
  background-color: var(--color-royalblue);
  color: var(--color-white) !important;
}

.iconWA:hover {
  background-color: #00c732;
  color: var(--color-white) !important;
}
.iconMore:hover {
  background-color: var(--color-red);
  color: var(--color-white) !important;
}

.contentFAQ {
  margin-top: calc(10px + 1vw);
}

.contentFAQ .accordion-button:not(.collapsed) {
  background-color: var(--color-red) !important;
  color: var(--color-white);
}

.contentFAQ .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='icon icon-tabler icons-tabler-outline icon-tabler-chevron-down'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M6 9l6 6l6 -6' /%3E%3C/svg%3E");
}

.contentFAQ .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='icon icon-tabler icons-tabler-outline icon-tabler-chevron-down'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M6 9l6 6l6 -6' /%3E%3C/svg%3E");
}

.accordion {
  --bs-accordion-inner-border-radius: calc(0.6rem - 1px);
  --bs-accordion-border-radius: 0.6rem !important;
}

.accordion-item {
  margin-bottom: 10px;
  border: none;
}

.content-grade .accordion-item,
.accordion-flush .accordion-item,
.accordion-flush .accordion-item:first-child,
.accordion-flush .accordion-item:last-child {
  border-top: 0;
  border: 1px solid var(--color-lavender);
}

.content-grade .accordion-item,
.accordion-flush .accordion-item,
.accordion-flush .accordion-item .accordion-button,
.accordion-flush .accordion-item .accordion-button.collapsed,
.content-grade .accordion-item .accordion-button.collapsed {
  border-radius: var(--bs-accordion-inner-border-radius) !important;
}

.contentFAQ .accordion-item:first-of-type,
.contentFAQ .accordion-item:last-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
  border-bottom-right-radius: var(--bs-accordion-border-radius);
}

.contentFAQ .accordion-item:first-of-type .accordion-button,
.contentFAQ .accordion-item:last-of-type .accordion-button.collapsed,
.accordion-button:not(.collapsed) {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
}

.contentFAQ .accordion-item:first-of-type .accordion-button,
.contentFAQ .accordion-item:last-of-type .accordion-button.collapsed,
.accordion-button:not(.collapsed) {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}

.contentFAQ .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='icon icon-tabler icons-tabler-outline icon-tabler-circle-minus'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0' /%3E%3Cpath d='M9 12l6 0' /%3E%3C/svg%3E") !important;
}

.contentFAQ .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='icon icon-tabler icons-tabler-outline icon-tabler-circle-plus'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0' /%3E%3Cpath d='M9 12h6' /%3E%3Cpath d='M12 9v6' /%3E%3C/svg%3E") !important;
}

.accordion-button:not(.collapsed) {
  color: var(--color-black);
  background-color: var(--color-white);
  box-shadow: unset;
}

.accordion-collapse {
  border-top: 1px solid var(--color-lavender) !important;
  border-bottom-left-radius: var(--bs-accordion-border-radius);
  border-bottom-right-radius: var(--bs-accordion-border-radius);
}

.accordion-button:focus {
  box-shadow: none;
}

.accordion-title {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}

.accordion-desc {
  margin-bottom: 1rem;
}

.module {
  display: flex;
  padding: 0.5rem;
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 16px;
}

.accordion-duration {
  font-size: 0.875rem;
  line-height: 16px;
}

.list-module {
  padding-left: 0rem;
  margin-bottom: 10px;
}

.list-module .time-text {
  font-size: 0.9rem;
  margin-top: 2px;
}

.module-item {
  margin-bottom: 8px;
}

.list-module .link-module {
  line-height: 100%;
}

.list-module .link-module:hover,
.link-task:hover {
  text-decoration: underline;
}

.link-module.disabled {
  pointer-events: none;
  color: var(--color-slategray);
}

.accordion-button::after,
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-icons) !important;
}

/* detail class */
.contentHeroDetails {
  margin-top: calc(var(--bs-gutter-x) * 1);
  position: relative;
}

.img-bg-herodetail {
  width: 100%;
  border-radius: 16px;
  height: 630px;
  object-fit: cover;
}

.text-details-hero {
  position: absolute;
  bottom: 50px;
  left: 100px;
  width: 58%;
  transition: var(--transition-all);
}

.text-details-hero .title {
  font-size: 50px;
  line-height: 100%;
  transition: var(--transition-all);
  margin-top: 5px;
}

.text-details-hero .title-batch {
  font-size: 40px;
}

.text-details-hero .desc {
	line-height: 130%;
	text-align: justify;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 14;
	overflow: hidden;
}

.text-details-hero .detail {
  margin: 10px 0 10px 0;
  font-size: 14px;
  font-weight: 300;
}

.tour_city {
  width: 24px;
  height: 24px;
  border-radius: 50px;
}

.card-img-detail {
  position: absolute;
  z-index: 4;
  bottom: -70px;
  right: 100px;
  transition: var(--transition-all);
}

.card-img-detail .card {
  width: 300px;
  border-radius: 16px;
  box-shadow: var(--box-shadow);
  transition: var(--transition-all);
}

.card-img-detail .card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 16px 16px 0 0;
}

.card-img-detail .card-content {
  padding: 0px 20px 20px 20px;
}

.border-dashed-top {
  border-top: 1px dashed var(--color-lavender);
}

.border-dashed-bottom {
  border-bottom: 1px dashed var(--color-lavender);
}

.separator {
  border: 1px solid var(--color-lavender);
}

.separator.separator-dashed {
  border: 1px dashed var(--color-lavender);
}

.contentEmpty img {
  width: 10rem;
  margin-bottom: 1rem;
}

.contentEmpty .state {
  text-align: center;
  width: 50%;
}

.state p {
  font-size: 0.9rem;
}

.contentSilabus {
  margin-top: 1rem;
}

.contentSilabus .silabusLoop {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-bottom: 1px solid var(--color-lavender);
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}

.contentSilabus .daySilabus {
  flex-shrink: 0;
  white-space: nowrap;
  margin-top: 6px;
}

.detailSilabus .descSilabus {
  line-height: 120%;
}

.tabs-fasilitas,
.tabs-bonus {
  margin-bottom: 1.5rem;
}

.image-tabs {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0.8rem;
  height: 220px;
}

.image-background {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.text-overlay {
  flex-direction: column;
  z-index: 2;
  padding: 20px;
  text-align: center;
  transition: opacity 0.3s ease;
}

.text-middle {
  margin-top: auto;
  font-size: 1rem;
  font-weight: 400;
  line-height: 130%;
}

.image-tabs:hover .overlay-gradient,
.image-tabs:hover .text-overlay {
  opacity: 0;
}

.header_detail .title {
  font-size: 24px;
  line-height: 120%;
}

.contentTestimoni {
  margin-top: 1rem;
}

.owl-stage {
  display: flex;
}

.contentTestimoni .item {
  height: 100%;
}

.contentTestimoni .card {
  box-shadow: var(--box-shadow);
  border: 1px solid var(--color-lavender);
  padding: 1rem;
  border-radius: 0.8rem;
  height: 100%;
  display: flex;
}

.headerCardTestimoni {
  display: flex;
  gap: 10px;
}

.headerCardTestimoni .imgUserTest {
  width: 50px;
  height: 50px;
}

.headerCardTestimoni .imgUserTest img {
  width: 100%;
  border-radius: 50px;
}

.headerCardTestimoni .nameStudent {
  font-size: 0.95rem;
}

.nameStudent .name {
  font-weight: 600;
}

.nameStudent .city {
  font-weight: 400;
  line-height: 100%;
  font-size: 0.8rem;
}

.reviewUser {
  margin-top: 1rem;
}

.reviewUser .textReview {
  line-height: 120%;
  font-size: 0.95rem;
  margin-bottom: 0.4rem;
}

.reviewUser .star .ti-md {
  color: gold;
}

.page {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
}

.page .content-form {
  width: 420px;
  margin: auto;
}

.content-form .imgHeader {
  text-align: center;
}

.imgHeader img {
  width: 80px;
  margin-bottom: 1rem;
}

.form-input .form-control,
.form-input .form-select {
  border: 0.5px var(--color-border-solid) solid;
  width: 100%;
  padding-left: 35px;
}

.form-control::placeholder,
input[type="date"]::-webkit-datetime-edit {
  color: var(--color-darkgray);
  font-size: 0.9rem;
}

.input-container .icon-eye {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.input-container {
  position: relative;
  margin-bottom: 0.5rem;
}

.input-container .icon-left {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.cta-form {
  text-align: center;
}

.cta-forgot {
  text-align: end;
  font-size: 0.9rem;
  color: var(--color-red);
}

.cta-form p {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

.cta-form p a {
  color: var(--color-red);
  font-weight: 600;
}

.line-container {
  display: flex;
  align-items: center;
}

.line-container::before,
.line-container::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid var(--color-lavender);
}

.line-container::before {
  margin-right: 8px;
}

.line-container::after {
  margin-left: 8px;
}

.line-container span {
  font-size: 0.9rem;
  color: var(--color-slategray);
}

.cta-form .backhome {
  color: var(--color-royalblue);
  font-size: 0.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

/* panel user*/
.body-panel {
  background: var(--color-bg-gradient-red);
}

.body-panel .panel {
  margin-bottom: 50px;
}

.body-panel .container {
  max-width: 1390px !important;
}

.body-panel .cardClass {
  margin-top: 0;
}

.body-panel .cardClass .card {
  border-radius: 16px;
}

.panel .mt-section {
  margin-top: 180px;
}

.sidebar-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 5;
  position: absolute;
  top: -123px;
  left: 0px;
  transition: var(--transition-all);
}

.sidebar-menu.sticky {
  position: fixed;
  top: 30px;
  left: auto;
}

.sidebar-menu.sidebar-start {
  align-items: flex-start;
}

.hamburger {
  cursor: pointer;
}

.hamburger .icon {
  width: fit-content;
  width: 50px;
  height: 50px;
  border-radius: 50px;
}

.list-menu .menu {
  display: flex;
  align-items: center;
  gap: 10px;
}

.list-menu .menu-icon {
  width: 45px;
  height: 45px;
  border-radius: 50px;
}

.active-menu {
  padding-left: 15px !important;
  border-radius: 16px !important;
  align-items: start !important;
  width: 200px !important;
}

.list-menu .label {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.list-menu.show-label .label {
  display: block;
  opacity: 1;
}

.list-menu {
  margin-top: 150px;
  width: 65px;
  padding: 24px 0px;
  border-radius: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  transition: var(--transition-all);
}

.list-menu .menu-icon.active {
  background-color: var(--color-royalblue) !important;
  color: var(--color-white);
  box-shadow: var(--box-shadow-3d);
}

.container-panel {
  margin-left: 85px;
}

.header-panel {
  margin-bottom: 24px;
}

.header-panel .title {
  font-size: 22px;
  line-height: 110%;
}

.header-panel .desc {
  font-size: 16px;
}

.card-dashboard {
  padding: 30px 25px;
  border-radius: 26px;
  margin-bottom: 10px;
}

.header-profile img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 50px;
}

.header-profile .name {
  font-size: 18px;
  line-height: 150%;
}

.header-profile .id,
.header-profile .email,
.header-profile .phone {
  line-height: 125%;
  white-space: normal;
  word-break: break-word;
}

.header-profile .gender {
  font-size: 15px;
  margin-top: 3px;
}

.card-dashboard .dropdown {
  position: absolute !important;
  top: 20px;
  right: 20px;
}

.icon-glow {
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 92, 117, 0.7);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(255, 153, 0, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(255, 153, 0, 0);
  }
}

.icon-more {
  width: 36px;
  height: 36px;
  border-radius: 50px;
  flex-shrink: 0;
}

.contact {
  margin-top: 20px;
}

.contact .icon {
  width: 45px;
  height: 45px;
  border-radius: 50px;
  box-shadow: var(--box-shadow-middle);
  position: relative;
  overflow: hidden;
}

.icon-show-sm {
  display: none;
}

.card-dashboard .header-detail {
  font-size: 18px;
}

.card-dashboard .group-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.card-dashboard .list-detail {
  padding: 16px;
  border-radius: 10px;
  font-size: 0.9rem;
}

.icon-list {
  width: 40px;
  height: 40px;
  border-radius: 50px;
  flex-shrink: 0;
}

.text-container .label {
  line-height: 120%;
}

.header-card-dashboard {
  margin-bottom: 20px;
}

.custom-carousel .item {
  height: 100%;
}

.custom-carousel.owl-theme .owl-nav {
  text-align: end;
}

.custom-carousel.owl-theme .owl-nav [class*="owl-"] {
  margin: 2px !important;
}

.custom-carousel.owl-carousel .owl-nav button.owl-next,
.custom-carousel.owl-carousel .owl-nav button.owl-prev {
  background: var(--color-white);
  color: var(--color-black);
  width: 30px;
  height: 30px;
}

.card-p20-br16-h100 {
  padding: 20px;
  border-radius: 16px;
  height: 100%;
}

.icon-card {
  padding: 16px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.overlay-icon {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.icon-card:hover .overlay-icon,
.contact .icon:hover .overlay-icon {
  opacity: 1;
}

.item-class-done .title-class,
.item-list .title-job {
  font-size: 17px;
}

.item-class-done .title-class span,
.empty-job p {
  font-size: 14px;
  line-height: 130%;
}

.item-class-done .desc-class,
.item-list .desc-job {
  font-size: 15px;
  line-height: 130%;
}

.card-ongoing .header .date-start {
  padding: var(--padding-sm);
  border-radius: 11px;
  font-size: 0.9rem;
}

.card-ongoing .title-class {
  font-size: 17px;
  margin-top: 15px;
}

.card-ongoing .title-class span {
  font-size: 14px;
}

.card-ongoing .progress-class {
  margin-top: 28px;
}

.badge-progress {
  padding: 4px 8px;
  font-size: 14px;
  border-radius: 8px;
}

.progress-class .progress {
  margin-top: 5px;
  --bs-progress-height: 10px;
  --bs-progress-bg: #ffe1e6;
}

.header-event {
  line-height: 100%;
}

.header-event .icon {
  width: 24px;
  height: 24px;
  border-radius: 50px;
}

.list-event {
  margin-top: 20px;
}

.list-event .item {
  padding: 16px;
  border-radius: 16px;
}

.list-event .time {
  background: #ccd4ff;
  padding: 15px;
  border-radius: 10px;
  text-align: center;
}

.list-event .time p {
  font-size: 24px;
}

.card-list-task {
  padding: 8px;
  border-radius: 16px;
}

.card-list-task .header-task {
  padding: 10px 10px 10px 0px;
}

.card-item .table {
  margin-bottom: 0 !important;
}

.card-item thead td {
  padding-bottom: 2px !important;
}

.card-item tbody td {
  padding: 14px 0.5rem;
}

.card-item tbody td:first-child {
  position: relative;
}

.card-item tbody td:first-child::before {
  content: "";
  position: absolute;
  left: 15px;
  width: 3px;
  height: 30px;
  background-color: var(--color-royalblue);
  border-radius: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.card-item tbody td {
  vertical-align: middle;
}

.card-item thead td:first-child,
.card-item tbody td:first-child {
  padding-left: 30px;
}

.card-item tbody tr:first-child td:first-child {
  border-top-left-radius: 14px;
}

.card-item tbody tr:first-child td:last-child {
  border-top-right-radius: 14px;
}

.card-item tbody tr:last-child td:first-child {
  border-bottom-left-radius: 14px;
}

.card-item tbody tr:last-child td:last-child {
  border-bottom-right-radius: 14px;
}

.card-item tbody tr td:first-child {
  width: 40%;
  min-width: 250px;
  max-width: 500px;
}

.card-item tbody tr td {
  white-space: nowrap;
}

.card-item tbody tr td:nth-child(2),
.card-item tbody tr td:nth-child(3),
.card-item tbody tr td:nth-child(4),
.card-item tbody tr td:nth-child(5),
.card-item tbody tr td:nth-child(6) {
  width: 12%;
}

.modal {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.modal form {
  overflow-y: auto;
}

.modal-content {
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 1rem !important;
  box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.15) !important;
}

.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.2);
}

.modal .modal-header {
  border-bottom: none !important;
  padding: 2rem 2rem 0rem 2rem;
}

.modal-body {
  --bs-modal-padding: 2rem;
}

.modal .modal-footer {
  border-top: none !important;
  padding: 0 1.8rem 1.8rem 0;
}

.modal .btn-close {
  background: transparent
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='icon icon-tabler icons-tabler-outline icon-tabler-square-rounded-x'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M10 10l4 4m0 -4l-4 4' /%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z' /%3E%3C/svg%3E")
    center/1em auto no-repeat;
  font-size: 1.5rem;
} 

.modal-backdrop {
  --bs-backdrop-zindex: 1049 !important;
  position: unset !important;
}

.table-responsive > div.dt-container > div.row {
  margin: 10px 0px !important;
  font-size: 0.9rem;
}

.table th {
  font-size: 0.8rem;
}

.table button {
  border: none;
}

.page-link {
  color: var(--color-royalblue);
}

.page-item.active .page-link {
  background-color: var(--color-royalblue);
  border-color: var(--color-royalblue);
  border-radius: 5px;
}

.page-link:hover {
  border-radius: 5px;
}

.content-card .card {
  padding: 30px;
  border-radius: 16px;
}

.content-card .card .text-desc {
  font-size: 15px;
  margin-top: 0.4rem;
}

.table a {
  cursor: pointer;
}

.pagination {
  --bs-pagination-border-width: 0px;
  --bs-pagination-padding-y: 0.275rem;
}

#calendar {
  max-width: 100%;
  padding: 30px;
  border-radius: 16px;
  height: 100%;
}

.fc .fc-daygrid-event {
  text-align: center;
}

.fc-daygrid-day.fc-day-today {
  background-color: rgba(var(--color-royalblue-rgb), 0.1) !important;
}

.fc .fc-button-primary {
  background-color: var(--color-red);
  border-color: var(--color-red);
}

.fc .fc-button-primary:hover {
  background-color: var(--color-hover-red);
  border-color: var(--color-hover-red);
}

.fc .fc-daygrid-event .fc-event-title {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

/* footer */
footer .footer {
  padding: 2rem 0;
}

.logoFooter {
  gap: 10px;
}

.logoFooter img {
  height: 45px;
}

.footer .titleFooter {
  font-size: 1.8rem;
  line-height: 100%;
}

.left .descFooter {
  font-size: 0.9rem;
  line-height: 130% !important;
  margin-top: calc(2px + 0.2vw);
  width: 60%;
}

.footer .flex-between-baseline {
  align-items: start;
}

.footer .sosmed {
  display: flex;
  margin-top: calc(8px + 0.2vw);
  gap: 0.5rem;
}

.cta-icon {
  display: flex;
  gap: 6px;
}

.cta-icon .ti-md {
  margin-top: 2px;
}

.right {
  width: 37%;
}

@media (min-width: 1600px) {
  .container-panel {
    margin-left: 80px !important;
  }
}

@media (min-width: 1500px) {
  .body-panel .container {
    max-width: 1500px;
  }

  .hero .imageHero img,
  .imageHero video {
    height: 700px;
    object-fit: cover;
  }

  .titleHero {
    font-size: 3rem;
  }

  .container-fluid {
    max-width: 1440px !important;
  }

  .descHero {
    font-size: 1.5rem;
  }

  .mt-section {
    margin-top: 3rem;
  }

  .header-page-center.mt-section {
    margin-top: 7rem !important;
  }

  .contentCTA .titleCTA {
    font-size: 1.5rem;
  }

  .contentCTA .descCTA {
    font-size: 1.2rem;
  }

  .contentCTA .btn {
    padding: 0.5rem 2rem;
  }

  .trainer .card {
    padding: 0.6rem;
  }

  .bg-cta,
  .trainer .card {
    border-radius: 1.5rem;
  }

  .accordion-body {
    font-size: 1rem;
  }

  .cardClass {
    margin-top: 0;
  }

  .contentFAQ {
    margin-top: 1rem;
  }

  .footer .titleFooter {
    font-size: 1.5rem;
  }
}

@media (min-width: 1400px) {
  .container {
    max-width: 1230px !important;
  }

  .container-panel {
    margin-left: 75px;
  }

  .hero-img {
    display: flex;
    justify-content: center;
  }

  .hero-img img,
  .hero-img video {
    width: 1230px !important;
    border-radius: 0 0 20px 20px;
  }
}

@media (max-width: 1200px) {
  .carousel2 .item video,
  .carousel2 .item img {
    width: 140px !important;
    height: 120px !important;
  }

  .carousel2 .owl-item.center .item video,
  .carousel2 .owl-item.center .item img {
    width: 476px !important;
    height: 269px !important;
  }

  .imageHero img,
  .imageHero video {
    height: 600px;
  }

.text-details-hero {
	width: 65%;
	bottom: 30px;
	left: calc(var(--bs-gutter-x) * 1);
}

  .text-details-hero .title {
    line-height: 110%;
  }

	.card-img-detail {
		bottom: -40px;
		right: calc(var(--bs-gutter-x) * 1);
	}


	.flex-between-center.detail {
    align-items: start;
    flex-direction: column;
    gap: 10px;
  }

  .header-page-center .desc {
    width: 50%;
  }

  .img-bg-herodetail {
    height: 640px;
  }
}

@media (max-width: 994.98px) {
  .navbar {
    padding: 2px 10px;
    width: 400px;
  }

  .navbar-nav {
    gap: 0px;
    text-align: center;
  }

  .navbar-nav .nav-item {
    width: 100%;
  }

  .navbar-nav .dropdown-menu {
    top: 65px !important;
  }

  .imageHero img,
  .imageHero video {
    height: 500px;
  }

  .textCTA {
    width: 65%;
  }

  .contentEmpty .state {
    width: 60%;
  }

  .carousel2 .item video,
  .carousel2 .item img {
    width: 153px !important;
    height: 120px !important;
  }

  .carousel2 .owl-item.center .item video,
  .carousel2 .owl-item.center .item img {
    width: 420px !important;
    height: 240px !important;
  }

	text-details-hero {
	width: 60%;
	left: calc(var(--bs-gutter-x) * 1);
	}

  .card-img-detail {
    right: calc(var(--bs-gutter-x) * 1);
  }

  .container {
    max-width: 960px;
  }

  .detail-checkout .detail-body .title {
    width: 90%;
    line-height: 120%;
  }

  .nav-item .user-menu {
    justify-content: end;
  }
  .content-class .flex-between-center {
    flex-direction: column;
    gap: 16px;
  }

  .img-bg-herodetail {
    height: 680px;
  }
  .silabus {
    margin-top: 30px;
  }
}

@media (max-width: 840px) {
  .detail-checkout .img-class img {
    display: none;
  }

  .detail-checkout .content.gap-3 {
    gap: 0 !important;
  }

  .list-event .item {
    flex-direction: column;
    align-items: start !important;
  }

  .list-event .gap-3 {
    gap: 0.5rem !important;
  }

  .webstore .hero-img .img-banner {
    height: auto !important;
  }
}

@media (max-width: 825px) {
  .card-img-detail {
    bottom: -339px;
    left: calc(var(--bs-gutter-x) * 1);
    right: auto;
  }

  .text-details-hero {
    width: 93%;
    bottom: 60px;
  }

  .silabus {
    margin-top: 350px;
  }
}

@media (max-width: 797px) {
  .textCTA {
    width: 63%;
  }
}

@media (max-width: 767px) {
  .footerClass {
    display: inline-block;
  }

  .animated-button {
    margin-top: 0.5rem;
  }

  .textCTA {
    width: 53%;
  }

  .contentHero {
    width: 100%;
  }

  .detailSilabus .titleSilabus {
    font-size: 1rem;
  }

  .detailSilabus .descSilabus {
    font-size: 0.95em;
  }

  .accordion-body {
    font-size: 0.9rem;
  }

  .animated-button:hover .circle {
    width: 250px;
    height: 250px;
  }

  .bodyClass .nameClass {
    font-size: 1.15rem;
  }

  .carousel2 .owl-dots {
    display: none !important;
  }

  .carousel2 .owl-item.center .item video,
  .carousel2 .owl-item.center .item img {
    width: 460px !important;
    height: 260px !important;
  }

  .footer .content {
    flex-direction: column;
  }

  .right {
    width: 100%;
    margin-top: 20px;
    font-size: 0.9rem;
  }

  .imageHero img,
  .imageHero video {
    height: 400px;
	object-fit: contain;
  }

  .navbar {
    width: 350px;
  }

  .container-fluid {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .contentHeroDetails {
    margin-top: calc(var(--bs-gutter-x) * 0.5);
  }

  .card-img-detail {
    right: calc(var(--bs-gutter-x) * 1);
    bottom: -100px;
  }

  .text-details-hero {
    left: calc(var(--bs-gutter-x) * 1);
    width: 87%;
    bottom: calc(var(--bs-gutter-x) * 3);
  }

  .text-details-hero .title-batch {
    font-size: 34px;
  }

  .container {
    max-width: 700px;
  }

  .detail-checkout .img-class img {
    display: flex;
  }

  .detail-checkout .content.gap-3 {
    gap: 1rem !important;
  }

  .header-page-center .desc {
    width: 70%;
  }

  .header-page-center.mt-section {
    margin-top: 85px;
  }

  .header-page-center .title {
    font-size: 35px;
  }

  .footer .titleFooter {
    font-size: 1.5rem;
  }

  .list-event .item {
    flex-direction: unset;
    align-items: center !important;
  }

  .list-menu {
    margin-top: 10px;
  }

  .sidebar-menu {
    top: 0px;
  }

  .container-panel {
    margin-left: 75px;
  }

  .icon-hide-sm {
    display: none;
  }

  .icon-show-sm {
    display: flex;
  }

  .contact .icon .overlay-icon,
  .item .overlay-icon {
    opacity: 1;
    background-color: #ccd4ff;
  }

  .nav-item .user-menu {
    justify-content: space-between;
  }

  .navbar {
    top: 35px;
  }

  .panel .mt-section {
    margin-top: 150px;
  }

  .dropdown-menu-end {
    left: 0 !important;
  }
  .silabus {
    margin-top: 350px;
  }

  .card-img-detail {
    bottom: -339px;
    left: calc(var(--bs-gutter-x) * 1);
    right: auto;
  }
}

@media (max-width: 666px) {
  .text-details-hero .title {
    font-size: 40px;
  }

  .text-details-hero .title-batch {
    font-size: 30px;
  }
}

@media (max-width: 615px) {
  .contentCTA {
    display: block;
  }

  .contentCTA .btn {
    width: fit-content;
    /* justify-content: center; */
    padding: 0.4rem 1.5rem;
  }

  .descCTA {
    width: 100%;
  }

  .textCTA {
    width: 100%;
    margin-bottom: 0.6rem;
  }

  .titleHero {
    font-size: calc(14px + 2vw);
  }

  .descHero {
    font-size: calc(10px + 0.8vw);
  }

  .contentEmpty .state {
    width: 80%;
  }

  .container-fluid {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .bodyClass .desc-class {
    font-size: 14px;
  }

  .ti-md {
    font-size: 18px;
  }

  .imgClass img {
    height: 190px;
  }

  .imageHero img,
  .imageHero video {
    margin-top: calc(var(--bs-gutter-x) * 0.5);
  }

  .content-profile .text-red {
    margin-top: 30px;
  }
}

@media (max-width: 523px) {
  .row-cols-sm-2 > * {
    width: 100% !important;
  }

  .accordion-content .content {
    display: none;
  }

  .left .descFooter {
    width: 100%;
  }

  .header-section .title {
    font-size: 18px;
  }

  .list-event .item {
    flex-direction: column;
    align-items: start !important;
  }

  .panel .mt-section {
    margin-top: 150px;
  }

  .webstore .navbar .btn-small {
    font-size: 12px;
  }
}

@media (max-width: 455px) {
  .titleHero {
    font-size: 1.5rem;
  }

  .descHero {
    font-size: 1rem;
  }

  .cardClass .col {
    flex: 1 0 100% !important;
  }

  .cardClass .footerClass {
    display: flex;
  }

  .header_detail .title {
    font-size: 18px;
  }

  .header_detail .desc {
    font-size: 0.9rem;
  }

  .container-fluid {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .titleHeaderClass {
    font-size: 1rem;
  }

  .descHeaderClass {
    margin-top: 0.2rem;
    font-size: 1.5rem;
    line-height: 120%;
  }

  .page .content-form {
    width: 100%;
  }

  .contentCTA .titleCTA {
    font-size: 1.3rem;
    line-height: 150%;
  }

  .contentCTA .descCTA {
    font-size: 0.9rem;
    line-height: 110%;
    width: 100%;
    font-weight: 300;
  }

  .nameTrainer {
    font-size: 0.9rem;
  }

  .detailTrainer .role {
    font-size: 0.85rem;
  }

  .contentSilabus .silabusLoop {
    flex-direction: column;
    gap: 0.3rem;
  }

  .form-input .form-control,
  .form-input .form-select {
    height: 40px;
  }

  .height-custom {
    height: 80px !important;
  }

  .text-details-hero .title {
    font-size: 30px;
    margin-top: 10px;
  }

  .text-details-hero .title-batch {
    font-size: 24px;
  }

  .header-page-center .desc {
    width: 90%;
  }

  .header-page-center .title {
    font-size: 30px;
  }

  .navbar {
    width: 300px;
  }

  .header-panel .title {
    font-size: 20px;
  }

  .header-profile .name,
  .card-ongoing .title-class {
    font-size: 16px;
  }

  .header-profile .email {
    font-size: 15px;
  }

  .contact {
    margin-top: 20px;
  }

  .badge-progress {
    font-size: 12px;
  }

  .container-panel {
    margin-left: 0;
  }

  .card-dashboard {
    padding: 20px;
  }

  .sidebar-menu {
    align-items: flex-start;
  }

  .list-menu {
    display: none;
    animation: fadeOutCustom 0.2s ease-out forwards;
  }

  .list-menu.active-menu {
    display: flex;
    animation: fadeInCustom 0.1s ease-in forwards;
  }

  .hamburger .icon {
    background-color: var(--color-red) !important;
    color: var(--color-white);
    box-shadow: var(--box-shadow-3d);
    position: fixed;
    /* bottom: 40px; */
    bottom: 106px;
    right: 20px;
    animation: pulse 1.5s infinite;
  }

  .sidebar-menu {
    top: unset !important;
    position: fixed;
    left: unset !important;
    /* bottom: 100px; */
    bottom: 160px;
    right: 20px;
  }

  .popup-wa a {
    bottom: 40px !important;
    right: 20px !important;
    color: #fff;
    border-radius: 50px;
    font-size: 30px;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .carousel2 .owl-item.center .item video,
  .carousel2 .owl-item.center .item img {
    width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 414px) {
  .icon-user {
    right: 10px;
  }

  .titleHero {
    font-size: 1.3rem;
  }

  .btn-submit-form .btn {
    padding: 5px 20px;
    width: 100%;
  }

  .btn-submit-form .btn-secondary {
    width: unset;
    padding: 5px 20px;
  }

  .nameAccount p {
    line-height: 100%;
  }

  .pay-detail .flex-between-center {
    flex-direction: column;
    align-items: start;
    margin-bottom: 8px;
  }

  .width-sm {
    width: 60% !important;
  }
}

@media (max-width: 390px) {
  .contentTypeClass .headerTypeClass {
    display: block;
  }

  .card-img-detail .card {
    width: 100%;
  }

  .header-section .desc {
    font-size: 24px;
  }
}

@media (max-width: 385px) {
  .contentCTA .btn {
    font-size: 12px;
  }

  .headerTypeClass .batch {
    justify-content: space-between;
  }

  .card-dashboard {
    border-radius: 16px;
  }

  .navbar {
    width: 250px;
  }
}

table.dataTable th.dt-type-numeric,
table.dataTable th.dt-type-date,
table.dataTable td.dt-type-numeric,
table.dataTable td.dt-type-date {
  text-align: left;
}

.carousel2 .item video,
.carousel2 .item img {
  width: 160px;
  height: 150px;
  transition: all 0.5s ease;
  opacity: 0.2;
  object-fit: cover;
}

.carousel2 .owl-item.center .item video,
.carousel2 .owl-item.center .item img {
  width: 580px;
  height: 320px;
  object-fit: cover;
  opacity: 1;
}

.carousel2 .owl-item {
  display: flex;
  justify-content: center;
  align-items: center;
}

.carousel2 .owl-nav.disabled {
  display: block !important;
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev {
  background: var(--color-white);
  color: var(--color-black);
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50px;
  box-shadow: var(--box-shadow);
}

.owl-theme .owl-nav [class*="owl-"]:hover {
  background: var(--color-white);
  color: var(--color-black);
  text-decoration: none;
}

.owl-theme .owl-nav .disabled {
  opacity: 0.3 !important;
  cursor: default;
}

:root {
  --gl-star-size: auto;
  --gl-star-color: var(--tblr-yellow);
  --gl-star-color-inactive: var(--tblr-border-color);
}

[data-star-rating] svg {
  width: var(--tblr-icon-size, --gl-star-size);
  height: var(--tblr-icon-size, --gl-star-size);
}

[data-star-rating] :not(.gl-active) > .gl-star-full {
  color: var(--gl-star-color-inactive) !important;
}

[data-star-rating] .gl-active > .gl-star-full {
  color: var(--gl-star-color);
}

.nav-tabs .nav-link.active {
  color: var(--color-royalblue) !important;
}

.nav-tabs .nav-link {
  color: var(--color-secondary) !important;
}

.list_content_tabs {
  margin-top: 1rem;
}

.form .form-check {
  padding-left: 1.5rem;
}

.custom-bullet li::marker {
  color: var(--color-royalblue);
}

.table .form-check {
  padding-left: 1.8em;
  margin-bottom: 0;
}

.card-custom {
  border: 1px solid var(--color-lavender);
}

.card-custom .card-header {
  background-color: rgba(var(--color-royalblue-rgb), 0.08) !important;
  color: var(--color-royalblue);
  border-bottom: unset;
}

.card-custom .custom-bullet {
  margin-bottom: 0;
}

.card-quiz {
  padding: 1.2rem;
  border-radius: 0.6rem;
  margin-bottom: 0.5rem;
}

.question-body {
  line-height: 1.7;
  margin-bottom: 18px;
}

.question-body .question-number {
  font-size: 0.9rem;
  font-weight: 700;
}

.question-body .question-text {
  line-height: 140%;
  margin-top: 0.5rem;
}

.question-choice .option {
  margin-bottom: 0.5rem;
}

.question-choice .option .indicator {
  margin-right: 0.8rem;
}

.question-choice .option label {
  display: block;
  padding: 0.8rem 1rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  transition: background-color 0.3s, color 0.3s;
}

.question-choice .option input.correct:disabled + label {
  background-color: var(--color-green);
  color: white;
}

.question-choice .option input[type="radio"] {
  display: none;
}

.question-choice .option input[type="radio"]:checked + label {
  background-color: var(--color-royalblue) !important;
  color: white !important;
  border-color: var(--color-royalblue) !important;
}

.question-essay label {
  font-size: 0.9rem;
}

.question-essay .link-preview {
  text-decoration: underline;
  font-size: 0.9rem;
  font-weight: 600;
}

#pdf-viewer-container {
  height: 100vh;
  overflow-y: auto;
}

#pdf-viewer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 100vh;
  gap: 1rem;
  margin-top: 1em;
  margin-bottom: 1rem;
}

#pdf-viewer canvas {
  width: 100%;
  height: auto;
}

.content_audio {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1em;
}

#my_audio {
  width: 100%;
  height: 60px;
}

#image_content {
  display: flex;
  align-items: center;
  flex-direction: column;
  /* min-height: 100vh; */
  gap: 1rem;
  margin-top: 1em;
}

#image_content img {
  width: 100%;
}

.content_video {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1em;
}

#my_video {
  width: 100%;
  height: auto;
}

@keyframes fadeInCustom {
  from {
    opacity: 0;
    transform: scale(0.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fadeOutCustom {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(0.9);
  }
}

.custom-fade-in {
  animation: fadeInCustom 0.2s ease-out forwards;
}

.custom-fade-out {
  animation: fadeOutCustom 0.1s ease-in forwards;
}

.title-sk {
  font-size: 18px;
}

.info-rek {
  font-size: 15px;
}

.info-step {
  font-size: 14px;
}

.webstore .hero-img {
  position: relative;
}

.webstore .hero-img .img-banner {
  width: 100%;
  height: 450px;
  object-fit: cover;
}

.webstore .navbar {
  position: fixed !important;
  z-index: 10;
  top: 20px !important;
  left: unset !important;
  transform: unset !important;
  border-radius: unset !important;
  width: 100% !important;
  padding: unset !important;
}

.list-product {
  z-index: 0;
  margin-top: 50px;
}

.list-product .header .title {
  border: 1px solid var(--color-lightgray);
  width: fit-content;
  padding: 6px 20px;
  border-radius: 50px;
}

.search-box {
  display: flex;
  align-items: center;
  border: 1px solid var(--color-lightgray);
  border-radius: 50px;
  padding: 5px;
  overflow: hidden;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.05);
}

.list-product .search-icon {
  color: var(--color-lightgray);
  margin-left: 10px;
  font-size: 18px;
}

.list-product .search-box input {
  border: none;
  outline: none;
  flex: 1;
  font-size: 14px;
  margin-left: 8px;
}

.list-product .search-box input::placeholder {
  color: var(--color-lightgray);
}

.list-product .search-box button {
  background-color: rgba(var(--color-red-rgb), 0.1);
  border: none;
  padding: 6px 18px;
  border-radius: 50px;
  cursor: pointer;
  transition: all ease-in-out 0.2s;
}

.list-product .search-box button:hover {
  color: var(--color-hover-red);
}

.list-product .content-product {
  margin-top: 35px;
}

.content-product .card {
  border: 1px solid var(--color-lightgray);
  padding: 2.5px;
  border-radius: 33px;
  /* width: 230px; */
  margin: 0 auto;
}

.content-product img {
  border-radius: 31px;
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.content-product .card-content-produk {
  padding: 24px;
  padding-top: 16px;
}

.card-content-produk .title-name-produk {
  font-size: 18px;
  line-height: 110%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card-content-produk .price-produk {
  font-size: 15px;
  margin-top: 10px;
}

.card-content-produk .btn {
  width: fit-content;
}

.content-product .more .btn {
  background-color: rgba(var(--color-red-rgb), 0.1);
  font-size: 12px;
}

.content-product .more .btn:hover {
  background-color: var(--color-pink);
}

/* Posisi container floating */
.popup-wa {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 200px; /* kanvas buat teks */
  height: 180px; /* kanvas buat teks */
  z-index: 100;
}

/* Tombol WA tetap 60x60, nempel di bawah-tengah kanvas */
.popup-wa a {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 150px;
  height: 150px;
  transform: translateX(-50%);
  color: #fff;
  border-radius: 50%;
  font-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#carousel_doc .item,
#carousel_sponsor .item {
  position: relative;
}

.descSilabus {
  white-space: pre-line;
}

.item-contact-overlay {
  position: absolute;
  left: 10px;
  top: 10px;
  font-size: 13px;
  background: rgba(0, 0, 0, 0.6);
  padding: 0.5rem 0.6rem;
  border-radius: 10px;
  color: #fff;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: 0.15s ease;
}

@media (hover: hover) and (pointer: fine) {
  .owl-item.video-ui-active:hover .item-contact-overlay {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

/* touch (tidak ada hover): langsung tampil di item aktif */
@media (hover: none) {
  .owl-item.video-ui-active .item-contact-overlay {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

.content-profile {
  margin-top: 100px;
}

.content-profile .img {
  border-radius: 16px;
  width: 100%;
}

.content-profile .item {
  margin-top: 30px !important;
}
.content-profile .desc,
#detail_profile .modal-body p {
  text-align: justify;
}

.container-img-profil {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
}

.container-img-profil img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.content-profile .order-2 {
	padding-right: 28px;
}


.line {
  width: 150px;
  height: 3px;
  background: var(--color-red);
  margin: 8px 0;
}

/* 1:1 square thumbnail */
.content-loker .item .thumb-1x1 {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 12px;
  background: #f2f2f2;
}

.content-loker .item .thumb-1x1 img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop biar tetap proporsional */
  display: block;
}

.countdown-wrapper {
  display: flex;
  gap: 6px;
  margin-top: 4px;
}

.cd-box {
  background: #222;
  border-radius: 4px;
  padding: 4px 6px;
  min-width: 40px;
  text-align: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.cd-number {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
}

.cd-label {
  font-size: 0.55rem;
  margin-top: 2px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  opacity: 0.8;
}
.info-empty {
  background-color: var(--color-white);
  border-radius: 0 0 8px 8px;
}

.header-empty {
  color: var(--color-white) !important;
  background-color: var(--color-red);
  padding: 10px 16px;
  border-radius: 8px 8px 0 0;
}

.header-empty p {
  font-size: 15px;
  line-height: 120%;
}

.body-empty {
  padding: 16px;
  font-size: 15px;
}

.body-empty ol {
  padding-left: 1.5rem;
}

.body-empty .icon-step {
  background-color: var(--color-lavender);
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
