/* Thành phần dùng chung (BEM .c-*). Số đo theo ảnh production ở 1920px (1rem = 10px). */

/* ---------- Icon ---------- */
.c-icon { width: 2.4rem; height: 2.4rem; min-width: 16px; min-height: 16px; flex: none; vertical-align: middle; }
.c-icon--sm { width: 1.8rem; height: 1.8rem; min-width: 14px; min-height: 14px; }
.c-icon--xs { width: 1.4rem; height: 1.4rem; min-width: 11px; min-height: 11px; }

/* ---------- Chữ xoay (Avada animated title): hiện vào → giữ → ẩn → lặp ---------- */
.c-rotate { display: inline-block; }
.c-rotate.is-in { animation: kd-fadeIn .6s both; }
.c-rotate.is-out { animation: kd-fadeOut .6s both; }
.c-rotate--flip { backface-visibility: visible; }
.c-rotate--flip.is-in { animation: kd-flipInX .9s both; }
.c-rotate--flip.is-out { animation: kd-flipOutX .75s both; }
/* Hero: từng ký tự hiện gối nhau (cách 90ms, mờ 900ms, dịch 5px trong 1100ms); cả từ tan ra 1,4s */
.c-rotate__char {
  --d: 0ms;
  display: inline-block;
  animation: kd-charFade 900ms var(--ease-soft) both, kd-charRise 1100ms var(--ease-soft) both;
  animation-delay: var(--d), var(--d);
}
.c-rotate__char:nth-child(2) { --d: 90ms; }
.c-rotate__char:nth-child(3) { --d: 180ms; }
.c-rotate__char:nth-child(4) { --d: 270ms; }
.c-rotate__char:nth-child(5) { --d: 360ms; }
.c-rotate__char:nth-child(6) { --d: 450ms; }
.c-rotate__char:nth-child(7) { --d: 540ms; }
.c-rotate__char:nth-child(8) { --d: 630ms; }
.c-rotate__char:nth-child(9) { --d: 720ms; }
.c-rotate__char:nth-child(10) { --d: 810ms; }
.c-rotate__char:nth-child(11) { --d: 900ms; }
.c-rotate__char:nth-child(12) { --d: 990ms; }
.c-rotate__char:nth-child(13) { --d: 1080ms; }
.c-rotate__char:nth-child(14) { --d: 1170ms; }
.c-rotate__char:nth-child(15) { --d: 1260ms; }
.c-rotate__char:nth-child(16) { --d: 1350ms; }
.c-rotate--dissolve.is-out { animation: kd-dissolveOut 1.4s cubic-bezier(.45, 0, .55, 1) both; } /* ra đều, không tụt đột ngột */

/* ---------- Hiệu ứng xuất hiện khi cuộn tới ----------
 * Theo cấu hình gốc: chỉ desktop (≥1025px), mốc top-into-view; 1s cho cột, 0,3s cho tiêu đề.
 * Chỉ ẩn khi module reveal.js đã chạy (html.is-reveal),
 * nên tắt JS hoặc module lỗi thì nội dung vẫn hiện.
 */
@media (min-width: 1025px) {
  .is-reveal [data-anim]:not(.is-in) { opacity: 0; }
  .is-reveal [data-anim].is-in { animation-duration: 1s; animation-fill-mode: both; }
  .is-reveal [data-anim][data-anim-speed="fast"].is-in { animation-duration: .3s; }
  .is-reveal [data-anim="left"].is-in { animation-name: kd-fadeInLeft; }
  .is-reveal [data-anim="right"].is-in { animation-name: kd-fadeInRight; }
  .is-reveal [data-anim="up"].is-in { animation-name: kd-fadeInUp; }
  .is-reveal [data-anim="down"].is-in { animation-name: kd-fadeInDown; }
  .is-reveal [data-anim="fade"].is-in { animation-name: kd-fadeIn; }
  /* Nổi nhẹ, chậm (chủ site chỉ định): opacity là chính, dịch rất ít. Chỉnh theo khối bằng biến trong CSS trang:
     --anim-fade (thời lượng mờ), --anim-move (thời lượng dịch), --anim-rise (quãng dịch), --anim-delay (lệch nhịp). */
  .is-reveal [data-anim="float-card"] { --anim-fade: 1.5s; --anim-move: 1.7s; --anim-rise: 12px; }
  .is-reveal [data-anim="float"].is-in,
  .is-reveal [data-anim="float-card"].is-in {
    animation: kd-fadeIn var(--anim-fade, 1.3s) ease-out both, kd-rise var(--anim-move, 1.5s) var(--ease-soft) both;
    animation-delay: var(--anim-delay, 0s), var(--anim-delay, 0s);
  }
}
@keyframes kd-fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes kd-rise { from { transform: translateY(var(--anim-rise, 8px)); } to { transform: none; } }
@keyframes kd-fadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes kd-dissolveIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes kd-charFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes kd-charRise { from { transform: translateY(5px); } to { transform: none; } }
@keyframes kd-dissolveOut { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-4px); } }
@keyframes kd-fadeInLeft { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes kd-fadeInRight { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes kd-fadeInUp { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes kd-fadeInDown { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }
@keyframes kd-flipInX {
  from { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); opacity: 0; animation-timing-function: ease-in; }
  40% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); animation-timing-function: ease-in; }
  60% { transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; }
  80% { transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to { transform: perspective(400px); }
}
@keyframes kd-flipOutX {
  from { transform: perspective(400px); }
  30% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); opacity: 1; }
  to { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); opacity: 0; }
}

/* ---------- Header + menu ---------- */
.c-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--c1);
  box-shadow: 0 0 15px .5px rgba(0, 0, 0, .2);
}
.c-site-header__inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 2.4rem;
  min-height: var(--header-h);
}
.c-site-header__logo { display: block; flex: none; }
/* File logo có lề trong suốt (nét chiếm 88% bề rộng): khung 25.1rem → nét ~221px như production (tối đa 250px). */
.c-site-header__logo img { width: min(max(25.1rem, 170px), 250px); height: auto; }
@media (min-width: 1025px) { .c-site-header__logo img { width: 25.1rem; } }

.c-site-header__toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; padding: 0;
  border: 0; background: transparent; color: var(--c1);
  cursor: pointer;
}
.c-site-header__toggle .c-icon { width: 40px; height: 40px; }
.c-site-header__toggle-close { display: none; }
.c-site-header.is-open .c-site-header__toggle-open { display: none; }
.c-site-header.is-open .c-site-header__toggle-close { display: inline-flex; }

.c-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 4.6rem; }
.c-nav__link {
  position: relative;
  display: inline-block;
  padding: .4rem 0 .2rem;
  color: var(--c5);
  font-size: var(--fs-menu);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
  border-bottom: 2px solid transparent;
}
.c-nav__link:hover { color: var(--c5); }
/* Gạch dưới mọc từ giữa ra trong 300ms (menu Avada: transition_type=center, transition_time=300) */
.c-nav__link::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 2px;
  background: var(--c5);
  transform: scaleX(0);
  transition: transform .3s;
}
.c-nav__link:hover::after, .c-nav__link.is-active::after { transform: scaleX(1); }
.c-nav__cta { padding: .9rem 2rem; font-size: max(1.2rem, 11px); }

/* Mobile ≤970px (custom CSS gốc): nền xanh than, menu thả xuống toàn chiều ngang ngay dưới header */
@media (max-width: 970px) {
  .c-site-header { background: hsl(215 20% 18%); box-shadow: none; }
  .c-site-header__inner { padding-block: 50px; min-height: 60px; }
  .c-site-header.is-enhanced .c-nav {
    position: absolute; top: 100%; left: 0; right: 0; z-index: 1;
    display: none;
    background: var(--c5);
    max-height: calc(100vh - 100%);
    overflow-y: auto;
  }
  .c-site-header.is-enhanced.is-open .c-nav { display: block; }
  .c-site-header.is-enhanced .c-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .c-site-header.is-enhanced .c-nav__link,
  .c-site-header.is-enhanced .c-nav__cta {
    display: flex; align-items: center;
    min-height: 65px; padding: 0 24px;
    border: 0; border-radius: 0;
    background: transparent; color: var(--c1);
    font-size: 15px; font-weight: 600; letter-spacing: .015em; text-align: left;
  }
  .c-site-header.is-enhanced .c-nav__link::after { display: none; }
  .c-site-header.is-enhanced .c-nav__link.is-active { background: var(--c1); color: var(--c5); }
  .c-site-header:not(.is-enhanced) .c-nav { flex-basis: 100%; }
  .c-site-header:not(.is-enhanced) .c-nav__list { gap: 4px 18px; }
  .c-site-header:not(.is-enhanced) .c-nav__link { color: var(--c1); }
}
@media (min-width: 971px) {
  .c-site-header__toggle { display: none !important; }
}

/* ---------- Nút lên đầu trang (chỉ desktop, như theme gốc) ---------- */
.c-totop {
  position: fixed; right: 7.5rem; bottom: 0; z-index: 90;
  display: inline-flex; align-items: center; justify-content: center;
  width: 4.8rem; height: 3.5rem; min-width: 40px; min-height: 30px;
  border-radius: 4px 4px 0 0;
  background: #333; color: var(--c1);
  opacity: 0; transform: translateY(100%);
  transition: opacity .3s, transform .3s;
}
.c-totop.is-visible { opacity: 1; transform: none; }
.c-totop:hover { background: var(--c5); color: var(--c1); }
.c-totop .c-icon { width: 1.8rem; height: 1.8rem; }
@media (max-width: 1024px) { .c-totop { display: none !important; } }

/* ---------- Lightbox ảnh ---------- */
.c-lightbox { padding: 0; border: 0; background: transparent; max-width: 92vw; max-height: 92vh; overflow: visible; }
.c-lightbox::backdrop { background: rgba(0, 0, 0, .85); }
.c-lightbox__img { display: block; max-width: 92vw; max-height: 88vh; width: auto; height: auto; }
.c-lightbox__close {
  position: absolute; top: -44px; right: 0;
  width: 40px; height: 40px; padding: 0; border: 0;
  background: transparent; color: var(--c1); cursor: pointer;
}
.c-lightbox__close { font-size: 40px; line-height: 1; }
.c-lightbox-link { display: block; cursor: zoom-in; }

/* ---------- Sóng nhiều lớp ----------
 * SVG 1920×300 giữ đúng tỷ lệ theo bề rộng (aspect-ratio), không kéo méo. Lớp đặc tràn 1px để không lộ khe.
 */
.c-wave { position: absolute; left: 0; right: 0; line-height: 0; pointer-events: none; z-index: 1; }
.c-wave svg { display: block; width: 100%; height: auto; aspect-ratio: 1920 / 300; overflow: visible; }
.c-wave__layer { fill: #fff; fill-opacity: .22; }
.c-wave__solid { fill: #fff; }
.c-wave--hero, .c-wave--bottom { bottom: -1px; }
/* Lật dọc: phần trắng ở trên, nền khối lộ ra phía dưới */
.c-wave--top, .c-wave--footer { top: -1px; transform: scaleY(-1); }
.c-wave--footer .c-wave__layer { fill-opacity: .35; }

/* ---------- Footer ---------- */
.c-site-footer {
  position: relative;
  padding: 32rem 0 3.5rem;
  background: linear-gradient(180deg, var(--footer-top) 50%, var(--footer-bottom) 100%);
  color: var(--c8);
  text-align: center;
}
.c-site-footer__grid { display: grid; grid-template-columns: 35rem 1fr 35rem; align-items: end; gap: 3rem; }
.c-site-footer__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 2.4rem; }
.c-site-footer__img img { width: 35rem; height: auto; }
.c-site-footer__brand { gap: 0; }
.c-site-footer__logo { width: 16.2rem; }
.c-site-footer__mail { margin: 2.4rem 0 0; font-size: max(1.5rem, 13px); line-height: 1.6; }
.c-site-footer__brand .c-social { margin-top: 5.6rem; }
.c-site-footer .c-btn { padding: 1.1rem 2.3rem; font-size: max(1.3rem, 11px); }
.c-site-footer__mail a { color: var(--c8); }
@media (max-width: 999px) {
  .c-site-footer { padding: calc(15.7vw + 24px) 0 32px; }
  .c-site-footer__grid { grid-template-columns: 1fr; gap: 48px; }
  .c-site-footer__brand { order: -1; }
  .c-site-footer__img img { width: 260px; }
  .c-site-footer__logo { width: 140px; }
}

/* ---------- Mạng xã hội ---------- */
.c-social { list-style: none; display: flex; flex-wrap: wrap; gap: 1rem; margin: 0; padding: 0; justify-content: center; }
.c-social__link {
  display: inline-flex; align-items: center; justify-content: center;
  width: max(4.2rem, 34px); height: max(4.2rem, 34px);
  border-radius: 50%;
  background: var(--social-bg);
  color: var(--c5);
}
.c-social__link:hover { background: var(--c5); color: var(--c1); }
.c-social__link .c-icon { width: 2rem; height: 2rem; }
.c-social--plain { gap: 1.6rem; }
.c-social--plain .c-social__link { width: auto; height: auto; background: none; }
.c-social--plain .c-social__link:hover { background: none; color: var(--c5-hover); }

/* ---------- Tiêu đề khối ---------- */
.c-section-head { margin-bottom: 4.5rem; }
.c-section-head--center { text-align: center; }
.c-section-head--left { text-align: left; }
.c-eyebrow {
  margin: 0;
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c8);
}
.c-section-head__title {
  margin: 0;
  font-size: var(--fs-title);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.015em;
  text-transform: uppercase;
  color: var(--c5);
}
.c-section-head__lead { margin: 4.2rem auto 0; max-width: 100rem; font-size: var(--fs-lead); }
.c-section-head--tight .c-section-head__title { letter-spacing: -.06em; }
.c-section-head--red .c-section-head__title { color: var(--c9); }
.c-section-head--dark .c-section-head__title { color: var(--c8); }
.c-section-head--eyebrow-blue .c-eyebrow { color: var(--c5); }
.c-section-head--eyebrow-blue .c-section-head__title { margin-top: 2rem; }
.c-section-head--light .c-eyebrow { color: var(--c1); font-size: max(1.5rem, 12px); }
.c-section-head--light:not(.c-section-head--red) .c-section-head__title { color: var(--c1); }

/* ---------- Banner trang ---------- */
.c-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60.7rem;
  background: var(--c5) center top / cover no-repeat;
  isolation: isolate;
}
.c-banner::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(6, 79, 120, .12) 0%, rgba(6, 79, 120, .55) 55%, rgba(6, 79, 120, .97) 100%);
}
.c-banner__inner { text-align: center; padding-top: 11rem; }
.c-banner__title { margin: 0; color: var(--c1); font-size: var(--fs-banner); font-weight: 600; letter-spacing: -.015em; }
@media (max-width: 999px) { .c-banner { height: 260px; } .c-banner__inner { padding-top: 0; } }

/* ---------- Title bar (sự kiện) ---------- */
.c-title-bar { background: var(--c2); padding-block: 3rem; }
.c-title-bar__inner { min-height: 8.7rem; display: flex; flex-direction: column; justify-content: center; gap: .6rem; }
.c-title-bar__title { margin: 0; font-size: max(2.8rem, 20px); color: var(--c5); }
.c-title-bar__meta { margin: 0; font-weight: 600; }
.c-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; font-size: var(--fs-small); color: #777; }
.c-breadcrumb li:not(:last-child)::after { content: "/"; margin-left: .4rem; }
.c-breadcrumb li[aria-current] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60ch; }

/* ---------- Thẻ khóa học (35 × ~26rem, bóng mềm) ---------- */
.c-course-card {
  display: flex;
  flex-direction: column;
  padding: 1.9rem 1.9rem 3rem;
  background: var(--c1);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
}
.c-course-card__img img { width: 100%; height: auto; }
.c-course-card__title { margin: 2.4rem .7rem .8rem; font-size: var(--fs-card-title); font-weight: 600; line-height: 1.3; text-transform: uppercase; }
.c-course-card__title a { color: var(--c5); }
.c-course-card__meta { margin: 0 .7rem; font-size: max(1.5rem, 12px); font-weight: 600; line-height: 1.4; color: var(--c8); }

/* ---------- Thẻ bài viết ---------- */
.c-post-card { display: flex; flex-direction: column; }
.c-post-card__img img { width: 100%; height: auto; }
.c-post-card__title { margin: 0; text-transform: uppercase; line-height: 1.4; }
.c-post-card__excerpt { margin: 0; }

/* Biến thể "tile": nền xanh, chữ trắng giữa (trang chủ, Shop) */
.c-post-card--tile { background: var(--tile); border-radius: var(--radius); overflow: hidden; text-align: center; }
.c-post-card--tile .c-post-card__body { padding: 3rem 2rem 3.4rem; display: flex; flex-direction: column; gap: 1.2rem; }
.c-post-card--tile .c-post-card__title { font-size: max(2.4rem, 15px); font-weight: 700; letter-spacing: -.02em; }
.c-post-card--tile .c-post-card__title a { color: var(--c1); }
.c-post-card--tile .c-post-card__excerpt { color: var(--c1); font-size: max(1.55rem, 13px); line-height: 1.45; }

/* Biến thể "blog": ảnh + tiêu đề xanh + meta + "Đọc thêm" */
.c-post-card--blog .c-post-card__img img { aspect-ratio: 554 / 371; object-fit: cover; }
.c-post-card--blog .c-post-card__body { padding-top: 2.4rem; display: flex; flex-direction: column; }
.c-post-card--blog .c-post-card__title { font-size: max(2.4rem, 16px); font-weight: 600; line-height: 1.4; letter-spacing: -.02em; }
.c-post-card--blog .c-post-card__title a { color: var(--c5); }
.c-post-card--blog .c-post-card__meta { margin: 1rem 0 0; font-size: var(--fs-small); color: var(--c8); }
.c-post-card--blog .c-post-card__excerpt { margin-top: 2.6rem; font-size: max(1.5rem, 13px); line-height: 1.55; }
.c-post-card--blog .c-post-card__more { margin-top: 3rem; font-size: var(--fs-small); }

/* Biến thể "mini": bài liên quan */
.c-post-card--mini .c-post-card__img img { aspect-ratio: 3 / 2; object-fit: cover; }
.c-post-card--mini .c-post-card__body { padding-top: 1rem; }
.c-post-card--mini .c-post-card__title { font-size: max(1.4rem, 12px); }

/* ---------- Checklist ---------- */
.c-checklist { list-style: none; margin: 0 0 2.4rem; padding: 0; display: grid; gap: 1rem; text-align: left; }
.c-checklist li { display: flex; gap: 1rem; align-items: flex-start; }
.c-checklist .c-icon { color: var(--c5); margin-top: .2rem; }

/* ---------- Khối Giảm 10% (trang sự kiện) ---------- */
.c-promo { position: relative; background: var(--c5); color: var(--c1); padding: 8rem 0 26rem; text-align: center; }
.c-promo__title { margin: 0; font-size: max(6rem, 36px); font-weight: 600; line-height: 1.1; }
.c-promo__text { margin: .8rem 0 2.4rem; letter-spacing: .1em; }

/* ---------- Video ---------- */
.c-video { margin-bottom: 3.8rem; }
.c-video__media { width: 100%; background: #000; aspect-ratio: 16 / 9; }

/* ---------- Bộ đếm (đỏ, icon trái) ---------- */
.c-counters { text-align: center; margin-bottom: 8rem; }
.c-counter__value {
  display: inline-flex; align-items: center; gap: .8rem;
  margin: 0;
  font-size: max(6.1rem, 34px);
  line-height: 1;
  color: var(--c9);
}
.c-counter__icon { width: 5.2rem; height: 5.2rem; }
.c-counter__label { margin: 1.4rem 0 0; font-size: max(1.5rem, 12px); color: #141617; }

/* ---------- Cảm nhận có ảnh ---------- */
.c-testimonial-card { margin: 0; display: flex; flex-direction: column; gap: 1.6rem; }
.c-testimonial-card__img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); }
.c-testimonial-card__quote { margin: 0; font-size: max(1.55rem, 13px); line-height: 1.4; text-align: justify; }
.c-testimonial-card__quote p { margin: 0; }
.c-testimonial-card__name { font-weight: 700; font-size: max(1.55rem, 13px); }

/* ---------- Slider cảm nhận ---------- */
.c-t-slider { position: relative; margin-top: 7rem; padding-inline: 1.4rem; }
.c-t-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.c-t-slider__track::-webkit-scrollbar { display: none; }
.c-t-slider__track.is-animating { scroll-snap-type: none; scroll-behavior: auto; }
.c-t-slider__slide { flex: 0 0 100%; scroll-snap-align: center; margin: 0; display: flex; flex-direction: column; align-items: center; }
.c-stars { display: inline-flex; gap: .2rem; color: #f5c518; }
.c-stars .c-icon { width: 1.9rem; height: 1.9rem; min-width: 14px; min-height: 14px; }
.c-t-slider__name { order: -1; margin: .4rem 0 1.6rem; font-size: max(1.8rem, 14px); }
.c-t-slider__slide .c-stars { order: -2; }
.c-t-slider__quote {
  width: 100%;
  margin: 0;
  padding: 2rem 2rem 2rem;
  background: #f6f6f6;
  font-size: max(1.6rem, 13px);
  line-height: 1.55;
}
.c-t-slider__quote p { margin: 0; }
.c-t-slider__controls { display: contents; }
.c-t-slider__btn {
  position: absolute; top: 55%;
  display: inline-flex; align-items: center; justify-content: center;
  width: max(2.8rem, 24px); height: max(2.8rem, 24px); padding: 0;
  border: 0; border-radius: .3rem;
  background: var(--c5); color: var(--c1);
  cursor: pointer;
}
.c-t-slider__btn[data-dir="-1"] { left: 0; background: #a9c3d3; }
.c-t-slider__btn[data-dir="1"] { right: 0; }
.c-t-slider__btn .c-icon { width: 1.4rem; height: 1.4rem; }
.c-t-slider__dots { position: absolute; left: 0; right: 0; bottom: -5rem; display: flex; justify-content: center; gap: .9rem; }
.c-t-slider__dot { width: .9rem; height: .9rem; min-width: 7px; min-height: 7px; padding: 0; border: 0; border-radius: 50%; background: #d5dde3; cursor: pointer; }
.c-t-slider__dot[aria-current="true"] { background: var(--c5); }

/* ---------- Gói thành viên (đang ẩn, membership.json enabled=false) ---------- */
.c-membership { background: var(--c2); }
.c-plan { position: relative; display: flex; flex-direction: column; padding: 3.6rem 2.8rem 3.2rem; background: var(--c1); border-radius: var(--radius); box-shadow: var(--shadow-card); text-align: center; }
.c-plan__name { font-size: 1.6rem; margin: 0 0 1.2rem; text-transform: uppercase; }
.c-plan__price { display: flex; flex-direction: column; gap: .2rem; margin: 0 0 2rem; }
.c-plan__amount { font-size: 3rem; color: var(--c5); }
.c-plan .c-checklist { flex: 1; }
.c-plan--featured { background: var(--c5); color: var(--c1); }
.c-plan--featured .c-plan__name, .c-plan--featured .c-plan__amount { color: var(--c1); }
.c-plan__badge { position: absolute; top: -1.4rem; left: 50%; transform: translateX(-50%); margin: 0; padding: .4rem 1.6rem; border-radius: var(--radius-pill); background: var(--c9); color: var(--c1); font-size: 1.2rem; font-weight: 600; }

/* ---------- Form ---------- */
.c-form__fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 1.8rem; min-width: 0; }
.c-form--contact .c-form__fieldset { gap: 2.6rem; }
.c-form--contact textarea { min-height: 7.6rem; height: 7.6rem; }
.c-form__label { display: block; margin-bottom: 1rem; font-size: max(1.5rem, 13px); }
.c-form--booking .c-form__fieldset { grid-template-columns: 1fr; }
@media (min-width: 600px) {
  .c-form--booking .c-form__fieldset { grid-template-columns: 1fr 1fr; }
  .c-form--booking .c-form__field--full, .c-form--booking .c-form__actions { grid-column: 1 / -1; }
}
.c-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.c-form__notice { margin: 1.2rem 0 0; padding: 1rem 1.4rem; border-radius: .4rem; font-size: var(--fs-small); }
.c-form__notice.is-info { background: #eef5f9; color: var(--c5); }
.c-form__notice.is-success { background: #e8f6ec; color: #1d6b34; }
.c-form__notice.is-error { background: #fbeaea; color: var(--c9); }
.c-form--newsletter .c-btn { width: 100%; }

/* ---------- Tabs ---------- */
.c-tabs__list { display: flex; flex-wrap: wrap; gap: .6rem; border-bottom: 2px solid var(--line); margin-bottom: 2.4rem; }
.c-tabs__tab { padding: 1.2rem 2rem; border: 0; border-bottom: 3px solid transparent; margin-bottom: -2px; background: none; font: 600 max(1.4rem, 12px) var(--font-body); text-transform: uppercase; color: #777; cursor: pointer; }
.c-tabs__tab[aria-selected="true"] { color: var(--c5); border-bottom-color: var(--c5); }
.c-tabs__panel + .c-tabs__panel { margin-top: 3.2rem; }
.c-tabs.is-enhanced .c-tabs__panel + .c-tabs__panel { margin-top: 0; }
.c-tabs.is-enhanced .c-tabs__heading { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Sidebar blog ---------- */
.c-sidebar { background: var(--sidebar-bg); padding: 7rem 6.8rem 4rem; align-self: start; }
.c-sidebar__block { padding-bottom: 4.8rem; margin-bottom: 4.8rem; border-bottom: 1px solid #ddd; }
.c-sidebar__block:last-child { border-bottom: 0; margin-bottom: 0; }
.c-sidebar__title { margin: 0 0 1.4rem; font-size: max(1.8rem, 14px); font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--c5); }
.c-sidebar p { font-size: max(1.5rem, 13px); }
.c-sidebar .c-video { margin: 0; }
.c-sidebar .c-video__media { border-radius: var(--radius); }

/* ---------- Phân trang ---------- */
.c-pagination ul { list-style: none; display: flex; align-items: center; gap: .6rem; justify-content: flex-end; margin: 6rem 0 0; padding: 0; }
.c-pagination__link {
  display: inline-flex; align-items: center; justify-content: center;
  width: max(3rem, 26px); height: max(3rem, 26px);
  border: 1px solid #ddd; color: var(--c5); font-size: max(1.1rem, 11px);
}
.c-pagination__link.is-active { background: var(--c5); border-color: var(--c5); color: var(--c1); }
.c-pagination__text { font-size: max(1.1rem, 11px); margin-left: .4rem; }

/* ---------- Bài viết ---------- */
.c-article { padding: 3.6rem 0 12rem; }
.c-article .c-breadcrumb { margin-bottom: 2rem; }
.c-article__title { margin: 0 0 3rem; font-size: max(3.2rem, 22px); line-height: 1.3; color: var(--c5); letter-spacing: -.02em; }
.c-article__thumb { width: 100%; margin-bottom: 1.2rem; }
.c-prose { font-size: max(1.5rem, 14px); line-height: 1.5; overflow-wrap: anywhere; }
.c-prose h2 { font-size: max(2.4rem, 18px); margin: 1.4em 0 .6em; color: var(--c5); }
.c-prose h3 { font-size: max(2rem, 16px); margin: 1.4em 0 .5em; }
.c-prose h4, .c-prose h5 { font-size: max(1.7rem, 14px); }
.c-prose img { margin: 1.2rem auto; }
.c-prose ul, .c-prose ol { padding-left: 1.4em; margin: 0 0 1em; }
.c-prose li { margin-bottom: .4em; }
.c-prose blockquote { margin: 1.5em 0; padding: 1.2rem 2rem; border-left: 4px solid var(--c5); background: var(--c2); }
.c-prose video { width: 100%; background: #000; margin: 1.6rem 0; }
.c-article__meta { margin: 2.4rem 0 0; padding: 1.2rem 0; border-block: 1px solid #ccc; font-size: var(--fs-small); }

.c-share { display: flex; align-items: center; justify-content: space-between; margin-top: 6rem; padding: 2rem 2rem; background: #f6f6f6; }
.c-share__title { margin: 0; font-size: max(1.2rem, 11px); font-weight: 700; }
.c-share__list { list-style: none; display: flex; gap: 1.2rem; margin: 0; padding: 0; }
.c-share__link { display: inline-flex; color: var(--c8); }
.c-share__link .c-icon { width: 1.8rem; height: 1.8rem; }
.c-related { margin-top: 6rem; }
.c-related__title { font-size: max(1.5rem, 13px); font-weight: 700; margin: 0 0 2rem; }
.c-related__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(max(19rem, 140px), 1fr)); gap: 2rem; }

/* ---------- Hộp thông tin sự kiện ---------- */
.c-event-info { padding: 2.8rem; background: var(--c2); border-radius: var(--radius); align-self: start; }
.c-event-info__title { font-size: max(1.8rem, 14px); margin: 0 0 1.6rem; text-transform: uppercase; color: var(--c5); }
.c-event-info__list { margin: 0 0 2.4rem; }
.c-event-info__list div { display: grid; grid-template-columns: 9rem 1fr; gap: .8rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.c-event-info__list dt { font-weight: 600; min-width: 70px; }
.c-event-info__list dd { margin: 0; }
