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

/* ================================
   Breadcrumb Navigation
   ================================ */

.main-content {
  top: 0;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 25px;
  padding: 24px;
}

.datepicker-dropdown {
  max-width: 210px !important;
}

.breadcrumb.breadcrumb {
  background: none;
  margin: 0;
  padding-top: 1rem;
}

.breadcrumb .active {
  line-height: 0;
}

.breadcrumb li a {
  color: #ba262d !important;
  font-family: VAG-Rounded-Light !important;
}

.breadcrumb li {
  font-family: VAG-Rounded-Light !important;
  font-size: 12px;
}

.breadcrumb>li:after,
.breadcrumb>li+li:after {
  content: " > " !important;
  padding: 3px;
}


/* ================================
   Title Section (Judul Utama + Deskripsi)
   ================================ */
.title-section {
  text-align: center;
  margin-bottom: 20px !important;
}

.title-section h1 {
  color: #CB0024;
  font-family: VAG-Rounded-Bold !important;
  font-weight: 700;
  letter-spacing: 0%;
  margin-bottom: .42em !important;
  margin-top: 9px !important;
}

.title-section .description {
  font-size: 14px;
  color: #606060;
  line-height: 130%;
  font-weight: 400;
  margin: 0 auto;
  font-family: VAG-Rounded-Light !important;
}


/* ================================
   Form Section Container
   ================================ */
.form-section-bunda {
  position: relative;
  padding: 12px;
  background-image: url('/kalkulator-zat-besi-bunda/images/banner/bg-form.png');
  /* ganti dengan path gambar kamu */
  background-size: cover;
  /* agar gambar menutupi seluruh area */
  background-position: center;
  /* posisikan gambar di tengah */
  background-repeat: no-repeat;
  border-radius: 12px;
  overflow: hidden;
  /* agar aksen tidak keluar dari card */
}



/* ================================
   Section Title di Dalam Form
   ================================ */
.form-section-bunda h2 {
  font-size: 17px;
  font-weight: 700;
  color: #CB0024;
  text-align: center;
  font-family: VAG-Rounded-Light !important;
}


/* ================================
   Label Umum di Form
   ================================ */
.form-section-bunda label {
  font-weight: 500;
  color: #000;
  font-size: 14px;
  display: block;
  margin-bottom: 2px;
  font-family: 'VAG-Rounded-Light';
}


/* ================================
   Input Fields (Text, Tel, Number, Date)
   ================================ */
.form-section-bunda input[type="number"],
.form-section-bunda input[type="text"],
.form-section-bunda input[type="tel"],
.form-section-bunda input[type="date"] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #ccc;
  border-radius: 32px;
  font-size: 14px;
  outline: none;
  margin-bottom: 0;
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}


/* ================================
   Kondisi Bunda (Pilihan Hamil / Menyusui)
   ================================ */
.bunda-condition-wrapper {
  display: flex;
  gap: 12px;
  margin-top: 5px;
}

.bunda-condition-wrapper input[type="radio"] {
  display: none;
  /* sembunyikan input radio default */
}

.condition-card {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ccc;
  border-radius: 15px;
  padding: 8px 4px;
  cursor: pointer;
  background-color: #fff;
  transition: border 0.3s, box-shadow 0.3s;
  font-family: 'Poppins', sans-serif;
  color: #222;
  text-align: center;
  height: 100%;
  min-height: 100px;
}

.card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.condition-card img {
  height: 50px;
  width: auto;
  margin-bottom: 4px;
}

/* Kondisi radio yang dipilih */
input[type="radio"]:checked+.condition-card {
  border: 2px solid #198754 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198753' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: 90% 5%;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.card-inner span {
  font-family: 'VAG-Rounded-Light';
}

/* ================================
   Checkbox: Setuju DiHubungi
   ================================ */
.checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  /* jarak antara checkbox dan label */
}

.checkbox-wrapper input[type="checkbox"] {
  width: 16px;
  height: 16px;
  /* accent-color: #CB0024; */
  /* warna centang */
}

.label-concent {
  font-family: 'VAG-Rounded-Light';
  font-size: 13px !important;
  font-weight: 600;
}

.error-message {
  color: #cb0024;
  font-size: 10px;
  margin-top: 4px;
  display: block;
  font-family: 'VAG-Rounded-Bold';
  font-style: italic;
}

/* ==== Custom Calendar Theme (Merah - Sesuai Gambar) ==== */

/* Header dropdown (bulan & tahun) */
.datepicker-dropdown .datepicker-switch,
.datepicker-dropdown .prev,
.datepicker-dropdown .next {
  background-color: #c2002f;
  color: white;
  font-weight: bold;
  border-radius: 8px;
  padding: 6px 12px;
}

/* Dropdown background dan border radius */
.datepicker-dropdown {
  border: none;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  font-family: 'Arial', sans-serif;
}

/* Header table (Su, Mo, ...) */
.datepicker table thead tr:first-child th {
  background-color: #fff;
  font-weight: 600;
  font-size: 14px;
}

/* Hari-hari biasa */
.datepicker table tbody td {
  font-size: 14px;
  padding: 8px;
  border-radius: 8px;
  color: #333;
}

/* Hari dari bulan lain (faded) */
.datepicker table tbody td.old,
.datepicker table tbody td.new {
  color: #ccc;
}

/* Hari yang aktif (dipilih) */
.datepicker table tbody td.active,
.datepicker table tbody td.active:hover {
  background-color: #c2002f !important;
  color: white !important;
  font-weight: bold;
  border-radius: 8px;
}

/* Today (jika tidak aktif) */
.datepicker table tbody td.today {
  background-color: #ffe4ec !important;
  color: #c2002f !important;
  border-radius: 8px;
  font-weight: bold;
}

.form-footer-outside {
  margin-top: 16px;
}

.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.today,
.datepicker table tr td.active.active,
.datepicker table tr td span.active.active {
  background: linear-gradient(180deg, #EB0415 0%, #C12A1E 100%) !important;
  background-color: linear-gradient(180deg, #EB0415 0%, #C12A1E 100%) !important;
  color: #fff !important;
}

th.dow {
  background-color: #fff;
}

.datepicker-days .prev,
.datepicker-days .next,
.datepicker-months .prev,
.datepicker-months .next {
  visibility: hidden;
}

.datepicker-switch:after,
.datepicker-months .switch:after {
  content: "";
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  right: 55px !important;
  height: 6px;
  top: 18px;
  display: block;
  transform: rotate(43deg);
  font-size: 24px;
  position: absolute;
  width: 6px;
}

table.table-condensed {
  border: none;
}

.datepicker.dropdown-menu {
  max-width: 230px !important;
  z-index: 999 !important;
}


/* =============================
   Safe Responsive Adjustments
   ============================= */

/* 375+ */
@media (min-width: 375px) {
  .title-section h1 {
    font-size: 28px;
  }

  .form-section-bunda h2 {
    font-size: 18px;
  }

  .form-section-bunda input {
    font-size: 15px;
  }
}

/* 390+ */
@media (min-width: 390px) {
  .title-section .description {
    font-size: 15px;
  }

  .form-section-bunda input {
    padding: 12px 16px;
  }
}

/* 412+ */
@media (min-width: 412px) {
  .form-section-bunda input {
    font-size: 16px;
  }

  .form-section-bunda h2 {
    font-size: 20px;
  }
}

/* 425+ */
@media (min-width: 425px) {

  .condition-card img {
    height: 60px;
  }

  .form-section-bunda label {
    font-size: 15px;
  }

  .title-section h1 {
    font-size: 30px;
  }
}

/* Tablet / Mid Devices 768+ */
@media (min-width: 768px) {
  .main-content {
    padding: 0 24px;
  }

  .form-section-bunda {
    padding: 16px 24px;
  }

  .condition-card {
    padding: 12px;
    min-height: 120px;
  }

  .title-section h1 {
    font-size: 32px;
  }

  .title-section .description {
    max-width: 600px;
    margin: 0 auto;
    font-size: 16px;
  }
}

/* =============================
   Desktop 1024+
   ============================= */
@media (min-width: 1024px) {

  .main-content {
    max-width: 540px;
    padding: 0 24px;

  }

  .breadcrumb li {
    font-size: 15px;
  }

  .breadcrumb>li:after,
  .breadcrumb>li+li:after {
    padding: 5px;
    font-size: 14px;
  }

  .text-section {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 10px 20px;
    max-width: 390px;
    color: #333;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.12);

    margin-top: auto;
    align-self: center;
    text-align: center;
  }

  .text-section h1 {
    font-size: 24px;
    margin-bottom: 6px;
    color: #cb0024;
  }

  .text-section .description {
    font-size: 14px;
    line-height: 1.4;
  }

  .form-section-bunda {
    background-image: url('/kalkulator-zat-besi-bunda/images/banner/bg-form-desktop.png') !important;
    /* ganti dengan path gambar kamu */
    padding: 24px;
    border-radius: 20px;
    padding-top: 0;
  }

  .form-section-bunda h2 {
    font-size: 21px;
  }

  .form-section-bunda label {
    font-size: 16px;
    margin-top: 10px;
  }

  .condition-card {
    margin-top: 0 !important;
  }

  .form-section-bunda input[type="text"],
  .form-section-bunda input[type="tel"],
  .form-section-bunda input[type="number"],
  .form-section-bunda input[type="date"] {
    font-size: 16px;
    padding: 12px 18px;
    border-radius: 28px;
    margin-bottom: 0;
  }

  .condition-card {
    padding: 10px;
    min-height: 120px;
    font-size: 16px;
  }

  .condition-card img {
    height: 70px;
    margin-bottom: 8px;
  }

  .checkbox-wrapper {
    margin-top: 9px;
    gap: 12px;
  }

  .col-xs-6 {
    padding: 0 !important;
  }
}

@media (max-width: 768px) {
  .main-content {
    padding: 10px 20px;
  }

  .form-section-bunda label {
    margin-top: 7px;
  }

  .bunda-condition-wrapper {
    margin-bottom: 5px;
    margin-top: 0;
    gap: 10px
  }

  .col-xs-6 {
    padding: 0 !important;
  }

  label.condition-card {
    margin-top: 0;
  }

  .form-footer-outside {
    margin-top: 10px;
  }

  .form-section-bunda h2 {
    margin-top: 0;
  }

  .form-group {
    margin-bottom: 0 !important;
  }
}

.is-valid {
  color: #000;
  border: 2px solid #198754 !important;
  padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198753' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(10px + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.is-error {
  border: 1.5px solid #cb0024 !important;
  box-shadow: 0 0 0 1px #cb0024 !important;
}

@media (max-width: 360px) {
  .title-section h1 {
    font-size: 28px;
  }
}