/* ==========================================================================
   PNTU Journal — giao diện 2026 (mobile-first)
   Tệp này nạp CUỐI CÙNG trong HealthSciencesThemePlugin.php nên được quyền
   ghi đè các stylesheet trước đó. Giữ nhận diện: xanh lá #008751 (chủ đạo),
   navy #1a5276 (phụ), font Be Vietnam Pro, logo PNT.
   Quy ước: mọi selector cấp trang đều bắt đầu bằng `html body` để thắng
   các rule !important cũ; biến màu khai báo ở :root (.pntu-*).
   ========================================================================== */

:root {
	--pntu-green: #008751;
	--pntu-green-700: #006d41;
	--pntu-green-900: #004d2e;
	--pntu-green-050: #e8f5ee;
	--pntu-navy: #1a5276;
	--pntu-navy-700: #143d5c;
	--pntu-ink: #102a43;
	--pntu-body: #33475b;
	--pntu-muted: #5d7386;
	--pntu-line: #e2e8e5;
	--pntu-line-strong: #cdd8d2;
	--pntu-bg: #f4f7f5;
	--pntu-surface: #ffffff;
	--pntu-radius: 14px;
	--pntu-radius-sm: 10px;
	--pntu-radius-pill: 999px;
	--pntu-shadow-sm: 0 1px 2px rgba(16, 42, 67, .06), 0 1px 3px rgba(16, 42, 67, .08);
	--pntu-shadow: 0 6px 18px rgba(16, 42, 67, .08), 0 2px 6px rgba(16, 42, 67, .05);
	--pntu-shadow-lg: 0 16px 40px rgba(16, 42, 67, .12);
	--pntu-wrap: 1180px;
	--pntu-gutter: 16px;
	--pntu-font: "Be Vietnam Pro", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   1. Nền tảng: chữ, khoảng cách, tiêu đề
   -------------------------------------------------------------------------- */
html {
	-webkit-text-size-adjust: 100%;
}

html body {
	background: var(--pntu-bg) !important;
	color: var(--pntu-body) !important;
	font-family: var(--pntu-font) !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
	letter-spacing: .002em;
	overflow-x: hidden;
}

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .h1, html body .h2, html body .h3, html body .h4, html body .h5, html body .h6 {
	color: var(--pntu-ink) !important;
	font-weight: 700 !important;
	line-height: 1.28 !important;
	letter-spacing: -.01em;
	margin: 0 0 .55em;
}

html body h1, html body .h1 { font-size: clamp(1.55rem, 1.1rem + 2.2vw, 2.35rem) !important; }
html body h2, html body .h2 { font-size: clamp(1.3rem, 1.05rem + 1.2vw, 1.7rem) !important; }
html body h3, html body .h3 { font-size: clamp(1.12rem, 1rem + .6vw, 1.3rem) !important; }
html body h4, html body .h4 { font-size: 1.05rem !important; }

html body p { margin: 0 0 1rem; }
html body a { color: var(--pntu-navy); text-decoration: none; }
html body a:hover, html body a:focus { color: var(--pntu-green-700); text-decoration: underline; text-underline-offset: 2px; }
html body a:focus-visible,
html body button:focus-visible,
html body .btn:focus-visible {
	outline: 3px solid rgba(0, 135, 81, .35) !important;
	outline-offset: 2px;
}
html body strong, html body b { color: var(--pntu-ink); font-weight: 600; }
html body small { font-size: .82rem; }
html body img { max-width: 100%; height: auto; }

html body .container,
html body .pntu-wrap {
	width: 100%;
	max-width: var(--pntu-wrap) !important;
	margin-inline: auto;
	padding-inline: var(--pntu-gutter);
}

html body .page-content { padding-top: 1.5rem; padding-bottom: 2.5rem; }

/* Đường dẫn + tiêu đề trang */
html body .page-header {
	border: 0 !important;
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
}
html body .page-header h1 {
	margin-bottom: .35rem !important;
	position: relative;
	padding-bottom: .55rem;
}
html body .page-header h1::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 4px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--pntu-green), var(--pntu-navy));
}

/* --------------------------------------------------------------------------
   2. Nút & nhãn
   -------------------------------------------------------------------------- */
html body .btn,
html body .pntu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 42px;
	padding: .55rem 1.05rem;
	border-radius: var(--pntu-radius-pill) !important;
	border: 1px solid transparent !important;
	font-size: .95rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
	box-shadow: var(--pntu-shadow-sm);
}
html body .pntu-btn:hover { transform: translateY(-1px); box-shadow: var(--pntu-shadow); text-decoration: none !important; }

html body .pntu-btn-primary,
html body .btn-primary {
	background: var(--pntu-green) !important;
	border-color: var(--pntu-green) !important;
	color: #fff !important;
}
html body .pntu-btn-primary:hover,
html body .btn-primary:hover { background: var(--pntu-green-700) !important; border-color: var(--pntu-green-700) !important; color: #fff !important; }

html body .pntu-btn-ghost {
	background: #fff !important;
	border-color: var(--pntu-line-strong) !important;
	color: var(--pntu-ink) !important;
}
html body .pntu-btn-ghost:hover { border-color: var(--pntu-green) !important; color: var(--pntu-green-700) !important; }

/* Nút tải PDF/galley: đồng bộ màu thương hiệu thay cho xanh dương mặc định */
html body .obj_galley_link,
html body .galley-link,
html body a.obj_galley_link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	min-height: 38px;
	padding: .35rem .9rem;
	border-radius: var(--pntu-radius-pill) !important;
	background: var(--pntu-green-050) !important;
	border: 1px solid rgba(0, 135, 81, .28) !important;
	color: var(--pntu-green-700) !important;
	font-weight: 600 !important;
	font-size: .88rem !important;
}
html body .obj_galley_link:hover { background: var(--pntu-green) !important; color: #fff !important; }

html body .badge, html body .pntu-chip {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .25rem .6rem;
	border-radius: var(--pntu-radius-pill);
	background: var(--pntu-green-050);
	color: var(--pntu-green-900);
	font-size: .78rem;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   3. Header: topbar định danh + masthead + nav dính
   -------------------------------------------------------------------------- */
/* Header nằm trong .container (max-width 1180) của theme → kéo tràn 100% màn hình */
html body .main-header.pntu-header {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-bottom: 1rem;
}
html body .pntu-header .pntu-wrap {
	width: 100%;
	margin-inline: auto;
	padding-inline: clamp(14px, 3vw, 28px) !important;
}

html body .pntu-topbar {
	background: var(--pntu-navy);
	color: #dbe7f1;
	font-size: .78rem;
	letter-spacing: .01em;
}
html body .pntu-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	min-height: 34px;
}
html body .pntu-topbar-org {
	color: #fff !important;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
html body .pntu-topbar-meta { display: flex; align-items: center; gap: .45rem; white-space: nowrap; }
html body .pntu-topbar-issn { font-weight: 600; color: #fff; }
html body .pntu-dot { opacity: .5; }

html body .pntu-masthead-wrap {
	background: #fff;
	border-bottom: 1px solid var(--pntu-line);
}
html body .pntu-masthead {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-block: 14px;
}

html body .pntu-logo { flex: 0 0 auto; display: inline-flex; }
html body .pntu-logo-img {
	display: block;
	width: auto;
	height: 54px;
	max-width: 54px;
	object-fit: contain;
}

html body .pntu-brand { min-width: 0; flex: 1 1 auto; }
html body .pntu-brand-title {
	display: block;
	color: var(--pntu-ink) !important;
	font-size: clamp(1.02rem, .95rem + .55vw, 1.35rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.01em;
	text-decoration: none !important;
}
html body .pntu-brand-title:hover { color: var(--pntu-green-700) !important; }
html body .pntu-brand-sub {
	color: var(--pntu-muted);
	font-size: .8rem;
	line-height: 1.35;
	margin-top: 2px;
}

html body .pntu-brand-actions { display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; }
html body .pntu-brand-actions .pntu-btn { min-height: 38px; padding: .4rem .95rem; font-size: .86rem !important; }

/* Nav */
html body .pntu-nav {
	position: sticky;
	top: 0;
	z-index: 1030;
	background: #fff !important;
	border: 0 !important;
	border-bottom: 1px solid var(--pntu-line) !important;
	box-shadow: 0 4px 14px rgba(16, 42, 67, .06);
	padding: 0 !important;
	min-height: 0 !important;
}
html body .pntu-nav-inner {
	display: flex;
	align-items: center;
	gap: .5rem;
	min-height: 54px;
}
html body .pntu-nav .navbar-nav {
	display: flex;
	align-items: center;
	gap: .15rem;
	flex-wrap: wrap;
}
html body .pntu-nav .nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: .5rem .8rem !important;
	border-radius: var(--pntu-radius-pill);
	color: var(--pntu-ink) !important;
	font-size: .94rem !important;
	font-weight: 600 !important;
	white-space: nowrap;
}
html body .pntu-nav .nav-link:hover,
html body .pntu-nav .nav-link:focus {
	background: var(--pntu-green-050) !important;
	color: var(--pntu-green-700) !important;
	border-left: 0 !important;
	padding-left: .8rem !important;
}
html body .pntu-nav .nav-link.active,
html body .pntu-nav .nav-item.active > .nav-link {
	background: var(--pntu-green) !important;
	color: #fff !important;
	border: 0 !important;
}
html body .pntu-nav-user { margin-left: auto; display: flex; align-items: center; gap: .25rem; }

/* Nút hamburger: thay icon mặc định bằng nút gọn có nhãn */
html body .pntu-toggler {
	display: none;
	align-items: center;
	gap: .5rem;
	min-height: 42px;
	padding: .35rem .75rem;
	margin: .35rem 0;
	border: 1px solid var(--pntu-line-strong) !important;
	border-radius: var(--pntu-radius-pill) !important;
	background: #fff !important;
	color: var(--pntu-ink) !important;
	font-size: .88rem;
	font-weight: 600;
}
html body .pntu-toggler-bars {
	width: 18px;
	height: 2px;
	background: var(--pntu-ink);
	box-shadow: 0 -6px 0 var(--pntu-ink), 0 6px 0 var(--pntu-ink);
	border-radius: 2px;
}

/* Banner định danh trường: nền xanh tràn 100% (trùng màu #009047 của ảnh nên không thấy mối nối),
   biểu trưng giữ nguyên tỉ lệ gốc 943x109 nên không bị nhoè. */
html body .pntu-banner {
	background: #009047;
	line-height: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding-block: clamp(6px, 1vw, 14px);
}
html body .pntu-banner-img {
	display: block;
	width: 943px;
	max-width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
}

/* --------------------------------------------------------------------------
   4. Trang chủ: hero, số hiện tại, thông báo, nội dung giới thiệu
   -------------------------------------------------------------------------- */
html body .container-homepage-issue { padding-top: 0; }

html body .homepage-image {
	margin: 0 0 1.25rem;
	border-radius: var(--pntu-radius);
	overflow: hidden;
	background: var(--pntu-green-900);
	box-shadow: var(--pntu-shadow);
	position: relative;
}
html body .homepage-image img {
	display: block;
	width: 100% !important;
	height: auto;
	max-height: 420px;
	object-fit: cover;
	object-position: center 35%;
}
html body .homepage-image-behind-issue { margin-bottom: 1.25rem; }

/* Khối "Số hiện tại" thành card có nhãn + CTA */
html body .homepage-issue-current {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .3rem .7rem;
	margin: 0 0 .6rem !important;
	background: var(--pntu-green-050);
	color: var(--pntu-green-900) !important;
	border-radius: var(--pntu-radius-pill);
	font-size: .78rem !important;
	font-weight: 700 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
}
html body .homepage-issue-identifier {
	color: var(--pntu-ink) !important;
	font-size: clamp(1.25rem, 1.05rem + 1vw, 1.6rem) !important;
	font-weight: 700 !important;
	margin-bottom: .25rem !important;
}
html body .homepage-issue-published {
	color: var(--pntu-muted) !important;
	font-size: .86rem !important;
	font-weight: 500 !important;
	margin-bottom: 1rem;
}

html body .homepage-issue-header {
	background: #fff;
	border: 1px solid var(--pntu-line);
	border-radius: var(--pntu-radius);
	padding: 1.25rem;
	box-shadow: var(--pntu-shadow-sm);
	margin-bottom: 1.5rem;
}
html body .homepage-issue-cover {
	border-radius: var(--pntu-radius-sm);
	box-shadow: var(--pntu-shadow);
	width: 100%;
	max-width: 240px;
	display: block;
	margin-inline: auto;
}
html body .homepage-issue-description { color: var(--pntu-body); }

/* Thông báo trên trang chủ: thẻ đồng đều, có ngày */
html body .homepage-announcements {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin: 0 0 1.75rem;
}
html body .homepage-announcement {
	background: #fff;
	border: 1px solid var(--pntu-line);
	border-left: 4px solid var(--pntu-green);
	border-radius: var(--pntu-radius-sm);
	padding: 1rem 1.1rem;
	box-shadow: var(--pntu-shadow-sm);
	display: flex;
	flex-direction: column;
	gap: .4rem;
	width: auto !important;
	max-width: none !important;
	flex: initial !important;
}
html body .homepage-announcement-title {
	font-size: 1rem !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}
html body .homepage-announcement p {
	color: var(--pntu-muted);
	font-size: .9rem;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
html body .homepage-announcement-date { color: var(--pntu-muted); font-size: .78rem; }
html body .homepage-announcement-read-more,
html body .homepage-announcements .read_more {
	margin-top: auto;
	font-size: .88rem;
	font-weight: 600;
	color: var(--pntu-green-700) !important;
}

/* Khối giới thiệu (additionalHomeContent) + sidebar */
html body .page-content > .row { row-gap: 1.25rem; }
html body .page-content > .row > [class*="col-"] > h2:first-child,
html body .page-content > .row > [class*="col-"] > .h2:first-child { margin-top: 0; }

/* --------------------------------------------------------------------------
   5. Lưu trữ: lưới thẻ số phát hành
   -------------------------------------------------------------------------- */
html body .archive-year-separator,
html body .pntu-year {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 1.75rem 0 .9rem !important;
	padding: .35rem .9rem !important;
	background: var(--pntu-ink) !important;
	color: #fff !important;
	border-radius: var(--pntu-radius-pill) !important;
	font-size: .95rem !important;
	font-weight: 700 !important;
	width: auto !important;
	text-align: left !important;
}
html body .archive-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(158px, 1fr));
	gap: 1rem;
	margin: 0 0 1rem;
}
html body .archive-issue-item {
	background: #fff;
	border: 1px solid var(--pntu-line);
	border-radius: var(--pntu-radius-sm);
	padding: .7rem;
	box-shadow: var(--pntu-shadow-sm);
	transition: transform .15s ease, box-shadow .15s ease;
	display: flex;
	flex-direction: column;
	gap: .55rem;
}
html body .archive-issue-item:hover { transform: translateY(-2px); box-shadow: var(--pntu-shadow); }
html body .archive-issue-item img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 8px;
}
html body .archive-issue-item .card-title,
html body .archive-issue-item h3 { font-size: .95rem !important; margin: 0 !important; line-height: 1.35 !important; }
html body .archive-issue-item .btn { width: 100%; min-height: 36px; font-size: .82rem !important; }

/* --------------------------------------------------------------------------
   6. Trang số phát hành (mục lục) & tóm tắt bài
   -------------------------------------------------------------------------- */
html body .page-issue-cover {
	border-radius: var(--pntu-radius-sm);
	box-shadow: var(--pntu-shadow);
	width: 100%;
	max-width: 260px;
	margin-inline: auto;
	display: block;
}
html body .issue-toc-section { margin-bottom: 1.75rem; }
html body .issue-toc-section-title {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .55rem 0 .55rem .8rem;
	border-left: 4px solid var(--pntu-green);
	background: linear-gradient(90deg, var(--pntu-green-050), transparent);
	color: var(--pntu-ink) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: .01em;
	text-transform: uppercase;
	margin: 0 0 .75rem !important;
}

/* Thẻ bài trong mục lục: article_summary */
html body .article-summary,
html body .obj_article_summary {
	background: #fff;
	border: 1px solid var(--pntu-line);
	border-left: 4px solid var(--pntu-green);
	border-radius: var(--pntu-radius-sm);
	padding: .95rem 1.05rem;
	margin-bottom: .85rem;
	box-shadow: var(--pntu-shadow-sm);
	transition: box-shadow .15s ease, transform .15s ease;
}
html body .article-summary:hover,
html body .obj_article_summary:hover { box-shadow: var(--pntu-shadow); transform: translateY(-1px); }
html body .article-summary-title,
html body .obj_article_summary .title {
	font-size: 1.02rem !important;
	line-height: 1.45 !important;
	margin: 0 0 .45rem !important;
}
html body .article-summary-title a { color: var(--pntu-ink) !important; }
html body .article-summary-title a:hover { color: var(--pntu-green-700) !important; }
html body .article-summary-authors { color: var(--pntu-muted); font-size: .86rem; margin-bottom: .35rem; }
html body .article-summary-pages { color: var(--pntu-muted); font-size: .82rem; }
html body .article-summary-date, html body .article-summary-doi { color: var(--pntu-muted); font-size: .82rem; }

/* --------------------------------------------------------------------------
   7. Trang chi tiết bài báo
   -------------------------------------------------------------------------- */
html body .page-article { padding-top: 1.25rem; }
html body .article-details { --pntu-article-gap: 1.5rem; }

html body .article-details-title,
html body .article-details h1 {
	font-size: clamp(1.35rem, 1.1rem + 1.4vw, 1.95rem) !important;
	line-height: 1.32 !important;
	margin-bottom: .5rem !important;
}
html body .article-details-section {
	display: inline-flex;
	align-items: center;
	padding: .22rem .65rem;
	background: var(--pntu-green-050);
	color: var(--pntu-green-900);
	border-radius: var(--pntu-radius-pill);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-bottom: .6rem;
}

html body .article-details-authors {
	border-top: 1px solid var(--pntu-line);
	border-bottom: 1px solid var(--pntu-line);
	padding: .75rem 0;
	margin-bottom: 1rem;
}
html body .article-details-author { margin-bottom: .35rem; }
html body .article-details-author-name.small-screen {
	display: block;
	font-weight: 600;
	color: var(--pntu-ink);
	font-size: .95rem;
}
html body .article-details-author-affiliation { color: var(--pntu-muted); font-size: .84rem; }

html body .article-details-block {
	background: #fff;
	border: 1px solid var(--pntu-line);
	border-radius: var(--pntu-radius-sm);
	padding: 1rem 1.1rem;
	margin-bottom: 1rem;
	box-shadow: var(--pntu-shadow-sm);
}
html body .article-details-abstract {
	border-left: 4px solid var(--pntu-navy);
	background: #fff;
}
html body .article-details-abstract h2,
html body .article-details-abstract .h2 { font-size: .95rem !important; letter-spacing: .05em; text-transform: uppercase; color: var(--pntu-navy) !important; }
html body .article-details-abstract p { color: var(--pntu-body); }

html body .article-details-keywords { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
html body .article-details-keywords .value,
html body .article-details-keywords a {
	display: inline-block;
	padding: .22rem .6rem;
	background: var(--pntu-bg);
	border: 1px solid var(--pntu-line);
	border-radius: var(--pntu-radius-pill);
	font-size: .82rem;
	margin: 0;
}

/* CTA tải bản PDF: nổi bật, màu thương hiệu */
html body .article-details-galleys .obj_galley_link {
	background: var(--pntu-green) !important;
	border-color: var(--pntu-green) !important;
	color: #fff !important;
	font-size: .95rem !important;
	padding: .5rem 1.1rem !important;
	max-width: 100%;
}
html body .article-details-galleys .obj_galley_link:hover { background: var(--pntu-green-700) !important; }
html body .article-details-galleys .galley-link__size,
html body .article-details-galleys .file_size { color: rgba(255, 255, 255, .85); font-size: .8rem; }

html body .article-details-how-to-cite { background: var(--pntu-bg); }
html body .article-details-how-to-cite .citation { font-size: .88rem; color: var(--pntu-muted); }

/* Cột phụ (cover, galley, DOI) dính khi cuộn trên desktop */
html body .article-details-sidebar,
html body .page-article .col-lg-3 { position: relative; }

/* --------------------------------------------------------------------------
   8. Thông báo (danh sách + chi tiết)
   -------------------------------------------------------------------------- */
html body .page-announcement,
html body .announcement {
	background: #fff;
	border: 1px solid var(--pntu-line);
	border-radius: var(--pntu-radius-sm);
	padding: 1.1rem 1.2rem;
	margin-bottom: 1rem;
	box-shadow: var(--pntu-shadow-sm);
}
html body .page-announcement h2,
html body .page-announcement .h2 { font-size: 1.12rem !important; margin-bottom: .4rem !important; }
html body .page-announcement .announcement-date,
html body .page-announcement time { color: var(--pntu-muted); font-size: .82rem; }

/* --------------------------------------------------------------------------
   9. Biểu mẫu, đăng nhập/đăng ký
   -------------------------------------------------------------------------- */
html body .form-control {
	min-height: 44px;
	padding: .55rem .8rem;
	border: 1px solid var(--pntu-line-strong) !important;
	border-radius: var(--pntu-radius-sm) !important;
	font-size: 1rem;
	color: var(--pntu-ink);
	background-color: #fff;
}
html body .form-control:focus {
	border-color: var(--pntu-green) !important;
	box-shadow: 0 0 0 3px rgba(0, 135, 81, .15) !important;
}
html body label, html body .form-label { font-weight: 600; color: var(--pntu-ink); font-size: .9rem; }

/* --------------------------------------------------------------------------
   10. Footer
   -------------------------------------------------------------------------- */
html body .site-footer {
	background: linear-gradient(135deg, var(--pntu-green-900) 0%, var(--pntu-green-700) 60%, var(--pntu-green) 100%) !important;
	color: #eaf5ef !important;
	padding: 2.25rem 0 1.25rem !important;
	margin-top: 2.5rem !important;
	border-top: 0 !important;
}
html body .site-footer a { color: #fff !important; }
html body .site-footer .site-footer-content { color: #dff0e7; font-size: .9rem; line-height: 1.7; }
html body .site-footer h2, html body .site-footer h3 {
	color: #fff !important;
	font-size: .95rem !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-bottom: .6rem !important;
}
html body .site-footer .site-footer-sidebar { border-top: 1px solid rgba(255, 255, 255, .2); padding-top: 1rem; margin-top: .5rem; }

/* --------------------------------------------------------------------------
   11. Bảng, iframe, ảnh — chống tràn ngang trên mobile
   -------------------------------------------------------------------------- */
html body table { width: 100%; }
html body .table-responsive,
html body table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
html body table thead, html body table tbody { display: table; width: 100%; }
html body iframe, html body embed, html body object { max-width: 100%; }
html body .pkp_structure_content iframe { width: 100%; }

/* --------------------------------------------------------------------------
   12. Breakpoints
   -------------------------------------------------------------------------- */
@media (min-width: 576px) {
	html body .homepage-announcements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
	html body .archive-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
	html body .homepage-announcements { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	html body .pntu-logo-img { height: 64px; max-width: 64px; }
	html body .pntu-masthead { padding-block: 18px; }
}

@media (min-width: 992px) {
	html body .article-details-sidebar,
	html body .page-article .col-lg-3 {
		position: sticky;
		top: 74px;
		align-self: flex-start;
	}
}

/* --- Mobile & tablet: thu gọn masthead, menu dạng danh sách --- */
@media (max-width: 991.98px) {
	html body .pntu-toggler { display: inline-flex; }
	html body .pntu-topbar-org { max-width: 55vw; }
	html body .pntu-brand-actions .pntu-btn-ghost { display: none; }
	html body .pntu-nav .navbar-collapse {
		border-top: 1px solid var(--pntu-line);
		margin-top: .35rem;
		padding: .35rem 0 .75rem;
	}
	html body .pntu-nav .navbar-nav { flex-direction: column; align-items: stretch; gap: 2px; }
	html body .pntu-nav .nav-link {
		min-height: 46px;
		border-radius: var(--pntu-radius-sm) !important;
		padding: .6rem .75rem !important;
		font-size: 1rem !important;
	}
	html body .pntu-nav-user {
		margin-left: 0;
		flex-direction: column;
		align-items: stretch;
		border-top: 1px dashed var(--pntu-line);
		margin-top: .4rem;
		padding-top: .4rem;
	}
	html body .homepage-image img { max-height: 260px; }
}

@media (max-width: 575.98px) {
	:root { --pntu-gutter: 14px; }
	html body { font-size: 16px !important; }
	html body .pntu-topbar-note, html body .pntu-dot { display: none; }
	html body .pntu-logo-img { height: 44px; max-width: 44px; }
	html body .pntu-brand-sub { display: none; }
	html body .pntu-brand-actions { display: none; }
	html body .pntu-masthead { gap: 10px; padding-block: 10px; }
	html body .homepage-image { border-radius: var(--pntu-radius-sm); }
	html body .homepage-image img { max-height: 200px; }
	html body .homepage-issue-header { padding: .9rem; }
	html body .homepage-issue-cover { max-width: 190px; }
	html body .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
	html body .article-details-block { padding: .85rem .9rem; }
	html body .site-footer { padding: 1.75rem 0 1rem !important; }
	html body .page-header h1::after { width: 44px; height: 3px; }
}

/* --------------------------------------------------------------------------
   13. Tiện ích
   -------------------------------------------------------------------------- */
html body .pntu-section-title {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 1.75rem 0 .85rem;
}
html body .pntu-section-title::before {
	content: "";
	width: 6px;
	height: 22px;
	border-radius: 3px;
	background: linear-gradient(180deg, var(--pntu-green), var(--pntu-navy));
}
html body .pntu-muted { color: var(--pntu-muted) !important; }
html body .pntu-card {
	background: #fff;
	border: 1px solid var(--pntu-line);
	border-radius: var(--pntu-radius);
	padding: 1.15rem 1.25rem;
	box-shadow: var(--pntu-shadow-sm);
}
html body .sr-only-focusable:active { position: static; width: auto; height: auto; }

/* Ghi đè "khối xanh" cũ của homepage-current-issue.css: dùng chip + chữ trên nền trắng */
html body .homepage-issue-current {
	background: var(--pntu-green-050) !important;
	color: var(--pntu-green-900) !important;
	box-shadow: none !important;
	border-radius: var(--pntu-radius-pill) !important;
	padding: .3rem .8rem !important;
	letter-spacing: .06em !important;
	text-align: left !important;
	display: inline-flex !important;
	width: auto !important;
}
html body .homepage-issue-current::before { display: none !important; content: none !important; }
html body .homepage-issue-identifier {
	background: none !important;
	color: var(--pntu-ink) !important;
	text-align: left !important;
	padding: 0 !important;
	margin: .55rem 0 .15rem !important;
	box-shadow: none !important;
}
html body .homepage-issue-published {
	background: none !important;
	color: var(--pntu-muted) !important;
	text-align: left !important;
	padding: 0 0 .35rem !important;
	font-style: normal !important;
	box-shadow: none !important;
}

/* Mobile: vẫn giữ nút Nộp bài (thu gọn) */
@media (max-width: 575.98px) {
	html body .pntu-brand-actions { display: flex !important; }
	html body .pntu-brand-actions .pntu-btn { min-height: 36px; padding: .3rem .7rem; font-size: .8rem !important; }
	html body .pntu-brand-actions .pntu-btn-ghost { display: none; }
	html body .pntu-masthead { flex-wrap: nowrap; }
	html body .pntu-brand-sub { display: none !important; }
}

/* Desktop: không hiện nút Menu (Bootstrap lo phần này) */
@media (min-width: 992px) {
	html body .pntu-toggler { display: none !important; }
	html body .pntu-nav .navbar-collapse { display: flex !important; }
}

/* --------------------------------------------------------------------------
   12. Tinh chỉnh 30/10/2026: nav gọn, tiêu đề chuyên mục, thẻ bài, hero, footer
   -------------------------------------------------------------------------- */

/* 12.1 Nav: gọn hơn, hiện chữ "Giới thiệu", ẩn icon hamburger giả, gạch chân mục hiện tại */
html body .pntu-nav { padding-block: 0 !important; }
html body .pntu-nav .pntu-nav-inner { min-height: 0 !important; padding-block: 0 !important; }
html body .pntu-nav .nav-link {
	padding: .8rem .9rem !important;
	font-size: .93rem !important;
	font-weight: 600 !important;
	color: var(--pntu-ink) !important;
	border-radius: 0 !important;
	position: relative;
}
html body .pntu-nav .nav-link::after {
	content: "";
	position: absolute;
	left: .9rem; right: .9rem; bottom: .45rem;
	height: 2px;
	background: var(--pntu-green);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .18s ease;
}
html body .pntu-nav .nav-link:hover::after,
html body .pntu-nav .nav-item.active > .nav-link::after,
html body .pntu-nav .nmi_type_current .nav-link::after { transform: scaleX(1); }
html body .pntu-nav .dropdown-icon-burger { display: none !important; }
html body .pntu-nav .dropdown-icon-only .dropdown-text {
	display: inline !important;
	position: static !important;
	width: auto !important; height: auto !important;
	clip: auto !important; clip-path: none !important; overflow: visible !important;
	white-space: nowrap;
	font-size: .93rem !important;
}
html body .pntu-nav .dropdown-icon-only { padding-right: 1.6rem !important; }
html body .pntu-nav .dropdown-toggle::after { margin-left: .3rem; }

/* 12.2 Tiêu đề chuyên mục trong mục lục: thanh xanh gọn, không gradient lạ */
html body .issue-toc-section-title {
	background: var(--pntu-green) !important;
	background-image: none !important;
	color: #fff !important;
	border-left: 0 !important;
	border-radius: 8px;
	padding: .5rem .9rem !important;
	font-size: .78rem !important;
	letter-spacing: .1em !important;
	text-transform: uppercase;
	box-shadow: 0 2px 6px rgba(0, 77, 46, .16);
	margin: 0 0 .6rem !important;
}
html body .issue-toc-section { margin-bottom: 1.4rem; }

/* 12.3 Thẻ bài: gọn, mật độ cao hơn, nút PDF nhỏ lại */
html body .article-summary,
html body .obj_article_summary {
	padding: .7rem .9rem !important;
	margin-bottom: .55rem !important;
	border-radius: 10px !important;
	border-left-width: 3px !important;
}
html body .article-summary-title,
html body .obj_article_summary .title {
	font-size: .98rem !important;
	line-height: 1.4 !important;
	margin: 0 0 .3rem !important;
}
html body .article-summary-authors { font-size: .8rem !important; margin-bottom: .2rem !important; }
html body .obj_galley_link,
html body .article-summary .obj_galley_link.pdf,
html body .obj_article_summary .obj_galley_link {
	font-size: .78rem !important;
	padding: .25rem .7rem !important;
	min-height: 0 !important;
	line-height: 1.6 !important;
}

/* 12.4 Hero: giới hạn chiều cao để không chiếm cả màn hình */
html body .homepage-image img { max-height: 340px; }
@media (max-width: 991.98px) {
	html body .homepage-image img { max-height: 260px; }
}
@media (max-width: 575.98px) {
	html body .homepage-image img { max-height: 200px; }
}

/* 12.5 Footer: logo đúng tỉ lệ, cột thoáng, liên kết rõ */
html body .site-footer { margin-top: 2.5rem; }
html body .footer-columns {
	display: grid;
	grid-template-columns: minmax(140px, 200px) 1fr 1.25fr;
	gap: 2rem;
	max-width: var(--pntu-wrap);
	margin-inline: auto;
	padding: 2.2rem clamp(14px, 3vw, 28px) 1.6rem;
	align-items: start;
}
html body .footer-column-1 { display: flex; align-items: flex-start; }
html body .footer-logo {
	width: auto !important;
	max-width: 100% !important;
	max-height: 96px !important;
	height: auto !important;
	object-fit: contain !important;
}
html body .footer-column h3,
html body .footer-column h4 {
	font-size: .8rem !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: .8rem !important;
	opacity: .9;
}
html body .footer-column ul { list-style: none; padding: 0; margin: 0; }
html body .footer-column li { margin-bottom: .45rem; font-size: .88rem; line-height: 1.5; }
html body .footer-column a { color: inherit !important; text-decoration: none; }
html body .footer-column a:hover { text-decoration: underline; }
@media (max-width: 767.98px) {
	html body .footer-columns { grid-template-columns: 1fr; gap: 1.4rem; text-align: left; }
	html body .footer-column-1 { justify-content: flex-start; }
}

/* 12.6 Mobile: thanh nav gọn lại (chỉ còn nút Danh mục), tránh dải trắng trống */
@media (max-width: 991.98px) {
	html body .pntu-nav { border-top: 1px solid var(--pntu-line); }
	html body .pntu-nav .pntu-nav-inner { justify-content: flex-start; }
	html body .pntu-toggler {
		margin: 6px 0 6px 0 !important;
		padding: .35rem .8rem !important;
		border-radius: 999px !important;
	}
	html body .pntu-nav .navbar-collapse { padding-bottom: .6rem; }
	html body .pntu-topbar-note, html body .pntu-topbar-org + .pntu-topbar-meta .pntu-dot { display: none; }
	html body .pntu-topbar-inner { justify-content: space-between; }
}

/* 12.7 Khối "Thông tin cơ bản" ở trang chủ: đóng thành card có nhấn xanh */
html body .homepage-additional-content { margin-top: 2rem; }
html body .pntu-facts {
	background: #fff;
	border: 1px solid var(--pntu-line);
	border-left: 4px solid var(--pntu-green);
	border-radius: var(--pntu-radius-sm);
	padding: 1.1rem 1.25rem 1.25rem;
	box-shadow: var(--pntu-shadow-sm);
	text-align: left;
	max-width: 780px;
	margin: 1.5rem auto 0;
}
html body .pntu-facts h2 {
	font-size: .82rem !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pntu-green-700);
	margin: 0 0 .8rem !important;
}
html body .pntu-facts ul { list-style: none; padding: 0; margin: 0; }
html body .pntu-facts li {
	font-size: .93rem;
	line-height: 1.55;
	color: var(--pntu-body);
	padding: .3rem 0 .3rem 1.1rem;
	position: relative;
	border-bottom: 1px dashed rgba(0, 135, 81, .18);
}
html body .pntu-facts li:last-child { border-bottom: 0; }
html body .pntu-facts li::before {
	content: "";
	position: absolute; left: 0; top: .85rem;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--pntu-green);
}
html body .pntu-facts strong { color: var(--pntu-ink); }
html body .homepage-additional-content > .row > div { text-align: center; }

/* 12.8 Lưu trữ: bỏ dòng tiêu đề trùng với nhãn "Tập x Số y", bìa cao đều nhau */
html body .issue-summary-title { display: none !important; }
html body .issue-summary-cover {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	background: var(--pntu-green-050);
}
html body .issue-summary .card-body { padding: .7rem .75rem .8rem; }
html body .issue-summary-series { font-size: .95rem !important; margin: 0 0 .35rem !important; }
html body .issue-summary-date { font-size: .78rem !important; color: var(--pntu-muted) !important; margin: 0; }
html body .issue-summary:hover { box-shadow: var(--pntu-shadow); transform: translateY(-2px); }

/* 12.9 Trang Lưu trữ: tiêu đề canh giữa thì gạch nhấn cũng canh giữa (trước đây lệch sang trái) */
html body .page-archives-header { text-align: center; }
html body .page-archives-header h1 { display: inline-block; padding-bottom: .95rem !important; margin-bottom: .55rem !important; }
html body .page-archives-header > p,
html body .page-archives-header .page-header-subtitle { margin-top: .35rem !important; }
html body .page-archives-header h1::after { left: 50% !important; transform: translateX(-50%); }
html body .page-archives-header .page-header-subtitle,
html body .page-archives-header p { text-align: center; }

/* 31/10/2026: khối thông tin tác giả chi tiết chỉ hiện khi bấm dấu + (bản LESS không được biên dịch) */
html body .article-details-author.hideAuthor { display: none !important; }
html body .article-details-author:not(.hideAuthor) { display: block; }

/* Trang chính sách: bảng dễ đọc hơn */
.page-content table{font-size:.95rem}
.page-content table th,.page-content table td{vertical-align:top}
@media (min-width:768px){
  .page-content table th:first-child,.page-content table td:first-child{width:30%}
}
@media (max-width:600px){
  .page-content table{font-size:.9rem}
  .page-content table th,.page-content table td{padding:.35rem .45rem}
}

/* Đăng nhập một lần + ghi chú đăng ký */
.login-sso-block{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid #e2e8e5}
.login-sso-or{position:relative;text-align:center;color:#5d7386;font-size:.85rem;margin:0 0 1rem}
.login-sso-or span{background:#fff;padding:0 .6rem;position:relative;z-index:1}
.login-sso-or:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #e2e8e5}
.login-sso-btn{display:block;width:100%;border:1.5px solid #008751;color:#006d41;font-weight:600;padding:.6rem .9rem;border-radius:999px;text-align:center}
.login-sso-btn:hover{background:#e8f5ee;text-decoration:none;color:#004d2e}
.login-sso-note{margin-top:.7rem;font-size:.82rem;color:#5d7386;text-align:center;line-height:1.5}
.pnt-register-hint{margin-top:1.4rem;padding:1rem 1.1rem;background:#f4f7f5;border-left:3px solid #008751;border-radius:6px;font-size:.88rem;color:#33475b}
.pnt-register-hint p{margin:0 0 .5rem}
.pnt-register-hint p:last-child{margin-bottom:0}
