* {
  margin: 0;
  padding: 0;
  border: 0;
}

a {
  text-decoration: none !important;
}

p,
h2,
h3 {
  margin: 0 !important;
}

body {
  height: fit-content;
}

.campaignDetail {

/* Small devices */
.hero-section {
  padding: 16px;
  height: 130px;
  gap: 80px;

  background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0) -28.25%,
      rgba(0, 0, 0, 0.5) 100%
    ),
    url("../assets/SpendMiles/Donation/MilesRakThai.jpg") lightgray -53.705px
      0px / 163.885% 100% no-repeat;
}

.hero-title {
  color: var(--gray-text-invert, #fff);

  /* Mobile/Display-2 */
  font-family: "Bellefair";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 36px */
  text-transform: uppercase;

  margin-bottom: 0;
}

.breadcrumb-section {
  display: flex;
  width: 100%;
  height: 40px;
  flex-direction: column;
  justify-content: center;
  align-items: start;
}

.breadcrumb-content {
  width: auto;
  height: 21px;
}

.breadcrumb-item {
  display: flex;
}

.breadcrumb-item a {
  color: var(--primary-text, #684b9b) !important;

  /* Small/Small — Medium */
  font-family: "InterMedium";
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 22.4px */
}

.breadcrumb-item.active a {
  color: var(--gray-text, #6a6d87) !important;

  /* Small/Small — Medium */
  font-family: "InterMedium";
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 22.4px */
}

.img-breadcrumb {
  width: 16px;
  height: 16px;

  margin-top: 3px;
  margin-left: 5.5px;
  margin-right: 5.5px;
}

.hero-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.content-section {
  display: flex;
  flex-direction: column;
  gap: 32px;

  padding: 24px 0px 72px 0px;
}

.content-heading {
  color: #2c3059;

  /* Desktop/H4 - Bold */
  font-family: "InterBold";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}

.content-text {
  color: var(--gray-text, #6a6d87);

  /* Body/Body - Regular */
  font-family: "Inter";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

.card {
  margin-top: 4px;
  margin-bottom: 16px;
}

.card-body {
  display: flex;
  flex-direction: column;
  padding: 16px !important;
}

.card-img {
  height: 239px !important;
  width: auto !important;
  border-radius: 8px 8px 0px 0px !important;
}

.card-title {
  color: var(--gray-text-strong, #2c3059) !important;

  /* Desktop/H4 — Bold */
  font-family: "InterBold";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
}

.card-subtitle, 
.miles-amount,
.min-amount {
  color: var(--gray-text, #6a6d87) !important;

  /* Small/Small — Regular */
  font-family: "Inter";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 25.6px */
}

.error-message {
  display: none;
  color: var(--error-text, #FF2E57) !important;

  /* Small/Small — Regular */
  font-family: "Inter";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 25.6px */
}

.form-control.error {
  border-color: var(--error-text, #FF8AA1);
}

#checkboxError.error-message {
  display: none;

  margin-top: 16px;
  /* display: flex; */
  align-items: center;
  padding: 8px 12px;
  gap: 8px;

  border-radius: var(--radius-xs, 8px);
  background-color: var(--error-surface-weak, #FFE5EA);
}

.card-text {
  color: var(--gray-text, #6a6d87) !important;

  /* Body/Body — Regular */
  font-family: "Inter";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 25.6px */
}

.card-text {
  display: -webkit-box;
  max-width: fit-content;
  height: 82px;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;

  overflow: hidden;
  text-overflow: ellipsis;
}

.form-label {
  color: var(--gray-text-strong, #2c3059);

  /* Body/Body — Medium */
  font-family: "InterMedium";
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
}

.form-check-label, .form-control {
  color: var(--gray-text-strong, #2c3059);

  font-family: "Inter";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
}

.form-check {
  margin-top: 24px;
  margin-bottom: 32px; 
}

.form-check a {
  background-color: #fff;
  color: var(--primary-text, #684b9b) !important;

  font-family: "InterMedium";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  text-decoration: underline !important;
  cursor: pointer;
}

.modal-header {
  border-bottom: none !important;
}

.modal-footer {
  border-top: none !important;
}

.modal-content .modal-header {
  padding: 24px 16px 8px 16px;
}

.modal-title {
  color: var(--gray-text-strong, #2c3059);

  /* Mobile/H3 — Bold */
  font-family: "InterBold";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal-content .modal-body {
  padding: 0px 16px 32px 16px;
}

.modal-content .modal-body {
  display: flex;
  flex-direction: column;
  gap: 16px;

  color: var(--gray-text, #6a6d87);

  /* Body/Body — Regular */
  font-family: "Inter";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 25.6px */
}

.modal-content .modal-footer {
  padding: 32px 16px;
}

.modal-footer .modal-button {
  display: flex;
  width: 358px;
  align-items: flex-start;

  padding: 12px var(--spacing-xs, 8px);
  justify-content: center;
  align-items: center;

  border-radius: 30px;
  background: var(
    --Gradient-brand-surface,
    linear-gradient(99deg, #684b9b -27.72%, #381b6b 127.08%)
  );
  /* CTA Shadow */
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.06);

  color: var(--gray-text-invert, #fff);
  /* Body1/Body 1 — Bold */
  font-family: "InterBold";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 25.6px */
}

.form-button {
  width: 100%;
  display: flex;
  justify-content: flex-end;

  margin-top: 32px;
}

.form-button button {
  display: flex;
  width: 358px;
  align-items: flex-start;

  padding: 16px var(--spacing-xs, 8px);
  justify-content: center;
  align-items: center;

  border-radius: 30px;
  background: var(
    --Gradient-brand-surface,
    linear-gradient(99deg, #684b9b -27.72%, #381b6b 127.08%)
  );
  /* CTA Shadow */
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.06);

  color: var(--gray-text-invert, #fff);
  /* Body1/Body 1 — Bold */
  font-family: "InterBold";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 25.6px */
}


.button-group,
.button-group a div {
  display: flex;
  gap: 16px;
}

.button-group a {
  padding: 16px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 16px;

  border-radius: 8px;
  border: 1px solid var(--gray-stroke, #DFE0EB);
}

.button-group button {
    background-color: #fff;
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .hero-section {
    height: 300px;
    /* padding: 56px 150px; */

    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) -28.25%,
        rgba(0, 0, 0, 0.5) 100%
      ),
      url("../assets/SpendMiles/Donation/MilesRakThai.jpg") lightgray -2.192px -211.459px /
        146.738% 212.685% no-repeat;
  }

  .hero-title {
    color: var(--gray-text-invert, #fff);

    /* Desktop/Display-1 */
    font-family: "Bellefair";
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 54px */
    text-transform: uppercase;
  }

  .content-section {
    position: relative;
    transform: translateY(-48px);
    display: flex;
    flex-direction: column;
    gap: 32px;

    padding: 48px;

    border-radius: 16px;
    border: 1px solid #fff;
    background: radial-gradient(
      505.55% 199.82% at 35.47% 0%,
      #fff 0%,
      rgba(255, 255, 255, 0) 100%
    );
    box-shadow: 0px 16px 100px 0px rgba(16, 24, 40, 0.08);
    backdrop-filter: blur(75px);

    margin-bottom: 72px !important;
  }

  .card {
    display: flex;
    flex-direction: row !important;

    height: auto !important;
    max-height: 183px !important;
    border-radius: 8px !important;
  }

  .card-body {
    display: flex;
    flex-direction: column;
    padding: 24px !important;
  }

  .card-img {
    height: auto !important;
    max-height: 183px !important;
    width: 40% !important;
    border-radius: 8px 0px 0px 8px !important;
  }

  .form-check {
    margin-top: 24px;
    margin-bottom: 32px; 
  }

  .modal-title {
    color: var(--gray-text-strong, #2c3059);
  
    /* Desktop/H3 — Bold */
    font-family: "InterBold";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 36px */
  
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .modal-header {
    padding: 40px 40px 24px 40px !important;
  }

  .modal-content .modal-body {
    padding: 0px 40px;
  }

  .modal-content .modal-footer {
    padding: 24px 40px;
  }

  .modal-content .modal-header .modal-title {
    overflow: hidden;
    color: var(--gray-text-strong, #2c3059);
    text-overflow: ellipsis;

    /* H3/H3 - Bold */
    font-family: "InterBold";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 36px */
  }

  .modal-footer .modal-button {
    display: flex;
    width: 192px;
    min-width: 192px;
    align-items: flex-start;

    height: 61px;
    padding: 8px 32px;
    justify-content: center;
    align-items: center;

    border-radius: 30px;
    background: var(
      --Gradient-brand-surface,
      linear-gradient(99deg, #684b9b -27.72%, #381b6b 127.08%)
    );
    /* Shadow/xs */
    box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);

    color: var(--gray-text-invert, #fff);
    /* H4/Header 4 — Bold */
    font-family: "InterBold";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 28.8px */
  }

  .form-button {
    width: 100%;
    display: flex;
    justify-content: flex-end;

    margin-top: 32px;
  }

  .form-button button {
    display: flex;
    width: 192px;
    min-width: 170px;

    height: 61px;
    padding: 16px 8px;
    justify-content: center;
    align-items: center;

    border-radius: 30px;
    background: var(
      --Gradient-brand-surface,
      linear-gradient(99deg, #684b9b -27.72%, #381b6b 127.08%)
    );
    /* Shadow/xs */
    box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);

    color: var(--gray-text-invert, #fff);
    /* H4/Header 4 — Bold */
    font-family: "InterBold";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 28.8px */
  }
}

@media (max-width: 768px) {
  .modal.bottom-modal .modal-dialog {
    position: fixed;
    bottom: 0;
    margin: 0;
    width: 100%;
    max-width: 100%;
    height: 90%;
    transition: transform 0.3s ease-out;
  }

  .modal.bottom-modal .modal-content {
    height: 100%;
    border-radius: 1rem 1rem 0 0;
  }

  .modal-dialog {
    position: fixed;
    bottom: 0;
    margin: 0;
    width: 100%;
    max-width: 100%;
    height: fit-content;
    transition: transform 0.3s ease-out;
  }
}

button[type="submit"]:disabled {
  opacity: 0.5; /* Reduce opacity for a faded look */
}

.input-wrapper {
    position: relative;
    display: inline-block;
    margin-bottom: 6px;
}
.input-wrapper input {
    height: 50px;
 	padding-right: 30px; /* Space for the icon */
}
.error-icon {
     position: absolute;
     right: 10px;
     top: 50%;
     transform: translateY(-50%);
     display: none; /* Hide by default */
     color: red;
     pointer-events: none; /* So clicking input works normally */
}

}

.hero-section .campaign-detail-banner, .cmp-campaign-detail__container {
  padding: 0 16px;
  align-items: center;
}

@media (min-width: 576px) {
  .hero-section .campaign-detail-banner, .cmp-campaign-detail__container {
    padding: 0 7%;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .hero-section .campaign-detail-banner, .cmp-campaign-detail__container {
    padding: 0 15%;
    align-items: center;
  }
}

@media (min-width: 1200px) {
  .hero-section .campaign-detail-banner, .cmp-campaign-detail__container {
    padding: 0 345px;
    align-items: center;
  }
}
