/* =========================================================================
   TỰ VỮNG — Trang chủ V3 (bổ trợ cho markup inline của thiết kế).
   CỐ Ý TỐI GIẢN + KHÔNG global reset: trang này nhúng chung index.html với khu học viên
   (styles.css). Chỉ khai báo thứ RIÊNG của landing v3, KHÔNG đụng body/*/h1/a/button/.btn
   để tránh xung đột với styles.css. Nút widget đặt tên .v3btn (styles.css đã có .btn).
   ========================================================================= */

/* (Rule giới hạn hero màn rộng đặt INLINE trong index.html — cạnh @media max-width:860 của hero —
   để chắc chắn áp, không dính cache của file phụ này.) */

/* (Rule ô chọn khoá #courseSelectTop đặt INLINE trong index.html — không ở đây, tránh bẫy parse/cache file phụ.) */

/* Reveal khi cuộn (v3.js thêm class .in) */
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity 1.15s cubic-bezier(.16,.8,.24,1),transform 1.15s cubic-bezier(.16,.8,.24,1)}
[data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* Nút do v3.js render (9 bậc / ba cổng / tabs khoá / tự soi) */
.v3btn{display:inline-block;font-family:'Be Vietnam Pro',sans-serif;font-weight:500;letter-spacing:.05em;cursor:pointer;border:1px solid transparent;transition:background .35s ease,border-color .35s ease,color .35s ease,transform .35s cubic-bezier(.16,.8,.24,1);text-decoration:none}
.v3btn-do{background:#9B1C1C;color:#FBF8F0}
.v3btn-do:hover{background:#7C1414;transform:translateY(-2px)}
.v3btn-line{border-color:rgba(30,58,95,.32);color:#1E3A5F;background:transparent}
.v3btn-line:hover{border-color:#1E3A5F;transform:translateY(-2px)}

/* Responsive landing v3 cho mobile/tablet (prototype gốc dựng desktop-first, thiếu breakpoint).
   Header prototype dùng thẻ <nav> trần (KHÔNG class .tv-nav) nên phải target thẳng "header nav".
   Nếu để nav 7 link hiện trên mobile → đẩy trang rộng ~900px → TRÀN NGANG, chữ hero bị cắt. */
@media (max-width:1180px){ header nav{display:none !important} }
@media (max-width:900px){
  /* Lề section/footer gọn lại cho màn hẹp */
  section, footer{padding-left:22px !important;padding-right:22px !important}
  /* Collapse MỌI lưới inline (mọi tỉ lệ fr / cột px cố định) về 1 cột để xếp chồng */
  section [style*="grid-template-columns"], footer [style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
  }
  section h2{font-size:clamp(26px,6vw,34px) !important}
  /* Ảnh app đôi (section 15) khi đã 1 cột: cho về khổ vừa, không tràn */
  section img[src*="app-0"]{width:46% !important}
}
@media (max-width:640px){
  /* Header rất hẹp: bỏ tagline cạnh logo (đã lặp ở hero + footer), thu lề để logo + CTA vừa 1 hàng */
  header > div{padding-left:16px !important;padding-right:16px !important;gap:14px !important}
  header a[href="#mo-dau"] span{display:none !important}
  header a[href="#mien-phi"]{padding-left:16px !important;padding-right:16px !important;letter-spacing:.04em !important}

  /* Thanh CTA dính đáy #tvBar trên mobile: gọn lại 1 hàng — bỏ dòng combo phụ + nút "Tự soi",
     giữ 1 dòng mời ngắn + 1 nút "Học thử miễn phí". Giảm cao thanh → chat "An" cũng nằm gọn trên nó. */
  #tvBar > div{padding:9px 12px !important;gap:10px !important;flex-wrap:nowrap !important}
  #tvBar > div > span:nth-of-type(2){display:none !important}
  #tvBar > div > span:first-child{font:500 13px/1.25 'Be Vietnam Pro',sans-serif !important;color:#E3D2A6 !important;min-width:0 !important;flex:1 1 auto !important}
  #tvBar a[href="#tu-soi"]{display:none !important}
  #tvBar a[href="#mien-phi"]{padding:11px 14px !important;font-size:12.5px !important;white-space:nowrap !important}
}
