/* ============================================
   COST SECTION
   ============================================ */

.cost-section {
  background-color: var(--white);
  padding: var(--space-xl) 0;
}

.cost-content {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: var(--radius-md);
  overflow: hidden;
  min-height: 600px;
  display: flex;
  align-items: center;
  padding: var(--space-md);
}

.cost-text {
  position: relative;
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  z-index: 2;
  background-color: var(--white);
  border-radius: var(--radius-sm);
  padding: var(--space-md);
  box-shadow: 0px 31.218px 34.786px 0px rgba(11, 22, 40, 0.05);
}

.cost-title {
  font-size: var(--header-medium);
  line-height: var(--header-medium-lh);
  font-weight: 700;
  color: #004c46;
  margin: 0;
}

.cost-description {
  font-size: var(--header-xs);
  line-height: var(--header-xs-lh);
  color: #004c46;
  margin: 0;
}

.cost-breakdown {
  margin-top: var(--space-xs);
}

.cost-items {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid #cad9d5;
  border-radius: var(--radius-sm);
  padding: var(--space-xs);
}

.cost-item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: var(--space-xs);
  gap: var(--space-xs);
}


.cost-item-label {
  font-size: var(--body-large);
  line-height: var(--body-large-lh);
  font-weight: 700;
  color: #004c46;
}

.cost-item-amount {
  font-size: var(--body-large);
  line-height: var(--body-large-lh);
  font-weight: 400;
  color: #666666;
  text-align: right;
}

/* Style the last item as total */
.cost-item:last-child {
  background-color: #e0ece9;
  border-radius: var(--radius-sm);
  margin-top: var(--space-xs);
}

.cost-item:last-child .cost-item-label,
.cost-item:last-child .cost-item-amount {
  font-weight: 700;
  color: #004c46;
}




.btn-primary {
  width:max-content;
}

/* ============================================
   TABLET (max-width: 1024px)
   ============================================ */

@media (max-width: 1024px) {
  .cost-content {
    min-height: 500px;
  }

  .cost-text {
    width: 100%;
  }
}

/* ============================================
   MOBILE (max-width: 767px)
   ============================================ */

@media (max-width: 767px) {
  .cost-content {
    min-height: auto;
    padding: var(--space-sm);
  }

  .cost-text {
    width: 100%;
    padding: var(--space-xs);
  }

  
}

