html,body{height:100%;}
body{
  display:flex;
  align-items:center;
  justify-content:center;
  background-image: url('../images/bg-01.jpg');
  background-size:cover;
  background-position:center;
  margin:0;
  font-family: 'Poppins-Regular', sans-serif;
}

.backdrop-layer{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.35);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  z-index:0;
}

.reg-wrap{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1200px;
  padding:30px;
}

.reg-card {
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.15);
  padding:35px;
  overflow-y:auto;
  max-height:80vh;
  scrollbar-width:thin;
  scrollbar-color:#bbb #f1f1f1;
}

h2{
  text-align:center;
  font-weight:600;
  color:#222;
  margin-bottom:25px;
}

h4.section-title{
  font-size:18px;
  font-weight:600;
  color:#0056b3;
  margin-top:10px;
  border-bottom:2px solid #0056b3;
  display:inline-block;
  margin-bottom:15px;
  padding-bottom:3px;
}

label{font-size:13px;font-weight:500;color:#444}
.btn-primary{width:100%;padding:10px 14px;border-radius:10px;}
.small-note{font-size:12px;color:#666;margin-top:10px;text-align:center}

@media (max-width:576px){
  .reg-card{padding:20px;}
}

.reg-card::-webkit-scrollbar {width:8px;}
.reg-card::-webkit-scrollbar-track {
  background:#f1f1f1;
  border-radius:10px;
}
.reg-card::-webkit-scrollbar-thumb {
  background:#bbb;
  border-radius:10px;
}
.reg-card::-webkit-scrollbar-thumb:hover {background:#999;}

/* === Radio button styling === */
.radio-group {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  background: #fff;
  height: calc(2.25rem + 2px);
}

.radio-group .form-check {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.radio-group .form-check-input {
  margin-top: 0;
  cursor: pointer;
}

.radio-group .form-check-label {
  font-size: 13px;
  color: #444;
  cursor: pointer;
}

.header-top {
  border-bottom: 2px solid #eee;
  padding-bottom: 10px;
}

.header-top .title {
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
  color: #000;
}

.header-top .logo img {
  display: block;
}

.header-top .lang-switch {
  display: flex !important;
  align-items: center;
  gap: 6px;
  white-space: nowrap; /* cegah pecah baris */
}
.header-top .lang-switch a {
  display: inline-flex;
  align-items: center;
}
.header-top .lang-switch span {
  display: inline-block;
}

.header-top .lang-flag img {
  height: 14px;
  display: block;
  border-radius: 0;   /* pastikan kotak */
  box-shadow: none;   /* opsional, biar polos */
}

.form-group{
  margin-bottom: 9px;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield; /* untuk Firefox */
}

.hidden-lang {
  position: absolute !important;
  left: -9999px !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}