red {
  color: #f00 !important;
}

span {
  font-size: 14px;
  font-weight: 300;
  color: #565656;
  margin: 0;
  line-height: 22px;
}

.page-wrapper.order {
  border-top: 1px solid #ccc;
}

.page-wrapper.order .breadcrumb-bar {
  background: #fff;
}

.page-wrapper.order .content {
  background: #e6e6e6;
}

.step-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0;
}

.step {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6c757d;
  font-weight: 500;
}

.step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #ccc;
  font-size: 13px;
}

.step.active .step-number {
  background-color: #007B8F;
  /* màu xanh đậm như trong ảnh */
  color: white;
  border: none;
}

.step.active,
.step.active a {
  color: #007B8F;
}

.separator {
  color: #ccc;
  font-size: 18px;
}

body {
  font-family: sans-serif;
}

.insurance-options {
  display: flex;
  gap: 16px;
  margin-top: 20px;
}

.option-card {
  width: 200px;
  text-align: center;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
}

.option-card input[type="radio"] {
  display: none;
}

.option-card .checkmark {
  position: absolute;
  top: 10px;
  left: calc(50% - 10px);
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 50%;
  background: white;
}

.option-card input:checked+.checkmark {
  background-color: #007B8F;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9;
}

.option-card input:checked+.checkmark::after {
  content: "✔";
  color: white;
  font-size: 12px;
}

.option-card input:checked~.option-label {
  background-color: #f0fcfc;
  border: 1px solid #007B8F;
  color: #002D3A;
}

.option-label img {
  height: 50px;
}

.option-label {
  display: block;
  font-size: 14px;
  padding: 35px 2px 15px 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  position: relative;
    overflow: hidden;
}

label.option-card:hover {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.gield-group {
  border: 1px solid #919191;
  border-radius: 5px;
  padding: 10px;
  margin-top: 10px;
}

.w-50 {
  width: 50% !important;
}

.w-100 {
  width: 100% !important;
}

.w-70 {
  width: 70% !important;
}

.w-30 {
  width: 30% !important;
}

.gield-group label {
  font-size: 14px;
}

p.note {
  font-size: 14px;
  font-style: italic;
  color: #0258e2;
  margin-bottom: 5px;
}

.providers-info .items {
  border-top: 1px dashed #c0bfc0;
}

.providers-info {
  border: 1px solid #c0bfc0;
  border-radius: 3px;
  padding: 16px 16px 8px;
  margin-top: 10px;
}

.providers-info .item .label,
.providers-info .items .label {
  font-size: 12px;
  line-height: 14px;
  color: #343741;
  margin-bottom: 0;
  margin-top: 8px;
}

.providers-info .item .desc,
.providers-info .items .desc {
  font-size: 16px;
  line-height: 22.5px;
  color: #343741;
  margin-top: 0;
  margin-bottom: 8px;
}

.buy-details-item .custom-btn button {
  align-items: center;
  width: 100%;
  font-size: 18px;
}

.insurance-options.levels .option-card:nth-last-of-type(-n+2) {
  display: none;
}

.form-check a {
  color: #03bd9d;
  font-size: 13px;
  font-style: italic;
}

.text-right {
  text-align: right;
}

.calculated-amount tr {
  border-top: 1px solid #ccc;
}

.calculated-amount tr td {
  padding: 10px 0;
}
tr.sub-item {
  border: 0;
}
tr.sub-item td {
  padding: 5px;
  font-size: 13px !important;
}
tr.sub-item span {
  padding-left: 16px;
}
.buy-details-note {
  padding: 5px;
  background: #fff;
  border-radius: 5px;
  margin-bottom: 15px;
}
.form-check-input[type=radio] {
  border: 2px solid #03bd9d;
}

@media (max-width: 576px) {
  .step {
    flex-direction: column;
  }

  .step-number {
    font-size: 18px;
    font-weight: bold;
  }

  .step-title {
    font-size: 14px;
    margin-top: 4px;
    display: none;
  }
}