/* Trang Tổ chức sự kiện – giao diện mới (2026-10-26). Dùng chung thẻ với tv-teambuilding.css */

/* Lý do lựa chọn (nội dung lấy từ trang quản trị: event-why-choose-us) */
.tv-evw { position: relative; overflow: hidden; padding: 54px 0 60px; border-bottom: 1px solid var(--line); background: radial-gradient(760px 300px at 92% -10%, rgba(35, 88, 216, .10), transparent 62%), linear-gradient(180deg, #F7FAFF 0%, var(--sky, #EDF3FF) 100%); color: var(--navy); }
.tv-evw .tv-tb-eb { color: var(--red); }
.tv-evw .tv-tb-eb::before { background: var(--red); }
.tv-evw .margin-bottom-20 { margin-bottom: 0; text-align: left !important; }
.tv-evw .h1-title { margin: 10px 0 14px; padding: 0; border: 0; color: var(--navy); font-family: SF-UI-Text-Semibold; font-size: 40px; line-height: 1.15; text-align: left; }
.tv-evw .h1-title::before, .tv-evw .h1-title::after { display: none !important; content: none !important; }
.tv-evw .margin-bottom-20 > p { max-width: 46em; margin: 0; color: var(--text); font-size: 17px; line-height: 1.7; }
.tv-evw .margin-bottom-20 > p a, .tv-evw .margin-bottom-20 > p strong { color: var(--navy); }
.tv-evw .margin-bottom-20 > p a { border-bottom: 1px solid rgba(181, 18, 59, .45); text-decoration: none; }
.tv-evw .event-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 36px 0 0; }
.tv-evw .event-column { width: auto; margin: 0; padding: 0; float: none; }
.tv-evw .event-column .item { height: 100%; padding: 24px 22px 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--sh-sm); transition: transform .25s, box-shadow .25s, border-color .2s; text-align: left !important; }
.tv-evw .event-column .item:hover { border-color: #B9CBEE; box-shadow: var(--sh-md); transform: translateY(-3px); }
.tv-evw .event-top { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 0 16px !important; border-radius: 18px; background: var(--red-bg); box-shadow: none; }
.tv-evw .event-top img { width: 34px; height: 34px; object-fit: contain; }
.tv-evw .event-bottom h3 { margin: 0 0 8px; color: var(--navy); font-family: SF-UI-Text-Semibold; font-size: 19px; line-height: 1.3; }
.tv-evw .event-bottom p { margin: 0; color: var(--text); font-size: 14.5px; line-height: 1.7; }

/* Tiêu đề mục có dòng phụ */
.tv-tbs-t { min-width: 0; }
.tv-tbs-sub { margin: 6px 0 0 52px; color: var(--muted); font-size: 14.5px; line-height: 1.6; }
.tv-tbs-sub * { margin: 0; color: inherit !important; font-size: inherit !important; text-align: left !important; }
.tv-tbs-h:has(.tv-tbs-sub) { align-items: flex-end; }

/* Huy hiệu sự kiện đã tổ chức */
.tv-tp-ev { position: absolute; left: 12px; top: 12px; z-index: 2; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: rgba(8, 26, 71, .84); color: var(--gold); pointer-events: none; }
.tv-tp-ev svg { width: 20px; height: 20px; fill: currentColor; }

@media (max-width: 1199px) {
    .tv-evw .h1-title { font-size: 36px; }
    .tv-evw .event-wrapper { gap: 14px; }
    .tv-evw .event-column .item { padding: 22px 18px 24px; }
}
@media (max-width: 991px) {
    .tv-evw .event-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .tv-evw { padding: 34px 0 38px; }
    .tv-evw .h1-title { margin: 8px 0 10px; font-size: 26px; }
    .tv-evw .margin-bottom-20 > p { font-size: 15px; line-height: 1.65; }
    .tv-evw .event-wrapper { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 24px; }
    .tv-evw .event-column .item { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 12px; align-items: start; padding: 14px 14px 16px; border-radius: 16px; }
    .tv-evw .event-top { width: 46px; height: 46px; margin: 0 !important; border-radius: 14px; }
    .tv-evw .event-top img { width: 26px; height: 26px; }
    .tv-evw .event-bottom h3 { margin-bottom: 4px; font-size: 16px; }
    .tv-evw .event-bottom p { font-size: 13px; line-height: 1.6; }
    .tv-tbs-sub { margin: 8px 0 0; font-size: 13.5px; }
    .tv-tp-grid.tv-two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .tv-tp-grid.tv-two .tv-tp-ph { aspect-ratio: 4 / 3; }
    .tv-tp-grid.tv-two .tv-tp-b { gap: 6px; padding: 12px 12px 14px; }
    .tv-tp-grid.tv-two .tv-tp-t { font-size: 15px; line-height: 1.38; }
    .tv-tp-grid.tv-two .tv-tp-x { display: none; }
    .tv-tp-grid.tv-two .tv-tp-go { min-height: 38px; padding: 0 8px; font-size: 13.5px; white-space: nowrap; }
    .tv-tbs-h h2 { align-items: flex-start; }
}
