/* =========================================================
   Egova HR – giao diện chính
   Child theme của Twenty Twenty-Five
   ========================================================= */

:root {
	--egova-bg: #F4F5F3;
	--egova-panel: #FFFFFF;
	--egova-ink: #1C2530;
	--egova-muted: #5B6672;
	--egova-primary: #1F4E5F;
	--egova-primary-700: #163A47;
	--egova-accent: #C8A030;
	--egova-border: #E2E3DF;

	--egova-radius: 14px;
	--egova-radius-sm: 10px;
	--egova-shadow: 0 1px 2px rgba(20, 30, 40, .05), 0 10px 30px rgba(20, 30, 40, .06);
	--egova-sheet-h: 70vh;
}

body {
	background: var(--egova-bg);
	color: var(--egova-ink);
	-webkit-font-smoothing: antialiased;
}

/* ---------- Header & footer (làm gọn lại như một thanh ứng dụng) ---------- */
.wp-site-blocks > header.wp-block-template-part {
	background: var(--egova-panel);
	border-bottom: 1px solid var(--egova-border);
	position: sticky;
	top: 0;
	z-index: 30;
}

.wp-site-blocks > footer.wp-block-template-part {
	border-top: 1px solid var(--egova-border);
	background: var(--egova-panel);
}

/* Menu điều hướng dễ đọc hơn */
.wp-block-navigation a {
	color: var(--egova-muted);
}
.wp-block-navigation a:hover {
	color: var(--egova-primary);
}

/* ---------- Tiêu đề trang ---------- */
.egova-page-title {
	margin-bottom: .35em;
	font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.3rem);
}

/* ---------- Header (thanh ứng dụng) ---------- */
.egova-header {
	padding-inline: clamp(16px, 3vw, 40px);
}
.egova-header__bar {
	padding-block: 16px;
}
.egova-brand a,
.egova-brand {
	text-decoration: none;
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: -0.01em;
	color: var(--egova-ink);
}
.egova-nav a { font-size: 0.95rem; }

.egova-menu {
	margin-left: auto;
}
.egova-menu__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}
.egova-menu__list li {
	position: relative;
	margin: 0;
}
.egova-menu__list a {
	color: var(--egova-muted);
	display: block;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.35;
	padding: 8px 0;
	text-decoration: none;
}
.egova-menu__list a:hover,
.egova-menu__list a:focus,
.egova-menu__list .current-menu-item > a,
.egova-menu__list .current_page_item > a {
	color: var(--egova-primary);
}
.egova-menu__list .sub-menu,
.egova-menu__list .children {
	background: var(--egova-panel);
	border: 1px solid var(--egova-border);
	border-radius: var(--egova-radius-sm);
	box-shadow: var(--egova-shadow);
	display: none;
	left: 0;
	list-style: none;
	margin: 0;
	min-width: 190px;
	padding: 8px;
	position: absolute;
	top: 100%;
	z-index: 50;
}
.egova-menu__list li:hover > .sub-menu,
.egova-menu__list li:focus-within > .sub-menu,
.egova-menu__list li:hover > .children,
.egova-menu__list li:focus-within > .children {
	display: block;
}
.egova-menu__list .sub-menu a,
.egova-menu__list .children a {
	padding: 8px 10px;
	white-space: nowrap;
}

@media (max-width: 782px) {
	.egova-header__bar {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}
	.egova-menu {
		margin-left: 0;
		width: 100%;
	}
	.egova-menu__list {
		justify-content: flex-start;
	}
	.egova-menu__list .sub-menu,
	.egova-menu__list .children {
		box-shadow: none;
		display: block;
		margin-left: 14px;
		min-width: 0;
		padding: 0 0 0 10px;
		position: static;
	}
}

/* ---------- Footer ---------- */
.egova-footer {
	padding: 40px clamp(16px, 3vw, 40px) 28px;
}
.egova-footer__top { margin-bottom: 24px; }
.egova-footer__links { list-style: none; margin: 0; padding: 0; }
.egova-footer__links a { text-decoration: none; }
.egova-footer__bottom {
	border-top: 1px solid var(--egova-border);
	padding-top: 18px;
	font-size: 0.85rem;
}

/* ---------- Khung <main> theo bố cục ---------- */
.egova-main { margin-top: 0; }

/* Bố cục chuẩn */
.egova-main--standard {
	padding-inline: clamp(16px, 3vw, 32px);
	padding-block: 24px 56px;
}

/* Bố cục toàn chiều rộng */
.egova-main--full {
	padding-inline: clamp(16px, 3vw, 40px);
	padding-block: 18px 56px;
}

/* Bố cục bảng tính toàn màn hình */
.egova-sheet-page {
	padding-inline: clamp(12px, 2.4vw, 32px);
	padding-block: 16px 28px;
}

/* Thông tin bài viết */
.egova-meta {
	gap: 1rem;
	font-size: 0.9rem;
	margin-bottom: 1.2rem;
}

/* =========================================================
   BẢNG TÍNH – khung cuộn ngang giống Google Trang tính
   ========================================================= */
.egova-sheet {
	position: relative;
	width: 100%;
	height: var(--egova-sheet-h);
	background: var(--egova-panel);
	border: 1px solid var(--egova-border);
	border-radius: var(--egova-radius);
	box-shadow: var(--egova-shadow);
	overflow: auto;                       /* cuộn cả ngang lẫn dọc */
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

/* iframe (Google Sheets / Excel Online) lấp đầy khung và rộng để cuộn ngang */
.egova-sheet iframe {
	display: block;
	width: 100%;
	min-width: 1400px;                    /* rộng hơn màn hình -> hiện thanh cuộn ngang */
	height: 100%;
	border: 0;
}

/* Bảng HTML dán trực tiếp cũng được cuộn ngang */
.egova-sheet table {
	width: 100%;
	min-width: 1100px;
	border-collapse: collapse;
}
.egova-sheet th,
.egova-sheet td {
	border: 1px solid var(--egova-border);
	padding: 8px 12px;
	white-space: nowrap;
}

/* Biến thể: cao theo nội dung thay vì cố định */
.egova-sheet.is-auto-height {
	height: auto;
	max-height: 85vh;
}

/* Khi đặt trong trang “Bảng tính toàn màn hình”: lấp gần hết màn hình */
.egova-sheet-page .egova-sheet {
	--egova-sheet-h: calc(100vh - 230px);
	min-height: 460px;
}

/* Ghi chú nhỏ dưới bảng */
.egova-hint {
	margin-top: .6rem;
	color: var(--egova-muted);
	font-size: .85rem;
}

/* Thanh cuộn gọn gàng (WebKit) */
.egova-sheet::-webkit-scrollbar {
	width: 12px;
	height: 12px;
}
.egova-sheet::-webkit-scrollbar-thumb {
	background: #c3c8c4;
	border-radius: 10px;
	border: 3px solid var(--egova-panel);
}
.egova-sheet::-webkit-scrollbar-thumb:hover {
	background: #a9afa9;
}
.egova-sheet::-webkit-scrollbar-track {
	background: transparent;
}

/* =========================================================
   THẺ / PANEL (dùng cho bố cục 2 cột, 3 cột, dashboard)
   ========================================================= */
.egova-card {
	background: var(--egova-panel);
	border: 1px solid var(--egova-border);
	border-radius: var(--egova-radius);
	padding: 22px 24px;
	box-shadow: var(--egova-shadow);
	height: 100%;
}
.egova-card > :first-child { margin-top: 0; }
.egova-card > :last-child { margin-bottom: 0; }
.egova-card h2,
.egova-card h3 { margin-bottom: .4rem; }

/* Nhãn nhỏ in hoa (eyebrow) – dùng font mono cho cảm giác “công cụ nội bộ” */
.egova-eyebrow {
	font-family: var(--wp--preset--font-family--egova-mono, monospace);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--egova-accent);
	margin: 0 0 .35rem;
}

/* Hàng thẻ: khoảng cách đều, cao bằng nhau */
.egova-cards .wp-block-columns { align-items: stretch; }
.egova-cards .wp-block-column { display: flex; }
.egova-cards .wp-block-column > .egova-card { width: 100%; }

/* Dải tiêu đề khu vực */
.egova-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: 1px solid var(--egova-border);
	padding-bottom: .6rem;
	margin-bottom: 1.2rem;
}
.egova-section-head h2 { margin: 0; }

/* =========================================================
   Tiện ích
   ========================================================= */
.egova-muted { color: var(--egova-muted); }

/* ---------- Một số khối lõi ---------- */
.wp-block-search__button {
	background: var(--egova-primary);
	color: #fff;
	border: 0;
	border-radius: var(--egova-radius-sm);
	padding: 0.6em 1.1em;
	font-weight: 600;
}
.wp-block-search__button:hover { background: var(--egova-primary-700); }

.wp-block-search__input,
.wp-block-search .wp-block-search__input {
	border: 1px solid var(--egova-border);
	border-radius: var(--egova-radius-sm);
	background: var(--egova-panel);
	padding: 0.55em 0.8em;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .wp-block-query-pagination-numbers {
	color: var(--egova-primary);
}
.wp-block-query-pagination { margin-top: 1.5rem; }

/* =========================================================
   Mobile
   ========================================================= */
@media (max-width: 781px) {
	.egova-sheet-page .egova-sheet { --egova-sheet-h: 62vh; }
	.egova-card { padding: 18px 18px; }
	.egova-section-head { flex-direction: column; gap: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; }
}
