.form-group {
    margin-bottom: 1rem;
}

.hp-hero-text-gradient {
    --hp-bg-size: 400%;
    --hp-color-one: rgb(37, 161, 244);
    --hp-color-two: rgb(249, 31, 169);

    background: linear-gradient(90deg,
            var(--hp-color-one),
            var(--hp-color-two),
            var(--hp-color-one)) 0 0 / var(--hp-bg-size) 100%;
    color: transparent !important;
    -webkit-background-clip: text;
    background-clip: text;
    animation: hp-move-bg 24s infinite linear;
}

@keyframes hp-move-bg {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 400% 0;
    }
}


.payment-group {
    box-shadow: none !important;
}

/* .payment-group .accordion-button:focus {
      box-shadow: none;
  } */
.payment-menu input[type="radio"] {
    display: none;
}

.payment-menu {
    /*cursor: pointer;*/
    position: relative;
    display: block;
    color: var(--bs-card-title-color);
    text-decoration: none;
    background: var(--bs-body-bg);
    border-radius: 1rem !important;
    user-select: none;
}

.payment-menu input[type="radio"]+.payment-item {
    text-align: center;
    cursor: pointer;
    padding: 0.5rem 1rem;
    font-size: 13px !important;
    border-radius: 1rem !important;
    border: 2px solid var(--bs-gray-300);
    width: 100%;
}

.payment-menu input[type="radio"]:checked+.payment-item {
    background-color: var(--bs-primary-light);
    border: 2px solid var(--bs-primary);
    color: var(--bs-primary);
    font-size: 13px !important;
    display: block;
}

.payment-menu input[type="radio"]:hover:not(:checked)+.payment-item {
    border: 2px solid var(--bs-primary);
}

.payment-menu .info-top {
    margin-top: 7px;
}

.payment-menu .info-bottom {
    margin-top: 7px;
    margin-bottom: 3px;
}

.select2 {
    width: 100% !important;
}

body .swal2-container {
    z-index: 1081 !important;
}

.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: #f3f5f7;
}

.select2-container--default .select2-selection--single {
    border-radius: 8px !important;
    border: 1px solid #bec8d0 !important;
    height: 100% !important;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    height: 0 !important;
    left: 0 !important;
    margin-left: -5px !important;
    margin-top: 8px !important;
}

.select2-container .select2-selection--single:hover {
    background-color: #f8f9fa !important;
}

.select2-container .select2-selection--single:focus {
    color: #131920 !important;
    background-color: #f8f9fa !important;
    border-color: var(--bs-primary) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), 0.1) !important;
}

.select2-results__option:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
    color: var(--bs-primary) !important;
}

.select2-results__option[aria-selected="true"] {
    background-color: var(--bs-primary) !important;
    color: white !important;
}

.select2-results__option--highlighted[aria-selected="false"] {
    background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
    color: var(--bs-primary) !important;
}

.select2-results__option--highlighted[aria-selected="true"] {
    background-color: var(--bs-primary) !important;
    color: white !important;
}

.select2-container--open .select2-selection--single {
    color: #131920 !important;
    background-color: #f8f9fa !important;
    border-color: var(--bs-primary) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), 0.1) !important;
}

.select2-container .select2-selection--single {
    width: 100%;
    /*padding: 0.58rem 0.75rem;*/
    padding: 0.58rem 2rem 0.58rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    background-color: #ffffff;
    background-clip: padding-box;
    border: 1px solid #bec8d0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 8px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border-radius: 0.357rem;
    height: 2rem;
}

[data-pc-theme="dark"] .select2-container .select2-selection--single {
    background-color: #263240 !important;
    border-color: #303f50 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #131920 !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--bs-body-color) !important;
}

[data-pc-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--bs-body-color) !important;
}

[data-pc-theme="dark"] .select2-search__field {
    background-color: #263240 !important;
    color: var(--bs-body-color) !important;
}

[data-pc-theme="dark"] .select2-dropdown {
    background-color: #263240 !important;
    color: var(--bs-body-color) !important;
}

[data-pc-theme="dark"] .select2-results__option:hover {
    background: transparent !important;
    color: var(--bs-primary) !important;
}

[data-pc-theme="dark"] .select2-container .select2-selection--single:focus {
    border-color: var(--bs-primary) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), 0.1) !important;
}

[data-pc-theme="dark"] .select2-results__option[aria-selected="true"] {
    background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
    color: var(--bs-primary) !important;
}

[data-pc-theme="dark"] .select2-results__option--highlighted[aria-selected="false"] {
    background: transparent !important;
    color: var(--bs-primary) !important;
}

[data-pc-theme="dark"] .select2-results__option--highlighted[aria-selected="true"] {
    background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
    color: var(--bs-primary) !important;
}

[data-pc-theme="dark"] .select2-container--open .select2-selection--single {
    border-color: var(--bs-primary) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), 0.1) !important;
}

[data-pc-theme="dark"] .form-control:disabled,
[data-pc-theme="dark"] .custom-select:disabled,
[data-pc-theme="dark"] .dataTable-selector:disabled,
[data-pc-theme="dark"] .dataTable-input:disabled {
    -webkit-text-fill-color: var(--bs-body-color);
}

body.swal2-height-auto {
    overflow: hidden !important;
}

.available-balance-card::after {
    background: linear-gradient(180deg,
            rgba(255, 255, 255, 0.3),
            rgba(255, 255, 255, 0));
}

.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger,
.btn-secondary,
.btn-custom-gradient {
    background-image: linear-gradient(180deg,
            rgba(255, 255, 255, 0.25),
            rgba(255, 255, 255, 0)) !important;
    border: none;
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-secondary {
    background-image: linear-gradient(180deg,
            rgba(255, 255, 255, 0.25),
            rgba(255, 255, 255, 0)) !important;
}

[data-pc-theme="dark"] .card .card-header {
    border-bottom: 1px solid #444a52;
}

.table thead th .form-check {
    font-size: var(--bs-body-font-size) !important;
}

.form-check .form-check-input {
    cursor: pointer;
}

.pc-sidebar .pc-hasmenu.pc-trigger>.pc-link>.pc-arrow {
    margin-top: 2px;
}

[data-pc-theme="dark"] .payment-menu input[type="radio"]:checked+.payment-item {
    background-color: rgba(var(--bs-primary-rgb), 0.2);
}

.hero-text-gradient {
    --bg-size: 400%;
    --color-one: rgb(37, 161, 244);
    --color-two: rgb(249, 31, 169);

    background: linear-gradient(90deg,
            var(--color-one),
            var(--color-two),
            var(--color-one)) 0 0 / var(--bg-size) 100%;
    color: transparent !important;
    -webkit-background-clip: text;
    background-clip: text;
    animation: move-bg 24s infinite linear;
}

@keyframes move-bg {
    to {
        background-position: var(--bg-size) 0;
    }
}

.loader {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.5);
    z-index: 999999;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: 1;
    transition: opacity 1s ease-out;
    /* Atur durasi fade-out di sini */
}

.custom-loader {
    margin: 0 auto;
    width: 50px;
    height: 50px;
    --pc: radial-gradient(farthest-side, var(--bs-primary) 92%, #0000);
    background: var(--pc) 50% 0, var(--pc) 50% 100%, var(--pc) 100% 50%, var(--pc) 0 50%;
    background-size: 10px 10px;
    background-repeat: no-repeat;
    animation: spin 0.6s infinite linear;
    position: relative;
}

.custom-loader::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: 3px;
    background: repeating-conic-gradient(rgba(0, 0, 0, 0) 0 35deg, var(--bs-primary) 0 90deg);
    -webkit-mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 3px), #000 0);
    border-radius: 50%;
}

@keyframes spin {
    100% {
        transform: rotate(0.5turn);
    }
}



.bgImageCustom {
  min-height: auto;
  padding-top: 100px;
  padding-bottom: 160px;
}

.wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: url("../images/landing/wave.png");
  background-size: 1000px 100px;
}

[data-pc-theme="dark"] .wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: url("../images/landing/wave-dark.png");
  background-size: 1000px 100px;
}

.wave.wave1 {
  animation: animate 30s linear infinite;
  z-index: 10;
  opacity: 1;
  animation-delay: 0s;
  bottom: 0;
}

.wave.wave2 {
  animation: animate2 15s linear infinite;
  z-index: 9;
  opacity: 0.5;
  animation-delay: -5s;
  bottom: 15px;
}

.wave.wave3 {
  animation: animate 30s linear infinite;
  z-index: 8;
  opacity: 0.2;
  animation-delay: -2s;
  bottom: 15px;
}

.wave.wave4 {
  animation: animate2 5s linear infinite;
  z-index: 7;
  opacity: 0.7;
  animation-delay: -5s;
  bottom: 25px;
}

@keyframes animate {
  0% {
    background-position: 0;
  }
  100% {
    background-position: 1000px;
  }
}

@keyframes animate2 {
  0% {
    background-position: 0;
  }
  100% {
    background-position: -1000px;
  }
}

.background-pattern1 {
  background-repeat: repeat;
  background-size: 100%;
  background-image: url("data:image/svg+xml,<svg id='patternId' opacity='0.1' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='70' height='70' patternTransform='scale(1) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='hsla(0,0%,100%,1)'/><path d='M-4.8 4.44L4 16.59 16.14 7.8M32 30.54l-13.23 7.07 7.06 13.23M-9 38.04l-3.81 14.5 14.5 3.81M65.22 4.44L74 16.59 86.15 7.8M61 38.04l-3.81 14.5 14.5 3.81'  stroke-linecap='square' stroke-width='2' stroke='hsla(258.5,59.4%,59.4%,1)' fill='none'/><path d='M59.71 62.88v3h3M4.84 25.54L2.87 27.8l2.26 1.97m7.65 16.4l-2.21-2.03-2.03 2.21m29.26 7.13l.56 2.95 2.95-.55'  stroke-linecap='square' stroke-width='2' stroke='hsla(339.6,82.2%,51.6%,1)' fill='none'/><path d='M58.98 27.57l-2.35-10.74-10.75 2.36M31.98-4.87l2.74 10.65 10.65-2.73M31.98 65.13l2.74 10.66 10.65-2.74'  stroke-linecap='square' stroke-width='2' stroke='hsla(198.7,97.6%,48.4%,1)' fill='none'/><path d='M8.42 62.57l6.4 2.82 2.82-6.41m33.13-15.24l-4.86-5.03-5.03 4.86m-14-19.64l4.84-5.06-5.06-4.84'  stroke-linecap='square' stroke-width='2' stroke='hsla(47,80.9%,61%,1)' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>");
}

.background-pattern2 {
  background-repeat: repeat;
  background-size: 100%;
  background-image: url("data:image/svg+xml,<svg id='patternId' opacity='0.1' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='70' height='70' patternTransform='scale(1) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='hsla(0,0%,100%,1)'/><path d='M-4.8 4.44L4 16.59 16.14 7.8M32 30.54l-13.23 7.07 7.06 13.23M-9 38.04l-3.81 14.5 14.5 3.81M65.22 4.44L74 16.59 86.15 7.8M61 38.04l-3.81 14.5 14.5 3.81'  stroke-linecap='square' stroke-width='2' stroke='hsla(258.5,59.4%,59.4%,1)' fill='none'/><path d='M59.71 62.88v3h3M4.84 25.54L2.87 27.8l2.26 1.97m7.65 16.4l-2.21-2.03-2.03 2.21m29.26 7.13l.56 2.95 2.95-.55'  stroke-linecap='square' stroke-width='2' stroke='hsla(339.6,82.2%,51.6%,1)' fill='none'/><path d='M58.98 27.57l-2.35-10.74-10.75 2.36M31.98-4.87l2.74 10.65 10.65-2.73M31.98 65.13l2.74 10.66 10.65-2.74'  stroke-linecap='square' stroke-width='2' stroke='hsla(198.7,97.6%,48.4%,1)' fill='none'/><path d='M8.42 62.57l6.4 2.82 2.82-6.41m33.13-15.24l-4.86-5.03-5.03 4.86m-14-19.64l4.84-5.06-5.06-4.84'  stroke-linecap='square' stroke-width='2' stroke='hsla(47,80.9%,61%,1)' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(-35,-13)' fill='url(%23a)'/></svg>");
}

.background-pattern3 {
  background-repeat: repeat;
  background-size: 100%;
  background-image: url("data:image/svg+xml,<svg id='patternId' opacity='0.1' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='70' height='70' patternTransform='scale(1) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='hsla(0,0%,100%,1)'/><path d='M-4.8 4.44L4 16.59 16.14 7.8M32 30.54l-13.23 7.07 7.06 13.23M-9 38.04l-3.81 14.5 14.5 3.81M65.22 4.44L74 16.59 86.15 7.8M61 38.04l-3.81 14.5 14.5 3.81'  stroke-linecap='square' stroke-width='2' stroke='hsla(258.5,59.4%,59.4%,1)' fill='none'/><path d='M59.71 62.88v3h3M4.84 25.54L2.87 27.8l2.26 1.97m7.65 16.4l-2.21-2.03-2.03 2.21m29.26 7.13l.56 2.95 2.95-.55'  stroke-linecap='square' stroke-width='2' stroke='hsla(339.6,82.2%,51.6%,1)' fill='none'/><path d='M58.98 27.57l-2.35-10.74-10.75 2.36M31.98-4.87l2.74 10.65 10.65-2.73M31.98 65.13l2.74 10.66 10.65-2.74'  stroke-linecap='square' stroke-width='2' stroke='hsla(198.7,97.6%,48.4%,1)' fill='none'/><path d='M8.42 62.57l6.4 2.82 2.82-6.41m33.13-15.24l-4.86-5.03-5.03 4.86m-14-19.64l4.84-5.06-5.06-4.84'  stroke-linecap='square' stroke-width='2' stroke='hsla(47,80.9%,61%,1)' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(-47,-26)' fill='url(%23a)'/></svg>");
}

/* Pattern 4 — Soft Dots + Mesh + Liquid Glass yang halus (Light/Dark) */
.background-pattern4 {
  position: relative;
  overflow: hidden; /* penting agar blob glass tidak keluar radius card */
  /* --- Base + dots + mesh (LIGHT) --- */
  background-color: #fbfcfe;
  background-image:
    /* dots: lebih soft tapi jelas */ radial-gradient(
      rgba(17, 24, 39, 0.1) 1px,
      transparent 1px
    ),
    /* mesh lembut */
      radial-gradient(at 22% 26%, rgba(96, 165, 250, 0.16), transparent 50%),
    radial-gradient(at 82% 18%, rgba(244, 114, 182, 0.14), transparent 52%),
    radial-gradient(at 46% 78%, rgba(52, 211, 153, 0.16), transparent 54%);
  background-size: 20px 20px, /* dots */ 100% 100%, 100% 100%, 100% 100%;
  background-repeat: repeat, no-repeat, no-repeat, no-repeat;
  background-blend-mode: normal, screen, screen, screen;
  transition: background-color 200ms ease, background-image 200ms ease;
}

/* Konten di atas efek */
.background-pattern4 > * {
  position: relative;
  z-index: 2;
}

/* Liquid Glass blob (feathered) */
.background-pattern4::before {
  content: "";
  position: absolute;
  z-index: 1; /* di bawah konten, di atas pola */
  right: -6%;
  top: -12%;
  width: 52%;
  height: 70%;
  border-radius: 42% 58% 48% 52%/55% 45% 55% 45%;
  /* kaca: tipis + blur, tidak terlalu putih */
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.26),
    rgba(255, 255, 255, 0.14)
  );
  backdrop-filter: blur(14px) saturate(150%);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 10px 26px rgba(99, 102, 241, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  pointer-events: none;

  /* FEATHER: lembutkan tepi blob agar tidak kelihatan “tempelan” */
  -webkit-mask-image: radial-gradient(
    60% 60% at 70% 30%,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0) 75%
  );
  mask-image: radial-gradient(
    60% 60% at 70% 30%,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0) 75%
  );
}

/* highlight/refleksi halus kiri bawah */
.background-pattern4::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: -20%;
  bottom: -28%;
  width: 62%;
  height: 62%;
  border-radius: 50%;
  background: radial-gradient(
    circle at 60% 40%,
    rgba(255, 255, 255, 0.18),
    transparent 60%
  );
  filter: blur(8px);
  pointer-events: none;

  /* feather tambahan supaya natural */
  -webkit-mask-image: radial-gradient(
    55% 55% at 60% 40%,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0) 80%
  );
  mask-image: radial-gradient(
    55% 55% at 60% 40%,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0) 80%
  );
}

/* ============ DARK MODE ============ */
body[data-pc-theme="dark"] .background-pattern4 {
  background-color: #0b1220;
  background-image: radial-gradient(
      rgba(255, 255, 255, 0.12) 1px,
      transparent 1px
    ),
    radial-gradient(at 22% 26%, rgba(96, 165, 250, 0.2), transparent 50%),
    radial-gradient(at 82% 18%, rgba(244, 114, 182, 0.18), transparent 52%),
    radial-gradient(at 46% 78%, rgba(52, 211, 153, 0.2), transparent 54%);
  background-blend-mode: normal, screen, screen, screen;
}

body[data-pc-theme="dark"] .background-pattern4::before {
  background: linear-gradient(
    180deg,
    rgba(17, 24, 39, 0.38),
    rgba(17, 24, 39, 0.22)
  );
  border: 1px solid rgba(148, 163, 184, 0.2);
  box-shadow: 0 10px 24px rgba(56, 189, 248, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}

body[data-pc-theme="dark"] .background-pattern4::after {
  background: radial-gradient(
    circle at 60% 40%,
    rgba(56, 189, 248, 0.14),
    transparent 60%
  );
  filter: blur(10px);
}