/* ==========================================================================
   COMPONENTS DÙNG CHUNG — header, navbar, footer, sidebar, nút bấm phụ,
   toggle Dark Mode, thanh điều hướng mobile.
   Nạp SAU variables.css và base.css.
   ========================================================================== */

/* ================= HEADER ================= */
.header{
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background: var(--nen-be-mat);
  border-bottom: 1px solid var(--nen-vien);
}
.header h3{ font-size: 26px; color: var(--chu-chinh); }
.header .form-control{ height: 46px; background: var(--nen-be-mat); color: var(--chu-chinh); border-color: var(--nen-vien); }
.header .btn{ height: 46px; }

@media (max-width: 768px){
  .header{ position: static; }
}

/* ================= NAVBAR ================= */
.navbar-custom{
  background: var(--nen-be-mat);
  border-bottom: 1px solid var(--nen-vien);
  position: sticky;
  top: 0;
  z-index: 999;
}
.navbar-custom .nav-link,
.navbar-custom .menu a{
  color: var(--chu-phu);
  font-weight: 600;
  padding: 14px 16px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
}
.navbar-custom .nav-link:hover,
.navbar-custom .menu a:hover{
  color: var(--mau-chinh);
  background: var(--nen-hover);
}
.navbar-custom .menu a.active,
.navbar-custom .nav-link.active{
  color: var(--mau-chinh);
  border-bottom: 3px solid var(--mau-chinh);
}
.navbar-custom .menu{
  margin: 0; padding: 0; list-style: none;
  display: flex; align-items: center; gap: 4px; flex-wrap: wrap;
}
.navbar-toggler{ border: none; }
.navbar-toggler:focus{ box-shadow: none; }

@media (max-width: 768px){
  .header, .navbar-custom{ position: static !important; top: auto !important; }
}

/* ================= NÚT TOGGLE DARK MODE ================= */
.btn-dark-mode{
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  border: 1.5px solid var(--nen-vien);
  background: var(--nen-be-mat-2);
  color: var(--chu-chinh);
  cursor: pointer;
  font-size: 18px;
  transition: background .2s ease, transform .15s ease;
}
.btn-dark-mode:hover{ background: var(--nen-hover); transform: translateY(-1px); }
.btn-dark-mode:active{ transform: scale(0.94); }

/* ================= SIDEBAR (dùng cho khu vực cá nhân / dashboard) ================= */
.sidebar{
  width: var(--chieu-rong-sidebar);
  min-height: calc(100vh - var(--chieu-cao-header));
  background: var(--nen-be-mat);
  border-right: 1px solid var(--nen-vien);
}
.sidebar-header{ padding: 20px; border-bottom: 1px solid var(--nen-vien); }
.sidebar-menu{ margin: 0; padding: 15px 0; list-style: none; }
.sidebar-menu li{ margin: 4px 0; }
.sidebar-menu a{
  display: flex; align-items: center; gap: 15px;
  color: var(--chu-phu); text-decoration: none;
  padding: 12px 22px; transition: .2s;
  border-left: 3px solid transparent;
}
.sidebar-menu a:hover{ background: var(--nen-hover); color: var(--mau-chinh); }
.sidebar-menu a.active{ color: var(--mau-chinh); border-left-color: var(--mau-chinh); background: var(--mau-chinh-nhat); }
.sidebar-menu i{ width: 22px; text-align: center; font-size: 18px; }

@media (max-width: 991px){
  .sidebar{ width: 100%; min-height: auto; border-right: none; border-bottom: 1px solid var(--nen-vien); }
}

/* ================= FOOTER ================= */
.footer{
  margin-top: 60px;
  background: #1f2937;
  color: #fff;
  padding: 50px 0 20px;
}
.footer h5, .footer h6{ margin-bottom: 15px; font-weight: 700; }
.footer p{ color: #d1d5db; }
.footer ul{ padding: 0; margin: 0; }
.footer li{ list-style: none; margin-bottom: 10px; }
.footer a{ color: #d1d5db; text-decoration: none; transition: .2s; }
.footer a:hover{ color: #fff; }
.footer hr{ border-color: #374151; margin: 30px 0 20px; }
.footer .text-center{ color: #9ca3af; }
.social{ display: flex; gap: 15px; font-size: 22px; }

/* ================= THẺ / NÚT DÙNG CHUNG ================= */
.card{
  background: var(--nen-be-mat);
  color: var(--chu-chinh);
  border-color: var(--nen-vien);
}
.course-card, .course-box, .lesson-card{
  border-radius: var(--bo-goc-lg);
  overflow: hidden;
  transition: .3s;
}
.course-card:hover, .course-box:hover, .lesson-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--bong-lg) !important;
}
.btn-danger, .btn-mau-chinh{
  background: var(--mau-chinh);
  border-color: var(--mau-chinh);
  border-radius: 10px;
  font-weight: 700;
}
.btn-danger:hover, .btn-mau-chinh:hover{
  background: var(--mau-chinh-dam);
  border-color: var(--mau-chinh-dam);
}
.btn-outline-danger{
  color: var(--mau-chinh);
  border-color: var(--mau-chinh);
}
.btn-outline-danger:hover{
  background: var(--mau-chinh);
  border-color: var(--mau-chinh);
}

.dropdown-menu{ min-width: 240px; background: var(--nen-be-mat); }
.dropdown-item{ padding: 10px 16px; color: var(--chu-chinh); }
.dropdown-item:hover{ background: var(--nen-hover); color: var(--mau-chinh); }

/* ================= BADGE LOẠI TỪ (dùng ở nhiều trang từ vựng) ================= */
.badge-word{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:11px; font-weight:700; }
.badge-noun{ background:#e0f2fe; color:#0369a1; }
.badge-verb{ background:#dcfce7; color:#15803d; }
.badge-adjective{ background:#fef3c7; color:#b45309; }
.badge-pronoun{ background:#ede9fe; color:#6d28d9; }
.badge-adverb{ background:#fce7f3; color:#be185d; }
.badge-particle{ background:#f1f5f9; color:#475569; }
.badge-interjection{ background:#ffe4e6; color:#be123c; }
.badge-measure{ background:#e0e7ff; color:#4338ca; }
.badge-preposition{ background:#f0fdfa; color:#0f766e; }
.badge-conjunction{ background:#fef9c3; color:#854d0e; }
.badge-number{ background:#ecfeff; color:#0e7490; }
.badge-secondary{ background:#f3f4f6; color:#4b5563; }

/* ================= THANH ĐIỀU HƯỚNG DƯỚI CHO MOBILE ================= */
.mobile-tabbar{
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: var(--z-header);
  background: var(--nen-be-mat);
  border-top: 1px solid var(--nen-vien);
  padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
  box-shadow: 0 -4px 16px rgba(0,0,0,0.06);
}
.mobile-tabbar-inner{
  display: flex;
  justify-content: space-around;
}
.mobile-tabbar a{
  flex: 1;
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  color: var(--chu-nhat);
  text-decoration: none;
  font-size: 11px;
  padding: 6px 2px;
  border-radius: 10px;
}
.mobile-tabbar a i{ font-size: 18px; }
.mobile-tabbar a.active{ color: var(--mau-chinh); }

@media (max-width: 768px){
  .mobile-tabbar{ display: block; }
  body{ padding-bottom: 64px; }
}
