/* Giao diện chung v2 cho site đơn vị (24/10/2026) — chỉ áp dụng khi body có .donvi-gd2. Màu / phông lấy từ theme (không thêm màu mới).
   Mốc: điện thoại ≤ 768px (menu ☰ + "Trong mục này" thả xuống); ≥ 769px menu ngang; ≥ 1024px chỉ thanh menu dính đầu trang. */

/* ---------- Nút "Trang chủ Trường" (cùng tab) ---------- */
.donvi-gd2 .donvi-nut-truong {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	min-height: 36px;
	padding: 0.25rem 0.875rem;
	border: 1.5px solid currentColor;
	border-radius: 999px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}
.donvi-gd2 .donvi-nut-truong:hover { text-decoration: none; }
.donvi-gd2 .donvi-nut-truong .hcmunre-icon { flex: none; }
.donvi-gd2 .donvi-nut-truong--thanh-tren { min-height: 30px; padding: 0.125rem 0.75rem; font-size: 0.875rem; color: var(--wp--preset--color--primary-dark); } /* giữ chiều cao thanh trên như cũ */
.donvi-gd2 .donvi-nut-truong--thanh-tren:hover,
.donvi-gd2 .donvi-nut-truong--menu:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}
.donvi-gd2 .donvi-nut-truong--dau-trang,
.donvi-gd2 .donvi-nut-truong--chan-trang { color: var(--wp--preset--color--base); border-color: rgb(255 255 255 / 0.75); }
.donvi-gd2 .donvi-nut-truong--dau-trang { min-height: 44px; padding-inline: 0.75rem; }
.donvi-gd2 .donvi-nut-truong--dau-trang:hover,
.donvi-gd2 .donvi-nut-truong--chan-trang:hover { background: rgb(255 255 255 / 0.14); color: var(--wp--preset--color--base); }
.donvi-gd2 .donvi-nut-truong--menu { min-height: 44px; color: var(--wp--preset--color--primary); }
.donvi-gd2 .donvi-nut-truong--chan-trang { min-height: 44px; }
.donvi-gd2 .donvi-footer__nut { margin: 0 0 1rem; }
.donvi-gd2 .donvi-nav__truong { margin-top: 1.25rem; }
/* Thanh trên cùng có từ 1024px (theme gốc ẩn dưới mốc này) → nút ở đầu trang chỉ dùng < 1024px. */
@media (min-width: 1024px) {
	.donvi-gd2 .donvi-nut-truong--dau-trang { display: none; }
}
/* Điện thoại: chỉ biểu tượng 44×44 (chữ "Trang chủ Trường" vẫn đọc được bằng trình đọc màn hình + hiện khi trỏ) → tên đơn vị đủ chỗ. */
@media (max-width: 768px) {
	.donvi-gd2 .donvi-nut-truong--dau-trang { justify-content: center; width: 44px; min-width: 44px; padding: 0; }
	.donvi-gd2 .donvi-nut-truong--dau-trang .donvi-nut-truong__chu {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}
.donvi-gd2 .site-header.is-compact .donvi-nut-truong--dau-trang { min-height: 40px; }

/* ---------- Menu ngang (≥ 769px) ---------- */
.donvi-thanh { display: none; }
@media (min-width: 769px) {
	.donvi-gd2 .site-actions__menu { display: none; }
	.donvi-gd2 #hcmunre-offcanvas.site-nav { display: none !important; } /* menu cũ (thanh ≥ 1024px của theme gốc / ☰) */
	.donvi-gd2 .donvi-thanh {
		display: block;
		position: relative;
		z-index: 60;
		background: var(--wp--preset--color--primary-dark);
		color: var(--wp--preset--color--base);
	}
	.donvi-thanh__trong {
		box-sizing: border-box;
		max-width: calc(var(--wp--style--global--wide-size, 1200px) + var(--wp--style--root--padding-left, 1rem) + var(--wp--style--root--padding-right, 1rem));
		margin-inline: auto;
		padding-inline: var(--wp--style--root--padding-left, 1rem) var(--wp--style--root--padding-right, 1rem);
	}
	.donvi-thanh__ds {
		display: flex;
		flex-wrap: nowrap;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	html:not(.donvi-gd2-js) .donvi-thanh__ds { overflow-x: auto; scrollbar-width: thin; } /* không JS: cuộn ngang, không rớt dòng */
	.donvi-thanh__muc { position: relative; flex: none; margin: 0; }
	.donvi-thanh__muc[hidden] { display: none; }
	.donvi-thanh__link {
		display: flex;
		align-items: center;
		gap: 0.25rem;
		height: 48px;
		padding: 0 0.875rem;
		color: var(--wp--preset--color--base);
		font-size: 0.9375rem;
		font-weight: 600;
		line-height: 1.2;
		white-space: nowrap;
		text-decoration: none;
		cursor: pointer;
		list-style: none;
	}
	.donvi-thanh__link::-webkit-details-marker { display: none; }
	.donvi-thanh__link .hcmunre-icon { transition: transform 0.15s; }
	.donvi-thanh__nhom[open] > .donvi-thanh__link .hcmunre-icon { transform: rotate(180deg); }
	.donvi-thanh__ds > .donvi-thanh__muc > .donvi-thanh__link:hover,
	.donvi-thanh__ds > .donvi-thanh__muc > .donvi-thanh__nhom > .donvi-thanh__link:hover,
	.donvi-thanh__ds > .donvi-thanh__muc > .donvi-thanh__nhom[open] > .donvi-thanh__link {
		background: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--base);
		text-decoration: none;
	}
	/* Mục đang xem: nền xanh + gạch kem dưới (không chỉ dựa vào màu). */
	.donvi-thanh__ds > .donvi-thanh__muc.is-current > .donvi-thanh__link,
	.donvi-thanh__ds > .donvi-thanh__muc.is-current > .donvi-thanh__nhom > .donvi-thanh__link {
		background: var(--wp--preset--color--primary);
		box-shadow: inset 0 -4px 0 var(--wp--preset--color--cream);
	}
	.donvi-thanh :focus-visible { outline: 3px solid var(--wp--preset--color--cream); outline-offset: -3px; }
	.donvi-thanh__sub {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 2;
		box-sizing: border-box;
		min-width: 16rem;
		max-height: calc(100vh - 8rem);
		overflow-y: auto;
		margin: 0;
		padding: 0.5rem 0;
		list-style: none;
		background: var(--wp--preset--color--base);
		color: var(--wp--preset--color--contrast);
		border-top: 3px solid var(--wp--preset--color--primary-brand);
		box-shadow: 0 12px 28px rgb(0 0 0 / 0.16);
	}
	.donvi-thanh__ds > .donvi-thanh__muc:nth-last-child(-n+3) > .donvi-thanh__nhom > .donvi-thanh__sub { left: auto; right: 0; }
	.donvi-thanh__sub li { margin: 0; break-inside: avoid; }
	.donvi-thanh__sub a {
		display: block;
		padding: 0.5rem 1.25rem;
		color: var(--wp--preset--color--contrast);
		font-size: 0.9375rem;
		text-decoration: none;
	}
	.donvi-thanh__sub a:hover { background: var(--wp--preset--color--green-soft); color: var(--wp--preset--color--primary-dark); }
	.donvi-thanh__sub a[aria-current] { font-weight: 700; color: var(--wp--preset--color--primary); box-shadow: inset 4px 0 0 var(--wp--preset--color--primary); }
	.donvi-thanh__sub :focus-visible { outline-color: var(--wp--preset--color--primary-brand); }
	.donvi-thanh__con--goc > a { font-weight: 600; }
	.donvi-thanh__con--nhom > span {
		display: block;
		padding: 0.75rem 1.25rem 0.25rem;
		color: var(--wp--preset--color--muted);
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}
	.donvi-thanh__sub--don-vi { width: min(44rem, calc(100vw - 2rem)); columns: 2 18rem; column-gap: 0; }
	/* "Thêm": mục đã chuyển vào nằm dọc, nhóm con mở tại chỗ. */
	.donvi-thanh__sub--them .donvi-thanh__muc { position: static; }
	.donvi-thanh__sub--them .donvi-thanh__link,
	.donvi-thanh__sub--them a.donvi-thanh__link {
		display: flex;
		align-items: center;
		height: auto;
		min-height: 44px;
		padding: 0.5rem 1.25rem;
		color: var(--wp--preset--color--contrast);
		white-space: normal;
	}
	.donvi-thanh__sub--them .donvi-thanh__link:hover { background: var(--wp--preset--color--green-soft); }
	.donvi-thanh__sub--them .is-current > .donvi-thanh__link,
	.donvi-thanh__sub--them .is-current > .donvi-thanh__nhom > .donvi-thanh__link { font-weight: 700; color: var(--wp--preset--color--primary); box-shadow: inset 4px 0 0 var(--wp--preset--color--primary); }
	.donvi-thanh__sub--them .donvi-thanh__sub {
		position: static;
		width: auto;
		min-width: 0;
		max-height: none;
		columns: auto;
		padding: 0 0 0.25rem 1rem;
		border: 0;
		box-shadow: none;
	}
}
@media (min-width: 769px) and (max-width: 1023px) {
	.donvi-thanh__link { padding-inline: 0.625rem; font-size: 0.875rem; }
	.donvi-thanh__ds > .donvi-thanh__muc:first-child > .donvi-thanh__link,
	.donvi-thanh__ds > .donvi-thanh__muc:first-child > .donvi-thanh__nhom > .donvi-thanh__link { padding-left: 0.5rem; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
	.donvi-thanh__link { padding-inline: 0.6875rem; font-size: 0.90625rem; }
}

/* Dính đầu trang ≥ 769px: cả <header> dính với top âm (JS tính) → chỉ còn thanh menu trên màn hình. */
@media (min-width: 769px) {
	body.donvi-gd2.donvi-gd2-dinh header.wp-block-template-part {
		position: sticky;
		z-index: 900;
	}
}
html.donvi-gd2-js { scroll-padding-top: calc(var(--donvi-dinh, 0px) + 0.75rem); }

/* ---------- Đường dẫn vị trí ---------- */
/* Trang bài: nhãn chuyên mục phía trên tiêu đề trùng với "Mục" trong đường dẫn vị trí → ẩn. */
body.donvi-gd2.single .donvi-main > .donvi-bai__chuyen-muc { display: none; }
.donvi-vi-tri__ds {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.125rem 0.5rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}
.donvi-vi-tri__muc { margin: 0; }
.donvi-vi-tri__muc + .donvi-vi-tri__muc::before { content: "›" / ""; margin-right: 0.5rem; color: var(--wp--preset--color--muted); }
.donvi-vi-tri a { color: var(--wp--preset--color--primary); }
.donvi-vi-tri [aria-current] { color: var(--wp--preset--color--contrast); font-weight: 600; }

/* ---------- Menu dọc "Trong mục này" ---------- */
.donvi-menu-doc {
	margin: 0 0 1.25rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	background: var(--wp--preset--color--base);
}
.donvi-menu-doc__tom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 0.5rem;
	min-height: 48px;
	padding: 0.5rem 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	cursor: pointer;
	list-style: none;
}
.donvi-menu-doc__tom::-webkit-details-marker { display: none; }
.donvi-menu-doc__ten-muc { font-weight: 400; color: var(--wp--preset--color--muted); }
.donvi-menu-doc__ten-muc::before { content: "·"; margin-right: 0.5rem; }
.donvi-menu-doc__tom .hcmunre-icon { margin-left: auto; transition: transform 0.15s; }
.donvi-menu-doc[open] > .donvi-menu-doc__tom .hcmunre-icon { transform: rotate(180deg); }
.donvi-menu-doc__tom:focus-visible { outline: 3px solid var(--wp--preset--color--primary-brand); outline-offset: 2px; border-radius: 8px; }
.donvi-menu-doc__dau { display: none; }
.donvi-menu-doc__ds { margin: 0; padding: 0 0 0.5rem; list-style: none; border-top: 1px solid var(--wp--preset--color--border); }
.donvi-menu-doc__muc { margin: 0; }
.donvi-menu-doc__muc a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0.5rem 1rem;
	border-left: 4px solid transparent;
	color: var(--wp--preset--color--contrast);
	line-height: 1.35;
	text-decoration: none;
}
.donvi-menu-doc__muc a:hover { background: var(--wp--preset--color--green-soft); color: var(--wp--preset--color--primary-dark); }
.donvi-menu-doc__muc--goc a { font-weight: 600; }
.donvi-menu-doc__muc.is-current > a { font-weight: 600; }
.donvi-menu-doc__muc a[aria-current] {
	border-left-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--green-soft);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 700;
}
.donvi-menu-doc__muc a:focus-visible { outline: 3px solid var(--wp--preset--color--primary-brand); outline-offset: -3px; }

@media (min-width: 769px) {
	body.donvi-gd2.donvi-co-menu-doc .donvi-main {
		display: grid;
		grid-template-columns: 14rem minmax(0, var(--wp--style--global--content-size, 46rem));
		justify-content: center;
		column-gap: 2.5rem;
		align-content: start;
	}
	body.donvi-gd2.donvi-co-menu-doc .donvi-main > * {
		grid-column: 2;
		max-width: none;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.donvi-gd2.donvi-co-menu-doc .donvi-main > .donvi-vi-tri { grid-column: 1 / -1; }
	body.donvi-gd2.donvi-co-menu-doc .donvi-main > .donvi-menu-doc {
		grid-column: 1;
		grid-row: 2 / span 40;
		align-self: start;
		position: sticky;
		top: calc(var(--donvi-dinh, 0px) + 1rem);
		margin: 0;
		border: 0;
		background: none;
	}
	.donvi-menu-doc__tom { display: none; }
	.donvi-menu-doc__dau {
		display: block;
		margin: 0;
		padding: 0 1rem 0.5rem;
		border-bottom: 3px solid var(--wp--preset--color--primary-brand);
		color: var(--wp--preset--color--primary-dark);
		font-size: 0.8125rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}
	.donvi-menu-doc__ds { border-top: 0; padding-top: 0.25rem; }
	.donvi-menu-doc__muc a { min-height: 40px; font-size: 0.9375rem; }
}

@media (prefers-reduced-motion: reduce) {
	.donvi-thanh__link .hcmunre-icon,
	.donvi-menu-doc__tom .hcmunre-icon { transition: none; }
}
