/* --- Desktop: Ẩn phần Mobile --- */
.menu-toggle,
.mobile-only {
  display: none;
  z-index: 10000;
}

.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: bold;
  color: var(--primary-color);
}

.partner-wrapper {
  overflow: hidden;
  width: 100%;
}

.stepper-mb{
  display: none;
}


.nav__lang,
.nav__auth{
  display: none;
}


.nav__list {
  display: flex;
  gap: 25px;
}

.nav__list a:hover {
  color: var(--primary-color);
  transition: var(--transition);
}


 


/* --- Mobile Responsive (Dưới 1024px) --- */
@media (max-width: 1024px) {
  .desktop-only {
    display: none;
  }

  .menu-toggle {
    display: block;
    cursor: pointer;
    order: 3; /* Đẩy nút menu về cuối bên phải */
  }

  .menu-toggle .bar {
    display: block;
    width: 25px;
    height: 2px;
    margin: 6px auto;
    background-color: var(--primary-color);
    transition: 0.3s;
  }

  .logo span {
    font-size: 14px; /* Thu nhỏ chữ logo trên mobile */
    max-width: 100px; /* Ngắt dòng nếu cần */
  }

  /* Thiết kế Sidebar Menu */
  .nav {
    position: fixed;
    width: 250px; /* Chiều rộng sidebar */
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    padding: 30px
    transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
  }

 

  .nav__list {
    flex-direction: column;
    align-items: flex-start;
  }

  .mobile-only {
    display: block;
    width: 100%;
    margin-top: 10px;
  }

  .mobile-only .lang-switch {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
  }

  /* Hiệu ứng X khi mở menu */
  .menu-toggle.active .bar:nth-child(2) {
    opacity: 0;
  }
  .menu-toggle.active .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .menu-toggle.active .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
}

@media (max-width: 576px) {

  .header{
        position: fixed!important;
        background-color: #1e1e1e;
        padding: 10px 0;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  }

  body{
    padding-top: 35px;
  }

  .container-fluid {
    padding-left: 10px;
    padding-right: 10px;
  }

  .section {
    padding: 30px 0 20px;
  }

  .logo {
    font-size: 20px;
  }

  .logo img {
    width: 35px;
    height: 35px;
  }

  .header__right {
    display: none;
  }

  .hero {
    height: 300px;
  }

  .section__title {
    font-size: 20px;
  }

  .section__title_primary {
    font-size: 32px;
    margin-bottom: 20px;
  }

  .leaders__wrapper {
    flex-direction: column;
  }
  .leaders-titles {
    width: 100%;
    margin: 0;
  }

  .leaders-titles h2 {
    text-align: center;
    margin-bottom: 10px;
  }

  .leaders {
    background: #1e1e1e;
  }

  .shows-swiper {
    padding: 0 5px 30px 5px;
  }

  .swiper-container {
    padding-left: 40px;
    padding-right: 40px;
  }

  .shows-btn-next.swiper-button-next,
  .upcoming-btn-next.swiper-button-next {
    right: -10px;
  }

  .shows-btn-prev.swiper-button-prev,
  .upcoming-btn-prev.swiper-button-prev {
    left: -10px;
  }

  .card__img img {
    aspect-ratio: 2;
  }

  .leader-card__title {
    font-size: 20px;
  }

  .partner-container {
    border: none !important;
    margin-top: 20px !important;
    pointer-events: none;
  }

  .partner-container .swiper-wrapper {
    transition-timing-function: linear !important;
    /* Giúp chuyển động mượt hơn trên màn hình tần số quét cao */
    -webkit-transition-timing-function: linear !important;
  }

  .partner-item {
    border: 1px solid #c4a661;
    flex: 0 0 45% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
  }

  .partner-item.swiper-slide {
    width: 120px; /* Cố định chiều rộng để Swiper tính toán chuẩn */
    flex-shrink: 0;
  }

  .partner-item img {
    width: 100%;
    height: auto;
    pointer-events: none;
  }

  .f-mb {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
  }

  .news {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .btn-see-all {
    padding: 10px 15px !important;
  }

  .news-sidebar {
    display: grid !important; /* Chuyển từ flex sang grid */
    grid-template-columns: repeat(2, 1fr); /* Chia làm 2 cột bằng nhau */
    gap: 15px; /* Có thể thu nhỏ khoảng cách lại cho vừa màn hình nhỏ */

    /* Reset flex: 4 nếu sidebar này nằm trong một flex container lớn hơn 
           để nó chiếm toàn bộ chiều ngang điện thoại */
    flex: none;
    width: 100%;
  }

  .news-section {
    padding: 0 !important;
    background-color: unset !important;
  }

  .footer-container {
    display: grid;
    /* Dùng minmax(0, 1fr) để nội dung bên trong không đẩy cột phình ra */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 15px; /* Giảm gap ngang xuống 15px cho đỡ chật */

    /* Cực kỳ quan trọng: Khống chế width */
    width: 100%;
    max-width: 100vw;
    padding: 0 15px; /* Tạo khoảng trống an toàn 2 bên mép màn hình */
    box-sizing: border-box; /* Đảm bảo padding không cộng thêm vào width */
    overflow: hidden; /* Cắt bỏ phần thừa nếu có */
  }

  .info-col {
    grid-area: 2 / 1 / 3 / 3; /* Hàng 2, bắt đầu cột 1, kết thúc cột 3 (chiếm 100%) */
    /* Hoặc viết ngắn gọn: grid-column: span 2; order: 2; */
    order: 2;
  }

  .links-col {
    grid-area: 1 / 1 / 2 / 2; /* Hàng 1, cột 1 */
    order: 1;
  }

  .contact-col {
    grid-area: 1 / 2 / 2 / 3; /* Hàng 1, cột 2 */
    order: 1;
  }

  .footer-links li {
    text-align: left;
  }

  .contact-item {
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 10px;
  }

  .contact-item p {
    text-align: left;
    flex: 1;
  }

  .footer-column {
    min-width: unset;
  }

  .header__right {
    display: none !important;
  }

  

  .stepper {
    padding: 0;
    margin: 0;
    display: flex;
    width: 100%;
    /* Loại bỏ các khoảng trắng mặc định */
    gap: 0; 
  }

  .step-outer {
    /* Ép các bước nằm sát nhau hơn để tạo hiệu ứng mũi tên đè lên rãnh */
    margin-right: -12px; 
    flex: 1;
    display: flex;
    align-items: center;
    position: relative;
  }

  .step-outer:last-child {
    margin-right: 0;
  }

  .stepper-container{
    margin-bottom: 20px;
  }

  .stepper {
    display: flex !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    gap: 0 !important;
  }

  .step-outer {
    margin-right: 3px !important; /* Điểm mấu chốt để các mũi tên khít nhau */
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }

  .step-outer:last-child {
    margin-right: 0 !important;
  }

  .step {
    width: 100% !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 5px 0 15px !important;
    /* Đè lại clip-path để tạo hình mũi tên */
    clip-path: polygon(calc(100% - 12px) 0%, 100% 50%, calc(100% - 12px) 100%, 0% 100%, 12px 50%, 0% 0%) !important;
    background-color: #333 !important;
  }

  .step-outer:first-child .step {
   clip-path: polygon(calc(100% - 15px) 0%, 100% 50%, calc(100% - 15px) 100%, 0% 100%, 15px 50%, 0% 0%) !important;
    padding-left: 20px !important;
    margin-left: -5px !important; /* Đẩy nhẹ sang trái để bù trừ phần khuyết */
  }

  .number {
    left:50% !important;
    top: auto !important;
    transform: translateX(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 24px !important;
    font-size: 16px !important;
    margin-right: 5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
  }

  .label {
    font-size: 10px !important;
    white-space: nowrap !important;
    z-index: 5 !important;
    color: inherit !important;
    position: absolute;
    bottom: 20px;
    display: none;
  }

  /* Trạng thái Active - Quan trọng nhất để đổi màu */
  .step-outer.active .step {
    background-color: #bfa65a !important; 
    color: #fff !important;
  }

  .step-outer.active .number {
    background-color: #ede4c7 !important;
    color: #333 !important;
  }
  .stepper-mb{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    width: 90%;
    margin: 15px auto;
  }

   .stepper-mb li{
    display: flex;
    justify-content: center;
    align-items: center
   }

   .calendar-container{
    margin-top: 30px!important;
   }

   .nav {
            position: fixed;
            top: 50px; /* Vị trí cố định phía dưới header */
            right: 10px; 
            width: 250px;
            background-color: #fff;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
            z-index: 999;
            border-radius: 15px;
            border: 1px solid #f39c12;
            
            /* QUAN TRỌNG: Thiết lập trạng thái đóng */
            overflow: hidden;         /* Ẩn nội dung khi chiều cao = 0 */
            max-height: 0;            /* Thu nhỏ chiều cao về 0 để tạo hiệu ứng cuộn lên */
            opacity: 0;               /* Kết hợp nhẹ để mượt hơn (tùy chọn) */
            transition: max-height 0.5s ease-in-out, opacity 0.3s; 
        }

        /* Khi có class active: Xổ menu xuống */
        .nav.active {
            /* Cho max-height một con số lớn hơn chiều cao thực tế của menu 
            (ví dụ 500px) để nó có không gian giãn ra */
            max-height: 600px; 
            opacity: 1;
            right: 10px;
        }

        /* Các thành phần bên trong (giữ nguyên style cũ của bạn) */
        .nav__lang {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 20px;
            border-bottom: 1px solid #eee;
        }

         .nav__lang span{
          color: #1e1e1e;
         }

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

        .nav__list li {
            padding: 10px 20px;
            width: 100%;
        }

        .nav__list li.active {
            background-color: #f39c12; /* Màu cam chủ đạo */
        }

        .nav__list li.active a {
            color: #fff;
        }

        .nav__list li a {
            text-decoration: none;
            color: #333;
            font-size: 16px;
            display: block;
        }

        .nav__auth {
            padding: 15px 20px;
            font-weight: bold;
        }

        .nav__auth a {
            color: #f39c12;
            text-decoration: none;
        }

        .lang-icons{
          display: flex;
        }

        .lang-icons img {
            width: 25px;
            margin-left: 10px;
            vertical-align: middle;
        }

        .nav__lang,
        .nav__auth{
          display: flex;
        }


  
}
