/* campuses.css — phần đặc thù của module "campuses" (điểm trường).
   Các lớp nền (mt-card, mt-grid, mt-tabs, mt-badge, mt-list, mt-empty, ...) do hệ thiết kế của theme định nghĩa (docs/architecture.md mục 8.3);
   tệp này chỉ bổ sung bố cục của các lớp mt-campus-* và dùng token --mt-* (có giá trị dự phòng để không vỡ khi theme chưa nạp token). */

/* ---------- Trang danh sách ---------- */
.mt-campuses__intro {
  margin: 0 0 1.25rem;
  color: var(--mt-text-muted, #576F8F);
}

.mt-campuses__grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.mt-campus-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--mt-border, #C9D2DD);
  border-radius: 0.5rem;
  background: var(--mt-bg-card, #FFFFFF);
  overflow: hidden;
}

.mt-campus-card .mt-card__media img,
.mt-campus__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.mt-campus-card .mt-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
}

.mt-campus-card__badges,
.mt-campus__badges {
  margin: 0;
}

.mt-campus-card .mt-card__title {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.mt-campus-card__facts {
  display: grid;
  gap: 0.375rem;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-wrap: anywhere;
}

.mt-campus-card__label {
  color: var(--mt-text-muted, #576F8F);
  font-weight: 600;
}

.mt-campus-card__action {
  margin: auto 0 0;
  padding-top: 0.5rem;
}

/* ---------- Trang chi tiết ---------- */
.mt-campus__lead {
  margin: 0.25rem 0 0;
  font-size: 1.0625rem;
}

.mt-campus__former {
  margin: 0.25rem 0 0;
}

.mt-campus__info {
  display: grid;
  grid-template-columns: minmax(8rem, 12rem) 1fr;
  gap: 0.5rem 1rem;
  margin: 0;
}

.mt-campus__info dt {
  color: var(--mt-text-muted, #576F8F);
  font-weight: 600;
}

.mt-campus__info dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.mt-campus__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mt-campus__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--mt-border, #C9D2DD);
}

.mt-campus__item:last-child {
  border-bottom: 0;
}

.mt-campus__thumb,
.mt-campus-news__thumb {
  flex: 0 0 auto;
  width: 6rem;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 0.25rem;
}

.mt-campus__item-body,
.mt-campus-news__body {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

.mt-campus__item-title,
.mt-campus-news__title {
  overflow-wrap: anywhere;
  font-weight: 600;
}

.mt-campus__back {
  margin: 0;
}

@media (max-width: 36rem) {
  .mt-campus__info {
    grid-template-columns: 1fr;
    gap: 0.125rem;
  }

  .mt-campus__info dd {
    margin-bottom: 0.5rem;
  }
}

/* ---------- Khối "Tin theo điểm trường" (tab) ---------- */
.mt-campus-tabs .mt-tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}

.mt-campus-tabs .mt-tabs__tab {
  display: inline-block;
  padding: 0.5rem 0.875rem;
  border: 1px solid var(--mt-border-strong, #667E9E);
  border-radius: 999px;
  background: var(--mt-bg-card, #FFFFFF);
  color: var(--mt-primary, #0D46A6);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.mt-campus-tabs .mt-tabs__tab:hover {
  background: var(--mt-bg-tint, #E0F3FB);
}

.mt-campus-tabs .mt-tabs__tab:focus-visible {
  outline: 3px solid var(--mt-focus, #082D7F);
  outline-offset: 2px;
}

/* Có JS: chỉ tab đang chọn được tô đậm, tiêu đề của từng mục ẩn khỏi mắt (vẫn đọc được bằng trình đọc màn hình) */
.mt-campus-tabs.is-enhanced .mt-tabs__tab.is-active,
.mt-campus-tabs.is-enhanced .mt-tabs__tab[aria-selected="true"] {
  background: var(--mt-primary, #0D46A6);
  border-color: var(--mt-primary, #0D46A6);
  color: var(--mt-on-primary, #FFFFFF);
}

.mt-campus-tabs.is-enhanced .mt-campus-news__heading {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Không JS: các mục xếp chồng, có tiêu đề rõ ràng */
.mt-campus-news__panel {
  margin: 0 0 1.25rem;
}

.mt-campus-news__heading {
  margin: 0 0 0.5rem;
  font-size: 1rem;
}

.mt-campus-news__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mt-campus-news__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--mt-border, #C9D2DD);
}

.mt-campus-news__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin: 0.75rem 0 0;
}

/* ---------- Khối "Danh sách điểm trường" ---------- */
.mt-campus-list__items {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mt-campus-list--cards .mt-campus-list__items {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.mt-campus-list--cards .mt-campus-list__item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 1rem;
  border: 1px solid var(--mt-border, #C9D2DD);
  border-radius: 0.5rem;
  background: var(--mt-bg-card, #FFFFFF);
}

.mt-campus-list--compact .mt-campus-list__items {
  gap: 0.75rem;
}

.mt-campus-list--compact .mt-campus-list__item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.mt-campus-list__name {
  font-weight: 600;
  overflow-wrap: anywhere;
}

.mt-campus-list__address,
.mt-campus-list__phone,
.mt-campus-list__email {
  overflow-wrap: anywhere;
}

.mt-campus-list__more {
  margin: 0.75rem 0 0;
}

@media (prefers-reduced-motion: reduce) {
  .mt-campus-tabs .mt-tabs__tab {
    transition: none;
  }
}
