/* ========================================
   East Hanoi Campus Page — east-hanoi.css
   ======================================== */

/* Reveal animation */
[data-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 600ms ease, transform 600ms ease;
}
[data-reveal].is-visible {
	opacity: 1;
	transform: none;
}

/* ---- Parallax banner ---- */
#vs-eh-parallax {
	will-change: transform;
}

/* ---- Campus nav active link ---- */
.vs-eh-cnav-link.is-active {
	box-shadow: inset 0 -2px 0 #6FC7B6 !important;
}

/* ---- Vi sao: reason card hover ---- */
.vs-eh-reason {
	cursor: default;
}
.vs-eh-reason:hover .vs-eh-reason-icon {
	transform: translateY(-4px) rotate(-6deg);
}
.vs-eh-reason-icon {
	transition: transform 250ms ease;
}

/* ---- Chuong trinh: prog card image hover ---- */
.vs-eh-prog-card:hover .vs-eh-prog-img {
	transform: scale(1.06);
}

/* ---- Kien truc: arch desktop/mobile toggle ---- */
.vs-eh-arch-desktop {
	display: grid;
}
.vs-eh-arch-mobile {
	display: none !important;
}

/* ---- Doi ngu: carousel scrollbar hidden ---- */
#vs-eh-team-carousel {
	-ms-overflow-style: none;
}
#vs-eh-team-carousel::-webkit-scrollbar {
	display: none;
}

/* ---- Dich vu: service link hover ---- */
.vs-eh-svc:hover {
	background: #D2E0D7;
}
.vs-eh-svc:hover .vs-eh-svc-title {
	text-decoration: underline;
}
.vs-eh-svc:hover .vs-eh-svc-arrow {
	transform: translateX(4px);
}

/* Sticky image column hide on tablet */
@media (max-width: 1023px) {
	.vs-eh-dv-img-col {
		display: none;
	}
	.vs-eh-dv-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* ---- Tuyen sinh: quick link card hover ---- */
.vs-eh-ql:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(30, 77, 90, 0.14);
}
.vs-eh-ql:hover .vs-eh-ql-arr {
	transform: translateX(4px);
}

/* Admission badge hover */
.vs-eh-ts-badge:hover {
	transform: translateY(-2px);
}

/* ---- Tin tuc: news card image hover ---- */
.vs-eh-news-card:hover .vs-eh-news-img img {
	transform: scale(1.05);
}

/* ---- Khong gian: tab underline ---- */
#vs-kg-tabs {
	scroll-behavior: smooth;
	-ms-overflow-style: none;
}
#vs-kg-tabs::-webkit-scrollbar {
	display: none;
}
.vs-kg-tab {
	cursor: pointer;
}
.vs-kg-tab.is-active {
	box-shadow: inset 0 -2px 0 #1E4D5A !important;
}

/* Thumbnail row: ẩn scrollbar */
#vs-kg-thumbs {
	-ms-overflow-style: none;
}
#vs-kg-thumbs::-webkit-scrollbar {
	display: none;
}

/* Mini arrow buttons hover */
.vs-kg-mini-btn:hover {
	background: #1E4D5A !important;
	color: #FFFFFF !important;
}

/* ---- vsPulse keyframes ---- */
@keyframes vsPulse {
	0%   { transform: scale(1);   opacity: 0.6; }
	100% { transform: scale(2.2); opacity: 0;   }
}

/* ========================================
   Responsive — tablet / mobile
   ======================================== */
@media (max-width: 1023px) {

	/* Kien truc: swap to mobile layout */
	.vs-eh-arch-desktop {
		display: none !important;
	}
	.vs-eh-arch-mobile {
		display: flex !important;
	}

	/* Khong gian: single col panel */
	#vs-kg-panel {
		grid-template-columns: minmax(0, 1fr) !important;
		min-height: 0 !important;
	}

	/* Sections: padding giảm */
	#top,
	#vi-sao-chon,
	#chuong-trinh,
	#khong-gian,
	#kien-truc,
	#doi-ngu,
	#dich-vu,
	#tuyen-sinh,
	#tin-tuc {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	/* Campus nav px giảm */
	nav[aria-label="Điều hướng cơ sở"] > div {
		padding: 0 24px !important;
	}

	/* Vi sao: stack grid */
	#vi-sao-chon > div > div:first-child {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Chuong trinh: 1 col */
	.vs-eh-prog-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Dich vu: 2 col service list */
	.vs-eh-svc-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* Tuyen sinh: single col grid, contact unsticky */
	.vs-eh-ts-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.vs-eh-ts-grid > div:last-child {
		position: static !important;
	}

	/* Quick links: 1 col */
	.vs-eh-ql-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Tin tuc: 1 col */
	.vs-eh-news-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 639px) {
	/* Dich vu: 1 col */
	.vs-eh-svc-list {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (min-width: 768px) {
	#su-kien { padding-top: 0 !important; }
}

.vs-ts-cta-btn {
	transition: background 220ms ease, color 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}
.vs-ts-cta-btn:hover {
	background: #1E4D5A;
	color: #FFFFFF !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(30, 77, 90, 0.22);
}
