/* VSW-TC-05 · Phí tham dự */
.ptd-tieu-de {
  margin-bottom: var(--vs-k6);
  text-align: center;
}

/* Bảng phí tạm ẩn theo yêu cầu khách 17/09, dữ liệu giữ nguyên. */
.ptd-luoi {
  display: none;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--vs-k5);
  align-items: start;
}

.ptd-bang {
  min-width: 0;
  padding: var(--vs-k4);
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-bo-the);
  background: var(--vs-trang);
}

.ptd-bang-ten {
  font-size: var(--vs-co-noi-dung);
  overflow-wrap: anywhere;
}

.ptd-bang-thoi-gian {
  margin-top: var(--vs-k2);
  color: var(--vs-muted);
  font-size: var(--vs-co-nho);
}

.ptd-table {
  width: 100%;
  margin-top: var(--vs-k5);
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.ptd-table th,
.ptd-table td {
  height: var(--vs-cham-toi-thieu);
  padding: var(--vs-k3) calc(var(--vs-k1) / 4);
  border-bottom: 1px solid var(--vs-line);
  line-height: var(--vs-dong-nhan);
}

.ptd-table thead th {
  border-top: 3px solid var(--vs-line);
  color: var(--vs-muted);
  font-family: var(--vs-font-nhan);
  font-size: var(--vs-k3);
  font-weight: 600;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.ptd-th-doi-tuong {
  width: 26%;
  text-align: left;
}

.ptd-th-moc {
  width: calc(74% / 3);
  text-align: center;
}

.ptd-moc-ten,
.ptd-moc-ngay,
.ptd-nhan-hien-tai:not([hidden]) {
  display: block;
}

.ptd-moc-ngay {
  margin-top: var(--vs-k2);
  font-family: var(--vs-font-noi-dung);
  font-size: var(--vs-co-nhan);
  font-weight: 400;
}

.ptd-nhan-hien-tai {
  margin-top: var(--vs-k2);
  color: var(--vs-blue);
  font-family: var(--vs-font-nhan);
  font-size: var(--vs-co-nhan);
  font-weight: 700;
}

.ptd-td-doi-tuong {
  color: var(--vs-ink);
  font-size: var(--vs-co-nhan);
  font-weight: 600;
  text-align: left;
  overflow-wrap: anywhere;
}

.ptd-td-tien {
  color: var(--vs-ink);
  font-family: var(--vs-font-noi-dung);
  font-size: var(--vs-co-nho);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: normal;
  word-break: normal;
}

.ptd-moc--hien-tai {
  background: var(--vs-ice);
}

.ptd-table th.ptd-moc--hien-tai {
  border-top: 3px solid var(--vs-blue);
}

.ptd-luu-y {
  position: relative;
  margin-top: var(--vs-k4);
  padding-left: var(--vs-k4);
  color: var(--vs-muted);
  font-size: var(--vs-k3);
  font-style: italic;
}

.ptd-luu-y::before {
  content: "";
  position: absolute;
  top: calc(var(--vs-k3) / 2);
  left: 0;
  width: var(--vs-k2);
  height: var(--vs-k2);
  border: 1px solid var(--vs-muted);
  border-radius: 50%;
}

@media (min-width: 768px) {
  .ptd-luoi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ptd-bang {
    padding: var(--vs-k5);
  }

  .ptd-bang-ten {
    font-size: var(--vs-co-h3);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .ptd-bang:last-child {
    grid-column: 1 / -1;
    width: calc((100% - var(--vs-k5)) / 2);
    justify-self: center;
  }
}

@media (min-width: 1024px) {
  .ptd-luoi {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--vs-k4);
  }

  .ptd-bang-ten {
    font-size: var(--vs-co-h3);
  }
}

@media (min-width: 1200px) {
  .ptd-luoi {
    gap: var(--vs-k5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ptd *,
  .ptd *::before,
  .ptd *::after {
    animation: none;
    transition: none;
  }
}
