/* ==========================================================
   MNS Doanh Nghiệp — Main Stylesheet
   Version: 1.0.0
   Color: Navy #0F3460 + Cam #E07B00 (Option A từ mockup)
   ========================================================== */

/* ----------------------------------------------------------
   1. RESET & BASE
   ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, 'Liberation Sans', sans-serif;
	font-size: 15px;
	line-height: 1.65;
	color: #0F172A;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; height: auto; display: block; }
a { color: #E07B00; text-decoration: none; }
a:hover { text-decoration: underline; }
button { font-family: inherit; cursor: pointer; }
h1,h2,h3,h4,h5,h6 { margin: 0 0 0.5em; font-weight: 600; line-height: 1.3; color: #0F172A; }

.mns-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ----------------------------------------------------------
   2. BUTTONS
   ---------------------------------------------------------- */
.mns-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 11px 20px;
	border-radius: 7px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid transparent;
	transition: all 0.15s ease;
	cursor: pointer;
}
.mns-btn:hover { text-decoration: none; transform: translateY(-1px); }
.mns-btn-orange { background: #E07B00; color: #fff; }
.mns-btn-orange:hover { background: #C46A00; color: #fff; }
.mns-btn-navy { background: #0F3460; color: #fff; }
.mns-btn-navy:hover { background: #0A2849; color: #fff; }
.mns-btn-outline { background: transparent; color: #0F3460; border-color: #CBD5E1; }
.mns-btn-outline:hover { border-color: #0F3460; color: #0F3460; }
.mns-btn-outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,0.4); }
.mns-btn-outline-white:hover { background: rgba(255,255,255,0.1); color: #fff; }
.mns-btn-block { width: 100%; }

/* ----------------------------------------------------------
   3. HEADER
   ---------------------------------------------------------- */
.mns-header {
	background: #fff;
	border-bottom: 1px solid #E2E8F0;
	position: sticky;
	top: 0;
	z-index: 100;
}
.mns-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 20px;
}
.mns-logo-link { text-decoration: none; flex-shrink: 0; }
.mns-logo-link:hover, .mns-logo-link:hover * { text-decoration: none; }
.mns-logo-fallback { display: flex; align-items: center; gap: 10px; }
.mns-logo-mark {
	width: 34px; height: 34px;
	background: #0F3460;
	border-radius: 7px;
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 600; font-size: 13px;
	letter-spacing: 0.5px;
}
.mns-logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.mns-logo-name { font-weight: 600; font-size: 20px; color: #0F3460; }
.mns-logo-tagline { font-size: 11px; color: #475569; margin-top: 2px; }

.mns-primary-nav { flex: 1; display: flex; justify-content: center; }
.mns-menu {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: center;
}
.mns-menu li { position: relative; }
.mns-menu li a {
	color: #1F2937;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	padding: 9px 16px;
	border-radius: 8px;
	display: inline-block;
	transition: color 0.15s ease;
	white-space: nowrap;
}
.mns-menu li a:hover {
	color: #E07B00;
	text-decoration: none;
}
.mns-menu li.current-menu-item > a,
.mns-menu li.current-menu-parent > a,
.mns-menu li.current-menu-ancestor > a {
	color: #E07B00;
}

/* Sub-menu (dropdown cấp 2) */
.mns-menu li ul.sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 9px;
	padding: 6px;
	margin: 6px 0 0;
	list-style: none;
	box-shadow: 0 8px 24px -8px rgba(15,52,96,0.15);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: all 0.18s ease;
	z-index: 100;
}
.mns-menu li:hover > ul.sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.mns-menu li ul.sub-menu li a {
	display: block;
	padding: 9px 12px;
	border-radius: 6px;
	font-size: 13px;
	white-space: normal;
}

.mns-header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.mns-hotline-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #E07B00;
	color: #fff;
	padding: 9px 14px;
	border-radius: 6px;
	font-weight: 500;
	font-size: 13px;
	text-decoration: none;
}
.mns-hotline-btn:hover { background: #C46A00; color: #fff; text-decoration: none; }
.mns-hamburger {
	display: none;
	background: transparent;
	border: none;
	flex-direction: column;
	gap: 4px;
	padding: 6px;
}
.mns-hamburger span {
	display: block;
	width: 22px;
	height: 2px;
	background: #0F172A;
	border-radius: 1px;
}

@media (max-width: 900px) {
	.mns-primary-nav { display: none; }
	.mns-hotline-btn { display: none; }
	.mns-hamburger { display: flex; }
	.mns-logo-tagline { display: none; }
}

/* ----------------------------------------------------------
   4. DRAWER MENU MOBILE
   ---------------------------------------------------------- */
.mns-drawer-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15,52,96,0.5);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
	z-index: 200;
}
.mns-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 85%;
	max-width: 320px;
	background: #fff;
	transform: translateX(100%);
	transition: transform 0.28s ease-out;
	z-index: 201;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}
body.mns-drawer-open .mns-drawer-overlay { opacity: 1; pointer-events: auto; }
body.mns-drawer-open .mns-drawer { transform: translateX(0); }
body.mns-drawer-open { overflow: hidden; }

.mns-drawer-header {
	padding: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid #E2E8F0;
}
.mns-drawer-title {
	display: flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
	flex: 1;
}
.mns-drawer-title .mns-logo-mark {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
}
.mns-drawer-brand {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.25;
}
.mns-drawer-brand-name {
	font-weight: 600;
	font-size: 14px;
	color: #0F3460;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mns-drawer-brand-sub {
	font-size: 11px;
	color: #475569;
	margin-top: 1px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mns-drawer-close {
	background: transparent;
	border: none;
	font-size: 24px;
	color: #475569;
	width: 32px;
	height: 32px;
	border-radius: 6px;
	flex-shrink: 0;
	cursor: pointer;
}
.mns-drawer-close:hover { background: #F4F6F9; }

.mns-drawer-search { padding: 12px 16px; border-bottom: 1px solid #F4F6F9; }
.mns-drawer-search form {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #F4F6F9;
	border-radius: 8px;
	padding: 0 12px;
}
.mns-drawer-search-icon {
	color: #94A3B8;
	flex-shrink: 0;
}
.mns-drawer-search input {
	border: none;
	background: transparent;
	padding: 10px 0;
	font-size: 13px;
	width: 100%;
	outline: none;
	color: #0F172A;
}

.mns-drawer-nav { flex: 1; padding: 12px 0; }
.mns-drawer-section-label {
	padding: 10px 16px 6px;
	font-size: 11px;
	font-weight: 600;
	color: #475569;
	letter-spacing: 0.3px;
}
.mns-drawer-item {
	padding: 13px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #0F172A;
	text-decoration: none;
	border-left: 3px solid transparent;
	transition: background 0.12s ease;
}
.mns-drawer-item:hover { background: #F9FAFB; text-decoration: none; }

/* Icon LỚN cho hành động chính (Section 1) */
.mns-drawer-icon {
	width: 38px;
	height: 38px;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.mns-drawer-icon svg { width: 20px; height: 20px; }
.mns-drawer-icon-thanh-lap { background: #FEF0E0; color: #E07B00; }
.mns-drawer-icon-thay-doi  { background: #E6F1FB; color: #0F3460; }
.mns-drawer-icon-tam-ngung { background: #FAEEDA; color: #854F0B; }
.mns-drawer-icon-giai-the  { background: #FCEBEB; color: #A32D2D; }

/* Icon NHỎ cho sub-section (Tài liệu, Hỗ trợ) */
.mns-drawer-icon-mini {
	width: 30px;
	height: 30px;
	border-radius: 7px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.mns-drawer-icon-mini svg { width: 16px; height: 16px; }
.mns-drawer-icon-bieumau { background: #E6F1FB; color: #0F3460; }
.mns-drawer-icon-banggia { background: #FEF0E0; color: #E07B00; }
.mns-drawer-icon-kienthuc { background: #F0E7FB; color: #5B21B6; }
.mns-drawer-icon-lienhe   { background: #DCFCE7; color: #15803D; }
.mns-drawer-icon-faq      { background: #FEF0E0; color: #854F0B; }
.mns-drawer-icon-zalo     { background: #E6F1FB; color: #0068FF; }

.mns-drawer-text { flex: 1; min-width: 0; }
.mns-drawer-name {
	font-size: 14px;
	font-weight: 500;
	color: #0F172A;
	line-height: 1.35;
	display: block;
}
.mns-drawer-desc {
	font-size: 11px;
	color: #475569;
	margin-top: 2px;
	display: block;
}
.mns-drawer-arrow { color: #94A3B8; font-size: 16px; flex-shrink: 0; }

.mns-drawer-footer {
	padding: 12px 16px 16px;
	border-top: 1px solid #E2E8F0;
	background: #F9FAFB;
}
.mns-drawer-hours { font-size: 10px; color: #475569; text-align: center; margin-bottom: 8px; }
.mns-drawer-cta { display: flex; gap: 7px; }
.mns-drawer-cta .mns-btn { flex: 1; padding: 10px; font-size: 12px; }

/* ----------------------------------------------------------
   5. HERO TRANG CHỦ
   ---------------------------------------------------------- */
.mns-hero {
	background: #0F3460;
	color: #fff;
	padding: 50px 0 60px;
}
.mns-hero-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 48px;
	align-items: center;
}
.mns-hero-content { min-width: 0; }
.mns-hero-badge {
	display: inline-block;
	background: rgba(224,123,0,0.2);
	color: #FFC788;
	padding: 5px 12px;
	border-radius: 20px;
	font-size: 12px;
	margin-bottom: 16px;
	font-weight: 500;
}
.mns-hero-title { font-size: 32px; font-weight: 600; line-height: 1.25; margin: 0 0 14px; color: #fff; }
.mns-hero-desc { font-size: 15px; opacity: 0.92; margin: 0 0 24px; line-height: 1.6; }
.mns-hero-search {
	background: #fff;
	border-radius: 9px;
	padding: 5px;
	display: flex;
	gap: 6px;
	margin-bottom: 16px;
}
.mns-hero-search input {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	padding: 11px 14px;
	font-size: 14px;
	color: #0F172A;
	outline: none;
}
.mns-hero-search button {
	background: #E07B00;
	color: #fff;
	border: none;
	padding: 11px 22px;
	border-radius: 6px;
	font-weight: 500;
	font-size: 14px;
}
.mns-hero-tags {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	font-size: 12px;
}
.mns-hero-tags-label { opacity: 0.85; }
.mns-hero-tags a {
	background: rgba(255,255,255,0.12);
	color: #fff;
	padding: 4px 11px;
	border-radius: 14px;
	text-decoration: none;
}
.mns-hero-tags a:hover { background: rgba(255,255,255,0.2); }

/* Card visual bên phải hero */
.mns-hero-visual { display: flex; justify-content: flex-end; }
.mns-hero-card {
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 14px;
	padding: 24px;
	width: 100%;
	max-width: 320px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.mns-hero-card-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}
.mns-hero-stars { color: #FFC788; font-size: 15px; letter-spacing: 1px; }
.mns-hero-rating-num { font-size: 14px; font-weight: 600; color: #fff; }
.mns-hero-card-num {
	font-size: 36px;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.5px;
	line-height: 1;
	margin-bottom: 4px;
}
.mns-hero-card-label { font-size: 13px; color: rgba(255,255,255,0.92); }
.mns-hero-card-divider { height: 1px; background: rgba(255,255,255,0.2); margin: 18px 0; }
.mns-hero-card-list { list-style: none; padding: 0; margin: 0 0 18px; }
.mns-hero-card-list li {
	font-size: 13px;
	color: rgba(255,255,255,0.92);
	padding-left: 22px;
	position: relative;
	margin-bottom: 8px;
	line-height: 1.5;
}
.mns-hero-card-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: #22C55E;
	font-weight: 700;
}
.mns-hero-card-cta {
	display: block;
	background: #E07B00;
	color: #fff;
	text-align: center;
	padding: 12px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: background 0.15s ease;
}
.mns-hero-card-cta:hover { background: #C46A00; color: #fff; text-decoration: none; }

@media (max-width: 900px) {
	.mns-hero-grid { grid-template-columns: 1fr; gap: 0; }
	.mns-hero-visual { display: none; }
}

@media (max-width: 700px) {
	.mns-hero { padding: 30px 0 40px; }
	.mns-hero-title { font-size: 22px; }
	.mns-hero-desc { font-size: 13px; }
	.mns-hero-search button { padding: 9px 14px; font-size: 12px; }
}

/* ----------------------------------------------------------
   6. SECTIONS TRANG CHỦ
   ---------------------------------------------------------- */
.mns-section-actions, .mns-section-news { padding: 50px 0; background: #fff; }
.mns-section-process { padding: 50px 0; background: #F4F6F9; }
.mns-section-head { text-align: center; margin-bottom: 28px; }
.mns-section-head h2 { font-size: 22px; color: #0F3460; margin: 0 0 6px; }
.mns-section-head p { font-size: 13px; color: #475569; margin: 0; }
.mns-section-head-flex { display: flex; align-items: flex-end; justify-content: space-between; text-align: left; }
.mns-link-more { font-size: 13px; color: #E07B00; font-weight: 500; }

.mns-actions-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}
.mns-action-card {
	border: 1px solid #E2E8F0;
	border-radius: 11px;
	padding: 22px 16px;
	text-align: center;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
}
.mns-action-card:hover {
	border-color: #0F3460;
	transform: translateY(-2px);
	text-decoration: none;
}
.mns-action-icon {
	width: 50px; height: 50px;
	border-radius: 10px;
	margin: 0 auto 12px;
	display: flex; align-items: center; justify-content: center;
	font-size: 20px;
	font-weight: 600;
}
.mns-action-amber .mns-action-icon { background: #FEF0E0; color: #E07B00; }
.mns-action-blue .mns-action-icon { background: #E6F1FB; color: #0F3460; }
.mns-action-amber-soft .mns-action-icon { background: #FAEEDA; color: #854F0B; }
.mns-action-red .mns-action-icon { background: #FCEBEB; color: #A32D2D; }
.mns-action-name { font-size: 15px; font-weight: 600; color: #0F172A; margin-bottom: 4px; }
.mns-action-desc { font-size: 11px; color: #475569; }

.mns-process-steps {
	display: flex;
	gap: 4px;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.mns-process-step { flex: 1; min-width: 120px; text-align: center; padding: 0 8px; }
.mns-process-num {
	width: 42px; height: 42px;
	background: #0F3460;
	color: #fff;
	border-radius: 50%;
	margin: 0 auto 10px;
	display: flex; align-items: center; justify-content: center;
	font-weight: 600; font-size: 16px;
}
.mns-process-highlight .mns-process-num { background: #E07B00; }
.mns-process-name { font-size: 13px; font-weight: 600; color: #0F172A; margin-bottom: 3px; }
.mns-process-sub { font-size: 11px; color: #475569; line-height: 1.4; }
.mns-process-arrow { font-size: 18px; color: #CBD5E1; padding-top: 12px; }

@media (max-width: 700px) {
	.mns-process-arrow { display: none; }
	.mns-process-step { min-width: 0; flex: 1 1 33%; margin-bottom: 16px; }
}

.mns-news-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}
.mns-news-card {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 11px;
	padding: 16px;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
}
.mns-news-card:hover { border-color: #0F3460; transform: translateY(-2px); text-decoration: none; }
.mns-news-thumb {
	width: 100%;
	aspect-ratio: 16/9;
	background: linear-gradient(135deg, #E6F1FB, #C7DEF5);
	border-radius: 7px;
	margin-bottom: 12px;
	overflow: hidden;
}
.mns-news-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mns-news-tag { font-size: 11px; color: #E07B00; font-weight: 600; margin-bottom: 5px; letter-spacing: 0.2px; }
.mns-news-title { font-size: 14px; font-weight: 600; color: #0F172A; line-height: 1.4; margin-bottom: 7px; }
.mns-news-date { font-size: 11px; color: #475569; }

.mns-cta-banner {
	background: #0F3460;
	padding: 32px 0;
	color: #fff;
}
.mns-cta-banner-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.mns-cta-banner-title { font-size: 17px; font-weight: 600; margin-bottom: 4px; }
.mns-cta-banner-sub { font-size: 13px; opacity: 0.92; }
.mns-cta-banner-buttons { display: flex; gap: 10px; flex-wrap: wrap; }

/* ----------------------------------------------------------
   7. BREADCRUMB
   ---------------------------------------------------------- */
.mns-breadcrumb-wrap { background: #F4F6F9; border-bottom: 1px solid #E2E8F0; }
.mns-breadcrumb-wrap > .mns-container { padding-top: 12px; padding-bottom: 12px; }
.mns-breadcrumb { font-size: 12px; color: #475569; }
.mns-breadcrumb a { color: #E07B00; text-decoration: none; }
.mns-breadcrumb a:hover { text-decoration: underline; }
.mns-breadcrumb-sep { margin: 0 8px; color: #94A3B8; }
.mns-breadcrumb-current { color: #0F172A; font-weight: 500; }

/* ----------------------------------------------------------
   8. HUB ARCHIVE PAGE
   ---------------------------------------------------------- */
.mns-hub-hero { background: #fff; padding: 32px 0; border-bottom: 1px solid #E2E8F0; }
.mns-hub-badge {
	display: inline-block;
	background: #E6F1FB;
	color: #0F3460;
	padding: 5px 12px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 14px;
	letter-spacing: 0.3px;
}
.mns-hub-title { font-size: 26px; font-weight: 600; color: #0F172A; line-height: 1.25; margin: 0 0 10px; }
.mns-hub-desc { font-size: 14px; color: #475569; line-height: 1.6; max-width: 640px; margin: 0 0 22px; }
.mns-hub-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
@media (max-width: 700px) {
	.mns-hub-stats { grid-template-columns: 1fr; }
}
.mns-stat-box { background: #F4F6F9; border-radius: 8px; padding: 13px 15px; }
.mns-stat-label { font-size: 11px; color: #475569; margin-bottom: 4px; }
.mns-stat-value { font-size: 17px; font-weight: 600; color: #0F3460; }

.mns-info-box {
	background: #FEF0E0;
	border: 1px solid #FAC775;
	border-radius: 10px;
	padding: 18px 22px;
	margin: 24px 0;
}
.mns-info-title { font-size: 14px; font-weight: 600; color: #854F0B; margin-bottom: 12px; }
.mns-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mns-info-card { background: #fff; border-radius: 8px; padding: 13px 15px; }
.mns-info-card-amber { border-left: 3px solid #E07B00; }
.mns-info-card-blue { border-left: 3px solid #0F3460; }
.mns-info-card-title { font-size: 13px; font-weight: 600; margin-bottom: 5px; color: #0F3460; }
.mns-info-card-desc { font-size: 12px; color: #475569; line-height: 1.6; }

@media (max-width: 700px) {
	.mns-info-grid { grid-template-columns: 1fr; }
}

.mns-hub-list { padding: 32px 0 50px; background: #fff; }
.mns-hub-group { margin-bottom: 28px; }
.mns-hub-group-label {
	font-size: 13px;
	font-weight: 600;
	color: #0F3460;
	margin-bottom: 12px;
	letter-spacing: 0.2px;
}
.mns-hub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }

.mns-tt-card {
	border: 1px solid #E2E8F0;
	border-radius: 11px;
	padding: 16px;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
	display: block;
}
.mns-tt-card:hover { border-color: #0F3460; transform: translateY(-2px); text-decoration: none; }
.mns-tt-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 10px;
}
.mns-tt-card-icon {
	width: 38px; height: 38px;
	background: #E6F1FB;
	border-radius: 8px;
	display: flex; align-items: center; justify-content: center;
	color: #0F3460;
	font-size: 14px;
	overflow: hidden;
}
.mns-tt-card-icon img { width: 100%; height: 100%; object-fit: cover; }
.mns-tt-card-name { font-size: 14px; font-weight: 600; color: #0F172A; margin-bottom: 5px; line-height: 1.3; }
.mns-tt-card-desc { font-size: 12px; color: #475569; line-height: 1.5; margin-bottom: 11px; }
.mns-tt-card-meta {
	display: flex;
	justify-content: space-between;
	padding-top: 9px;
	border-top: 1px solid #F4F6F9;
	font-size: 11px;
}
.mns-tt-card-time { color: #475569; }
.mns-tt-card-price { color: #0F3460; font-weight: 600; }

/* ----------------------------------------------------------
   9. BÀI THỦ TỤC SINGLE
   ---------------------------------------------------------- */
.mns-thu-tuc-article { background: #fff; padding: 0 0 50px; }
.mns-article-header { padding: 26px 0 22px; border-bottom: 1px solid #E2E8F0; margin-bottom: 26px; }
.mns-article-tags { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 12px; }
.mns-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 4px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.4px;
}
.mns-badge-amber { background: #FEF0E0; color: #854F0B; }
.mns-badge-blue { background: #E6F1FB; color: #0F3460; }
.mns-badge-gray { background: #F4F6F9; color: #475569; }
.mns-article-title { font-size: 26px; font-weight: 600; color: #0F172A; line-height: 1.3; margin: 0 0 10px; }
.mns-article-lead { font-size: 14px; color: #475569; line-height: 1.7; margin: 0; max-width: 700px; }

.mns-article-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 32px;
}
@media (max-width: 1000px) {
	.mns-article-layout { grid-template-columns: 1fr; }
}

.mns-callout {
	border-radius: 9px;
	padding: 14px 18px;
	margin-bottom: 26px;
}
.mns-callout-warning {
	background: #FEF0E0;
	border-left: 3px solid #E07B00;
}
.mns-callout-label { font-size: 12px; font-weight: 600; color: #854F0B; margin-bottom: 6px; letter-spacing: 0.2px; }
.mns-callout-text { font-size: 13px; color: #501313; line-height: 1.7; }

.mns-pillar { margin-bottom: 32px; }
.mns-pillar-head { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.mns-pillar-num {
	width: 34px; height: 34px;
	background: #FEF0E0;
	border-radius: 7px;
	display: flex; align-items: center; justify-content: center;
	color: #E07B00;
	font-weight: 700;
	font-size: 15px;
}
.mns-pillar-head h2 { font-size: 19px; font-weight: 600; color: #0F3460; margin: 0; }

.mns-pricing-split {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 1.15fr;
}
@media (max-width: 700px) {
	.mns-pricing-split { grid-template-columns: 1fr; }
}
.mns-pricing-left {
	background: linear-gradient(135deg, #0F3460 0%, #1E4A7E 100%);
	color: #fff;
	padding: 22px 20px;
}
.mns-pricing-label { font-size: 12px; opacity: 0.92; margin-bottom: 6px; letter-spacing: 0.2px; }
.mns-pricing-amount { display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; margin-bottom: 4px; }
.mns-from { font-size: 13px; opacity: 0.92; }
.mns-amount { font-size: 26px; font-weight: 700; letter-spacing: -0.5px; }
.mns-pricing-range { font-size: 12px; opacity: 0.92; margin-bottom: 14px; }
.mns-pricing-include {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 11px;
	background: rgba(255,255,255,0.1);
	border-radius: 6px;
	margin-bottom: 6px;
	font-size: 12px;
}
.mns-pricing-include:last-child { margin-bottom: 0; }
.mns-pricing-include .mns-dot {
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #22C55E;
	flex-shrink: 0;
}

.mns-pricing-right { padding: 20px; }
.mns-pricing-table-label {
	font-size: 12px;
	color: #0F3460;
	font-weight: 600;
	margin-bottom: 12px;
	letter-spacing: 0.2px;
}
.mns-pricing-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
}
.mns-pricing-row-divider { border-bottom: 1px dashed #E2E8F0; }
.mns-pricing-row-name { font-size: 13px; color: #0F172A; font-weight: 600; }
.mns-pricing-row-desc { font-size: 11px; color: #475569; margin-top: 2px; }
.mns-pricing-row-price { font-size: 14px; color: #0F3460; font-weight: 700; }

.mns-time-box {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
}
.mns-time-main { text-align: center; }
.mns-time-big { font-size: 36px; font-weight: 700; color: #0F3460; line-height: 1; }
.mns-time-unit { font-size: 12px; color: #475569; margin-top: 4px; }
.mns-time-divider { width: 1px; height: 40px; background: #E2E8F0; }
.mns-time-real { text-align: left; }
.mns-time-real-label { font-size: 12px; color: #0F172A; font-weight: 600; margin-bottom: 3px; }
.mns-time-real-value { font-size: 16px; color: #E07B00; font-weight: 700; }
.mns-time-real-sub { font-size: 10px; color: #475569; margin-top: 2px; }

.mns-article-content { line-height: 1.7; }
.mns-article-content h2 {
	font-size: 19px;
	color: #0F3460;
	margin: 32px 0 14px;
	padding-bottom: 6px;
	border-bottom: 1px solid #E2E8F0;
}
.mns-article-content h3 { font-size: 16px; color: #0F172A; margin: 24px 0 10px; }
.mns-article-content p { margin: 0 0 14px; font-size: 14px; }
.mns-article-content ul, .mns-article-content ol { margin: 0 0 14px; padding-left: 22px; }
.mns-article-content li { margin-bottom: 6px; font-size: 14px; }

/* ----------------------------------------------------------
   10. SIDEBAR PHẢI
   ---------------------------------------------------------- */
.mns-article-sidebar { display: flex; flex-direction: column; gap: 12px; }
.mns-sidebar-cta {
	background: #0F3460;
	color: #fff;
	border-radius: 10px;
	padding: 16px;
	position: sticky;
	top: 90px;
}
.mns-sidebar-cta-title { font-size: 13px; font-weight: 600; margin-bottom: 5px; }
.mns-sidebar-cta-desc { font-size: 11px; opacity: 0.92; line-height: 1.6; margin-bottom: 13px; }
.mns-sidebar-cta .mns-btn { margin-bottom: 6px; padding: 10px; font-size: 12px; }
.mns-sidebar-cta-foot { text-align: center; font-size: 11px; opacity: 0.85; margin-top: 8px; }

.mns-sidebar-block {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 14px;
}
.mns-sidebar-block-label {
	font-size: 12px;
	font-weight: 600;
	color: #0F3460;
	margin-bottom: 10px;
	letter-spacing: 0.2px;
}
.mns-related-list { display: flex; flex-direction: column; gap: 7px; margin-bottom: 11px; }
.mns-related-item {
	padding: 9px 11px;
	border: 1px solid #E2E8F0;
	border-radius: 7px;
	text-decoration: none;
	color: inherit;
	display: block;
}
.mns-related-item:hover { border-color: #E07B00; text-decoration: none; }
.mns-related-row { display: flex; align-items: center; gap: 8px; }
.mns-related-icon { width: 22px; height: 22px; background: #FEF0E0; border-radius: 4px; display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; }
.mns-related-name { font-size: 12px; color: #0F172A; font-weight: 600; flex: 1; line-height: 1.3; }
.mns-related-price { font-size: 11px; color: #E07B00; font-weight: 600; }
.mns-related-badge { padding-left: 30px; font-size: 10px; color: #15803D; font-weight: 600; margin-top: 3px; }

.mns-combo-box {
	background: linear-gradient(135deg, #FEF0E0 0%, #FAC775 100%);
	border-radius: 7px;
	padding: 11px 13px;
}
.mns-combo-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
.mns-combo-name { font-size: 11px; font-weight: 700; color: #854F0B; }
.mns-combo-discount { font-size: 11px; background: #fff; color: #15803D; font-weight: 700; padding: 2px 7px; border-radius: 3px; }
.mns-combo-total { font-size: 11px; color: #501313; line-height: 1.4; }

.mns-sidebar-trust { text-align: center; }
.mns-trust-stars { color: #E07B00; font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.mns-trust-num { color: #0F172A; }
.mns-trust-count { font-size: 11px; color: #475569; margin-bottom: 9px; }
.mns-trust-quote { font-size: 12px; color: #475569; font-style: italic; line-height: 1.5; }
.mns-trust-author { font-size: 11px; color: #0F3460; font-weight: 600; margin-top: 6px; }

/* ----------------------------------------------------------
   11. FORM MODAL
   ---------------------------------------------------------- */
.mns-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15,52,96,0.55);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 300;
	padding: 20px;
}
.mns-modal-overlay.mns-modal-open { display: flex; }
.mns-modal {
	background: #fff;
	border-radius: 11px;
	max-width: 420px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	overflow: hidden;
}
.mns-modal-context {
	background: #FEF0E0;
	padding: 14px 16px;
	border-bottom: 1px solid #FAC775;
	position: relative;
}
.mns-modal-context-label { font-size: 11px; color: #854F0B; font-weight: 600; letter-spacing: 0.2px; margin-bottom: 4px; }
.mns-modal-context-name { font-size: 14px; color: #0F172A; font-weight: 600; margin-bottom: 3px; }
.mns-modal-context-meta { font-size: 11px; color: #854F0B; }
.mns-modal-close {
	position: absolute;
	top: 11px; right: 13px;
	background: transparent;
	border: none;
	font-size: 22px;
	color: #94A3B8;
	cursor: pointer;
	width: 26px; height: 26px;
	border-radius: 4px;
}
.mns-modal-close:hover { background: rgba(0,0,0,0.05); }

.mns-modal-body { padding: 18px 18px 22px; }
.mns-modal-title { font-size: 14px; color: #0F3460; font-weight: 600; margin-bottom: 13px; }
.mns-form-row { margin-bottom: 11px; }
.mns-form input[type="text"], .mns-form input[type="tel"], .mns-form textarea, .mns-form select {
	width: 100%;
	border: 1px solid #E2E8F0;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 13px;
	color: #0F172A;
	outline: none;
	font-family: inherit;
}
.mns-form input:focus, .mns-form textarea:focus, .mns-form select:focus { border-color: #E07B00; }
.mns-form input[required]:not(:placeholder-shown):invalid { border-color: #E24B4A; }
.mns-form-label { font-size: 11px; color: #475569; margin-bottom: 5px; }
.mns-channel-group { display: flex; gap: 6px; }
.mns-channel-option {
	flex: 1;
	cursor: pointer;
	display: block;
}
.mns-channel-option input { display: none; }
.mns-channel-option span {
	display: block;
	background: #fff;
	color: #475569;
	border: 1px solid #E2E8F0;
	padding: 8px;
	border-radius: 6px;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
	transition: all 0.15s ease;
}
.mns-channel-option input:checked + span {
	background: #FEF0E0;
	color: #E07B00;
	border-color: #E07B00;
}
.mns-honeypot { position: absolute; left: -9999px; visibility: hidden; }
.mns-form-foot { font-size: 11px; color: #475569; text-align: center; margin-top: 11px; }
.mns-form-foot a { color: #E07B00; }

.mns-form-success { text-align: center; padding: 30px 20px; }
.mns-success-icon {
	width: 56px; height: 56px;
	background: #D4F5DE;
	color: #15803D;
	border-radius: 50%;
	margin: 0 auto 14px;
	display: flex; align-items: center; justify-content: center;
	font-size: 24px;
	font-weight: 700;
}
.mns-success-title { font-size: 16px; font-weight: 600; color: #0F3460; margin-bottom: 6px; }
.mns-success-msg { font-size: 13px; color: #475569; margin-bottom: 18px; }

/* ----------------------------------------------------------
   12. THANH CTA MOBILE STICKY
   ---------------------------------------------------------- */
.mns-mobile-cta-bar {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fff;
	border-top: 1px solid #E2E8F0;
	padding: 9px 14px;
	gap: 7px;
	z-index: 90;
	padding-bottom: calc(9px + env(safe-area-inset-bottom));
}
.mns-mobile-cta-bar a {
	flex: 1;
	padding: 11px;
	border-radius: 6px;
	font-weight: 500;
	font-size: 13px;
	text-align: center;
	text-decoration: none;
}
.mns-mobile-cta-call { background: #E07B00; color: #fff; }
.mns-mobile-cta-zalo { background: #0F3460; color: #fff; }

@media (max-width: 900px) {
	.mns-mobile-cta-bar { display: flex; }
	body { padding-bottom: 60px; }
}

/* ----------------------------------------------------------
   13. FOOTER
   ---------------------------------------------------------- */
.mns-footer { background: #0A2849; color: #fff; padding: 40px 0 20px; }
/* Khi section liền trước là cta-banner (cùng tone navy), không cần spacing thêm */
.mns-cta-banner + .mns-footer { padding-top: 28px; }
.mns-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
	gap: 28px;
	margin-bottom: 28px;
}
@media (max-width: 800px) { .mns-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .mns-footer-grid { grid-template-columns: 1fr; } }

.mns-footer-brand { font-size: 16px; font-weight: 600; margin-bottom: 8px; color: #fff; }
.mns-footer-desc { font-size: 12px; color: rgba(255,255,255,0.92); line-height: 1.6; margin-bottom: 12px; }
.mns-footer-contact div { font-size: 12px; color: rgba(255,255,255,0.92); margin-bottom: 5px; }
.mns-footer-contact a { color: #FFC788; }
.mns-footer-contact a { color: #FFC788; }
.mns-footer-heading { font-size: 14px; font-weight: 600; margin-bottom: 12px; color: #fff; letter-spacing: 0.2px; }
.mns-footer-list { list-style: none; padding: 0; margin: 0; }
.mns-footer-list li { margin-bottom: 7px; }
.mns-footer-list a { color: rgba(255,255,255,0.92); font-size: 13px; text-decoration: none; }
.mns-footer-list a:hover { color: #FFC788; }
.mns-footer-form { display: flex; flex-direction: column; gap: 8px; }
.mns-footer-form input {
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
	padding: 10px 12px;
	border-radius: 6px;
	color: #fff;
	font-size: 13px;
	outline: none;
}
.mns-footer-form input::placeholder { color: rgba(255,255,255,0.7); }
.mns-footer-bottom {
	border-top: 1px solid rgba(255,255,255,0.15);
	padding-top: 16px;
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: rgba(255,255,255,0.85);
	flex-wrap: wrap;
	gap: 10px;
}
.mns-footer-bottom a { color: rgba(255,255,255,0.92); }

/* ----------------------------------------------------------
   14. MISC (404, search, archive)
   ---------------------------------------------------------- */
.mns-404 { text-align: center; padding: 60px 20px; }
.mns-404-num { font-size: 80px; font-weight: 700; color: #E2E8F0; line-height: 1; }
.mns-404-search { max-width: 420px; margin: 22px auto; display: flex; gap: 6px; }
.mns-404-search input { flex: 1; border: 1px solid #E2E8F0; padding: 10px 12px; border-radius: 6px; outline: none; }
.mns-404-search button { background: #E07B00; color: #fff; border: none; padding: 10px 18px; border-radius: 6px; font-weight: 500; }
.mns-404-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* ----------------------------------------------------------
   15. NỘI DUNG LIÊN QUAN CUỐI BÀI
   ---------------------------------------------------------- */
.mns-related-content {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 2px solid #F4F6F9;
}
.mns-related-heading {
	font-size: 18px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 16px;
}
.mns-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}
.mns-related-card {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 14px 16px;
	text-decoration: none;
	color: inherit;
	display: block;
	transition: all 0.15s ease;
}
.mns-related-card:hover {
	border-color: #0F3460;
	transform: translateY(-2px);
	text-decoration: none;
}
.mns-related-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}
.mns-related-card-icon {
	width: 30px;
	height: 30px;
	background: #FEF0E0;
	color: #E07B00;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	flex-shrink: 0;
}
.mns-related-card-title {
	font-size: 14px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.4;
	margin-bottom: 8px;
}
.mns-related-card-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 8px;
	border-top: 1px solid #F4F6F9;
	font-size: 12px;
}
.mns-related-card-time { color: #475569; }
.mns-related-card-price { color: #0F3460; font-weight: 600; }

@media (max-width: 700px) {
	.mns-related-content { margin-top: 28px; padding-top: 22px; }
	.mns-related-heading { font-size: 16px; }
}

/* ----------------------------------------------------------
   16. CTA CUỐI BÀI (chuyển đổi cao nhất — sau content tự làm)
   ---------------------------------------------------------- */
.mns-end-cta {
	background: linear-gradient(135deg, #0F3460 0%, #1E4A7E 100%);
	color: #fff;
	border-radius: 12px;
	padding: 28px;
	margin-top: 32px;
	box-shadow: 0 8px 24px -8px rgba(15,52,96,0.35);
}
.mns-end-cta-inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 28px;
	align-items: center;
}
.mns-end-cta-eyebrow {
	font-size: 12px;
	letter-spacing: 0.4px;
	color: #FFC788;
	font-weight: 600;
	margin-bottom: 8px;
}
.mns-end-cta-title {
	font-size: 22px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 10px;
	line-height: 1.3;
}
.mns-end-cta-desc {
	font-size: 14px;
	color: rgba(255,255,255,0.92);
	line-height: 1.65;
	margin: 0 0 14px;
}
.mns-end-cta-bullets {
	list-style: none;
	padding: 0;
	margin: 0;
}
.mns-end-cta-bullets li {
	font-size: 13px;
	color: rgba(255,255,255,0.92);
	margin-bottom: 7px;
	padding-left: 22px;
	position: relative;
}
.mns-end-cta-bullets li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: #22C55E;
	font-weight: 700;
	font-size: 14px;
}
.mns-end-cta-action {
	background: rgba(255,255,255,0.1);
	border-radius: 10px;
	padding: 18px;
	text-align: center;
}
.mns-end-cta-price-label {
	font-size: 11px;
	color: rgba(255,255,255,0.92);
	margin-bottom: 6px;
	letter-spacing: 0.2px;
}
.mns-end-cta-price {
	margin-bottom: 14px;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 5px;
}
.mns-end-cta-from {
	font-size: 13px;
	color: rgba(255,255,255,0.92);
}
.mns-end-cta-amount {
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.5px;
}
.mns-end-cta-action .mns-btn { margin-bottom: 7px; padding: 11px; font-size: 13px; }
.mns-end-cta-action .mns-btn:last-of-type { margin-bottom: 0; }
.mns-end-cta-foot { font-size: 11px; color: rgba(255,255,255,0.92); margin-top: 9px; }

@media (max-width: 700px) {
	.mns-end-cta { padding: 22px 18px; }
	.mns-end-cta-inner { grid-template-columns: 1fr; gap: 20px; }
	.mns-end-cta-title { font-size: 19px; }
	.mns-end-cta-amount { font-size: 26px; }
}

/* ----------------------------------------------------------
   17. DRAWER MENU TỪ wp_nav_menu (admin-controlled)
   ---------------------------------------------------------- */
.mns-drawer-menu {
	list-style: none;
	padding: 6px 0;
	margin: 0;
}
.mns-drawer-menu li {
	margin: 0;
	padding: 0;
}
.mns-drawer-menu li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	color: #0F172A;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	border-left: 3px solid transparent;
}
.mns-drawer-menu li a::before {
	content: '›';
	margin-left: auto;
	color: #94A3B8;
	font-size: 14px;
	order: 2;
}
.mns-drawer-menu li a:hover { background: #F9FAFB; text-decoration: none; }
.mns-drawer-menu li.current-menu-item > a {
	background: #FEF0E0;
	border-left-color: #E07B00;
	color: #E07B00;
}

/* ----------------------------------------------------------
   18. HUB SECTION HEADER + FILTER (mockup hub thay đổi)
   ---------------------------------------------------------- */
.mns-hub-section-head { background: #fff; padding: 24px 0 8px; }
.mns-hub-section-head-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.mns-hub-section-title {
	font-size: 18px;
	font-weight: 600;
	color: #0F3460;
	margin-bottom: 3px;
}
.mns-hub-section-sub { font-size: 12px; color: #475569; }

.mns-hub-filter {
	display: flex;
	gap: 5px;
	background: #F4F6F9;
	padding: 4px;
	border-radius: 9px;
	flex-wrap: wrap;
}
.mns-hub-filter-btn {
	background: transparent;
	color: #475569;
	border: none;
	padding: 7px 13px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.15s ease;
	white-space: nowrap;
}
.mns-hub-filter-btn:hover { color: #0F3460; }
.mns-hub-filter-active {
	background: #0F3460;
	color: #fff;
}
.mns-hub-filter-active:hover { color: #fff; }

@media (max-width: 700px) {
	.mns-hub-section-head { padding: 18px 0 6px; }
	.mns-hub-section-head-flex {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		min-width: 0;
	}
	.mns-hub-filter {
		display: flex;
		gap: 5px;
		flex-wrap: nowrap;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		min-width: 0;
		max-width: 100%;
		padding: 4px;
	}
	.mns-hub-filter::-webkit-scrollbar { display: none; }
	.mns-hub-filter-btn {
		flex-shrink: 0;
	}
}

/* ----------------------------------------------------------
   19. CARD THỦ TỤC v2 (theo mockup hub thay đổi)
   ---------------------------------------------------------- */
.mns-hub-list { padding: 12px 0 32px; background: #fff; }
.mns-hub-group { margin-bottom: 26px; }

.mns-tt-card-v2 {
	border: 1px solid #E2E8F0;
	border-radius: 11px;
	padding: 16px;
	background: #fff;
	text-decoration: none;
	color: inherit;
	display: block;
	position: relative;
	transition: all 0.15s ease;
}
.mns-tt-card-v2:hover {
	border-color: #0F3460;
	transform: translateY(-2px);
	text-decoration: none;
	box-shadow: 0 6px 16px -8px rgba(15,52,96,0.18);
}
.mns-tt-card-featured {
	border: 2px solid #E07B00;
}
.mns-tt-card-featured:hover {
	border-color: #C46A00;
}
.mns-tt-card-ribbon {
	position: absolute;
	top: -10px;
	right: 14px;
	background: #E07B00;
	color: #fff;
	font-size: 10px;
	padding: 3px 10px;
	border-radius: 12px;
	font-weight: 500;
	letter-spacing: 0.2px;
}
.mns-tt-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}
.mns-tt-card-emoji {
	width: 36px;
	height: 36px;
	background: #E6F1FB;
	color: #0F3460;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}
.mns-tt-card-emoji-featured {
	background: #FEF0E0;
	color: #E07B00;
}
.mns-tt-card-badge {
	padding: 3px 7px;
	border-radius: 4px;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.3px;
	white-space: nowrap;
}
.mns-tt-card-badge-amber { background: #FEF0E0; color: #854F0B; }
.mns-tt-card-badge-blue  { background: #E6F1FB; color: #0F3460; }

.mns-tt-card-v2 .mns-tt-card-name {
	font-size: 14px;
	font-weight: 600;
	color: #0F172A;
	margin-bottom: 5px;
	line-height: 1.35;
}
.mns-tt-card-v2 .mns-tt-card-desc {
	font-size: 12px;
	color: #475569;
	line-height: 1.5;
	margin-bottom: 11px;
}
.mns-tt-card-v2 .mns-tt-card-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 9px;
	border-top: 1px solid #F4F6F9;
	font-size: 11px;
}
.mns-tt-card-v2 .mns-tt-card-meta > div { display: flex; gap: 4px; }
.mns-tt-card-v2 .mns-tt-card-meta-key { color: #475569; }
.mns-tt-card-v2 .mns-tt-card-meta-val { color: #0F3460; font-weight: 600; }

/* ----------------------------------------------------------
   20. HUB NOTE — giải thích nhãn cuối list
   ---------------------------------------------------------- */
.mns-hub-note {
	background: #F4F6F9;
	border-top: 1px solid #E2E8F0;
	border-bottom: 1px solid #E2E8F0;
}
.mns-hub-note-inner {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 22px 0;
}
.mns-hub-note-icon {
	width: 28px;
	height: 28px;
	background: #CBD5E1;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	flex-shrink: 0;
}
.mns-hub-note-text { flex: 1; min-width: 0; }
.mns-hub-note-title {
	font-size: 13px;
	font-weight: 600;
	color: #0F3460;
	margin-bottom: 4px;
}
.mns-hub-note-desc {
	font-size: 12px;
	color: #475569;
	line-height: 1.65;
}
.mns-text-amber { color: #854F0B; }
.mns-text-navy  { color: #0F3460; }

/* ----------------------------------------------------------
   21. COMBO BOX — gradient navy 2 cột
   ---------------------------------------------------------- */
.mns-hub-combo {
	background: #fff;
	padding: 28px 0;
}
.mns-combo-card {
	background: linear-gradient(135deg, #0F3460 0%, #1E4A7E 100%);
	border-radius: 12px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 1.4fr;
}
.mns-combo-left {
	color: #fff;
	padding: 26px 24px;
}
.mns-combo-eyebrow {
	display: inline-block;
	background: rgba(224,123,0,0.22);
	color: #FFC788;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
	margin-bottom: 12px;
	letter-spacing: 0.3px;
}
.mns-combo-title {
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 8px;
	line-height: 1.3;
	color: #fff;
}
.mns-combo-desc {
	font-size: 13px;
	opacity: 0.92;
	line-height: 1.6;
	margin: 0 0 16px;
}
.mns-combo-right {
	background: #fff;
	padding: 24px;
}
.mns-combo-list-label {
	font-size: 12px;
	font-weight: 600;
	color: #0F3460;
	margin-bottom: 12px;
	letter-spacing: 0.2px;
}
.mns-combo-items { display: flex; flex-direction: column; gap: 8px; }
.mns-combo-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 13px;
	background: #F4F6F9;
	border-radius: 7px;
}
.mns-combo-item-name {
	font-size: 13px;
	font-weight: 600;
	color: #0F172A;
	margin-bottom: 2px;
}
.mns-combo-item-sub {
	font-size: 11px;
	color: #475569;
}
.mns-combo-item-price {
	font-size: 13px;
	color: #E07B00;
	font-weight: 700;
	white-space: nowrap;
}

@media (max-width: 700px) {
	.mns-combo-card { grid-template-columns: 1fr; }
}

/* ==========================================================
   BLOG (CPT kien-thuc) — TEMPLATES & STYLING
   ========================================================== */

/* ----------------------------------------------------------
   B1. SINGLE BLOG ARTICLE — Layout chính
   ---------------------------------------------------------- */
.mns-blog-article { background: #fff; padding: 24px 0 50px; }

.mns-blog-header {
	padding: 0 0 14px;
	margin-bottom: 18px;
	border-bottom: 1px solid #E2E8F0;
	max-width: 760px;
}
.mns-blog-tags {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 12px;
	font-size: 12px;
	color: #475569;
}
.mns-blog-category {
	background: #FEF0E0;
	color: #E07B00;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
}
.mns-blog-category:hover { background: #FAC775; text-decoration: none; }
.mns-blog-meta-dot { color: #CBD5E1; }
.mns-blog-date, .mns-blog-reading-time { font-size: 12px; }
.mns-blog-title {
	font-size: 32px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.25;
	margin: 0 0 14px;
	letter-spacing: -0.3px;
}
.mns-blog-lead {
	font-size: 16px;
	color: #475569;
	line-height: 1.7;
	margin: 0 0 22px;
}
.mns-blog-thumb {
	margin-top: 18px;
	border-radius: 12px;
	overflow: hidden;
	background: #F4F6F9;
}
.mns-blog-thumb img {
	width: 100%;
	height: auto;
	display: block;
}

.mns-blog-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 36px;
	align-items: stretch;
}

/* ----------------------------------------------------------
   B2. CONTENT TYPOGRAPHY — bài SEO đọc dễ
   ---------------------------------------------------------- */
.mns-blog-content { font-size: 16px; line-height: 1.8; color: #1F2937; }
.mns-blog-content > * { max-width: 760px; }
.mns-blog-content > .mns-inline-cta,
.mns-blog-content > .mns-blog-note { max-width: 760px; }

.mns-blog-content h2 {
	font-size: 24px;
	font-weight: 600;
	color: #0F3460;
	margin: 36px 0 14px;
	padding-top: 4px;
	scroll-margin-top: 80px;
	letter-spacing: -0.2px;
}
.mns-blog-content h3 {
	font-size: 19px;
	font-weight: 600;
	color: #0F172A;
	margin: 28px 0 10px;
	scroll-margin-top: 80px;
}
.mns-blog-content h4 {
	font-size: 16px;
	font-weight: 600;
	color: #0F172A;
	margin: 22px 0 8px;
}
.mns-blog-content p { margin: 0 0 16px; }
.mns-blog-content ul, .mns-blog-content ol { margin: 0 0 18px; padding-left: 24px; }
.mns-blog-content li { margin-bottom: 8px; }
.mns-blog-content a { color: #E07B00; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.mns-blog-content a:hover { color: #C46A00; }
.mns-blog-content strong { color: #0F172A; font-weight: 600; }
.mns-blog-content blockquote {
	border-left: 3px solid #E07B00;
	background: #FEF0E0;
	margin: 22px 0;
	padding: 16px 20px;
	font-style: italic;
	color: #501313;
	border-radius: 0 8px 8px 0;
}
.mns-blog-content blockquote p { margin: 0; }
.mns-blog-content img {
	max-width: 100%;
	height: auto;
	border-radius: 9px;
	margin: 18px 0;
	display: block;
}
.mns-blog-content figure { margin: 18px 0; }
.mns-blog-content figcaption { font-size: 13px; color: #475569; text-align: center; margin-top: 8px; font-style: italic; }
.mns-blog-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0;
	font-size: 14px;
}
.mns-blog-content table th, .mns-blog-content table td {
	padding: 10px 12px;
	border: 1px solid #E2E8F0;
	text-align: left;
}
.mns-blog-content table th { background: #F4F6F9; font-weight: 600; color: #0F3460; }
.mns-blog-content code {
	background: #F4F6F9;
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 0.9em;
	color: #E07B00;
}
.mns-blog-content pre {
	background: #0F172A;
	color: #E2E8F0;
	padding: 16px;
	border-radius: 8px;
	overflow-x: auto;
	font-size: 13px;
	line-height: 1.6;
}
.mns-blog-content pre code { background: transparent; color: inherit; padding: 0; }
.mns-blog-content hr {
	border: 0;
	border-top: 1px solid #E2E8F0;
	margin: 32px 0;
}

/* ----------------------------------------------------------
   B3. SIDEBAR BLOG — TOC scroll cùng content, widget chuyển đổi sticky
   Sidebar full chiều cao bài → conversion theo content suốt cả bài
   ---------------------------------------------------------- */
.mns-blog-sidebar {
	min-width: 0;
	height: 100%; /* Stretch theo grid cha */
}

/* Wrapper sidebar — full chiều cao, không sticky */
.mns-blog-sidebar-sticky {
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
}

/* TOC — KHÔNG sticky, scroll theo content */
.mns-blog-toc-sidebar {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 14px 16px;
	flex-shrink: 0;
}

/* Wrapper conversion widgets (Quick quote + CTA + Trust) — STICKY trong sidebar */
.mns-sidebar-conversion {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	padding-right: 4px;
	scrollbar-width: thin;
	scrollbar-color: #CBD5E1 transparent;
	flex-shrink: 0;
}
.mns-sidebar-conversion::-webkit-scrollbar { width: 5px; }
.mns-sidebar-conversion::-webkit-scrollbar-track { background: transparent; }
.mns-sidebar-conversion::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 3px; }
.mns-sidebar-conversion::-webkit-scrollbar-thumb:hover { background: #94A3B8; }

.mns-blog-toc-label {
	font-size: 12px;
	font-weight: 600;
	color: #0F3460;
	margin-bottom: 10px;
	letter-spacing: 0.2px;
}

.mns-blog-toc-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.mns-blog-toc-list ol {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* H2 row */
.mns-blog-toc-h2 { margin-bottom: 2px; }
.mns-blog-toc-h2-row {
	display: flex;
	align-items: stretch;
	gap: 4px;
}
.mns-blog-toc-link {
	flex: 1;
	min-width: 0;
	color: #1F2937;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	padding: 7px 8px;
	border-left: 2px solid transparent;
	margin-left: -10px;
	padding-left: 10px;
	border-radius: 0 5px 5px 0;
	transition: all 0.15s ease;
	display: block;
}
.mns-blog-toc-link:hover {
	color: #E07B00;
	border-left-color: #E07B00;
	text-decoration: none;
}
/* Active state (scroll spy) */
.mns-blog-toc-link.mns-toc-active {
	color: #E07B00;
	border-left-color: #E07B00;
	background: #FEF0E0;
	font-weight: 600;
}

.mns-blog-toc-toggle {
	background: transparent;
	border: none;
	color: #94A3B8;
	font-size: 11px;
	cursor: pointer;
	padding: 0 6px;
	border-radius: 4px;
	transition: all 0.2s ease;
	flex-shrink: 0;
}
.mns-blog-toc-toggle:hover { color: #E07B00; background: #FEF0E0; }
.mns-blog-toc-toggle[aria-expanded="true"] { transform: rotate(180deg); color: #E07B00; }

/* H3 children */
.mns-blog-toc-children {
	display: none;
	margin-top: 2px !important;
	padding-left: 14px !important;
	border-left: 1px dashed #E2E8F0;
	margin-left: 4px;
}
.mns-blog-toc-h2.is-expanded > .mns-blog-toc-children { display: block; }
.mns-blog-toc-h3 .mns-blog-toc-link {
	font-size: 12px;
	font-weight: 400;
	color: #475569;
	padding: 5px 8px 5px 10px;
	line-height: 1.4;
}

/* TOC mobile */
.mns-blog-toc-mobile {
	display: none;
	background: #F4F6F9;
	border-radius: 10px;
	padding: 14px 16px;
	margin: 0 0 22px;
	max-width: 760px;
}
.mns-blog-toc-mobile summary {
	font-size: 13px;
	font-weight: 600;
	color: #0F3460;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.mns-blog-toc-mobile summary::after {
	content: '▼';
	font-size: 10px;
	color: #94A3B8;
	transition: transform 0.2s ease;
}
.mns-blog-toc-mobile[open] summary::after { transform: rotate(180deg); }
.mns-blog-toc-mobile summary::-webkit-details-marker { display: none; }
.mns-blog-toc-mobile .mns-blog-toc-list { margin-top: 12px; }

/* ----------------------------------------------------------
   B3.1. QUICK QUOTE WIDGET
   ---------------------------------------------------------- */
.mns-quick-quote {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 14px;
}
.mns-quick-quote-label {
	font-size: 12px;
	font-weight: 600;
	color: #E07B00;
	margin-bottom: 3px;
	letter-spacing: 0.2px;
}
.mns-quick-quote-sub {
	font-size: 11px;
	color: #475569;
	line-height: 1.5;
	margin-bottom: 11px;
}
.mns-quick-quote-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mns-quick-quote-item {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 9px 10px;
	background: #F4F6F9;
	border: 1px solid transparent;
	border-radius: 7px;
	cursor: pointer;
	width: 100%;
	text-align: left;
	transition: all 0.15s ease;
	font-family: inherit;
}
.mns-quick-quote-item:hover {
	background: #FEF0E0;
	border-color: #E07B00;
}
.mns-quick-quote-emoji {
	width: 28px;
	height: 28px;
	background: #fff;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	flex-shrink: 0;
}
.mns-quick-quote-info { flex: 1; min-width: 0; }
.mns-quick-quote-name {
	font-size: 12px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.35;
	margin-bottom: 1px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mns-quick-quote-price {
	font-size: 11px;
	color: #E07B00;
	font-weight: 600;
}
.mns-quick-quote-arrow {
	color: #94A3B8;
	font-size: 14px;
	flex-shrink: 0;
}
.mns-quick-quote-item:hover .mns-quick-quote-arrow { color: #E07B00; }
.mns-quick-quote-more {
	display: block;
	margin-top: 11px;
	padding-top: 11px;
	border-top: 1px solid #F4F6F9;
	font-size: 12px;
	color: #0F3460;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
}
.mns-quick-quote-more:hover { color: #E07B00; text-decoration: none; }

/* ----------------------------------------------------------
   B4. INLINE SHORTCODES — service CTA, note
   ---------------------------------------------------------- */
.mns-inline-cta {
	background: linear-gradient(135deg, #FEF0E0 0%, #FAC775 100%);
	border-radius: 11px;
	padding: 18px 20px;
	margin: 24px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	border: 1px solid #E07B00;
}
.mns-inline-cta-body { flex: 1; min-width: 0; }
.mns-inline-cta-eyebrow {
	font-size: 11px;
	font-weight: 600;
	color: #854F0B;
	margin-bottom: 4px;
	letter-spacing: 0.2px;
}
.mns-inline-cta-title {
	font-size: 16px;
	font-weight: 600;
	color: #0F172A;
	margin-bottom: 4px;
	line-height: 1.4;
}
.mns-inline-cta-meta {
	display: flex;
	gap: 14px;
	font-size: 12px;
	color: #501313;
}
.mns-inline-cta-meta strong { color: #0F3460; }
.mns-inline-cta-action { flex-shrink: 0; }
.mns-inline-cta-action .mns-btn {
	white-space: nowrap;
	font-weight: 600;
}

@media (max-width: 600px) {
	.mns-inline-cta { flex-direction: column; align-items: stretch; gap: 12px; }
	.mns-inline-cta-action .mns-btn { width: 100%; }
}

/* Note callout — info / warning / tip */
.mns-blog-note {
	display: flex;
	gap: 13px;
	padding: 14px 16px;
	border-radius: 8px;
	margin: 22px 0;
	border-left: 3px solid;
}
.mns-blog-note-info { background: #E6F1FB; border-color: #0F3460; }
.mns-blog-note-warning { background: #FEF0E0; border-color: #E07B00; }
.mns-blog-note-tip { background: #DCFCE7; border-color: #15803D; }
.mns-blog-note-icon {
	font-size: 18px;
	flex-shrink: 0;
	width: 24px;
	text-align: center;
}
.mns-blog-note-info .mns-blog-note-icon { color: #0F3460; }
.mns-blog-note-warning .mns-blog-note-icon { color: #E07B00; }
.mns-blog-note-tip .mns-blog-note-icon { color: #15803D; }
.mns-blog-note-body { flex: 1; min-width: 0; }
.mns-blog-note-label {
	font-size: 11px;
	font-weight: 600;
	margin-bottom: 4px;
	letter-spacing: 0.2px;
}
.mns-blog-note-info .mns-blog-note-label { color: #0F3460; }
.mns-blog-note-warning .mns-blog-note-label { color: #854F0B; }
.mns-blog-note-tip .mns-blog-note-label { color: #15803D; }
.mns-blog-note-text { font-size: 14px; line-height: 1.65; color: #1F2937; }
.mns-blog-note-text p { margin: 0; }

/* CTA cuối bài blog — chỉnh nhẹ hơn so với single-thu-tuc */
.mns-end-cta-blog { max-width: 760px; }

/* ----------------------------------------------------------
   B5. SERVICES MENTIONED + BLOG RELATED POSTS
   ---------------------------------------------------------- */
.mns-blog-services {
	max-width: 760px;
	margin-top: 32px;
	padding-top: 28px;
	border-top: 2px solid #F4F6F9;
}
.mns-blog-services-heading {
	font-size: 20px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 6px;
}
.mns-blog-services-sub {
	font-size: 13px;
	color: #475569;
	margin: 0 0 16px;
}
.mns-blog-services-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.mns-blog-service-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
}
.mns-blog-service-card:hover {
	border-color: #E07B00;
	background: #FFFBF5;
	text-decoration: none;
}
.mns-blog-service-emoji {
	width: 38px;
	height: 38px;
	background: #FEF0E0;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}
.mns-blog-service-body { flex: 1; min-width: 0; }
.mns-blog-service-name {
	font-size: 13px;
	font-weight: 600;
	color: #0F172A;
	margin-bottom: 4px;
	line-height: 1.35;
}
.mns-blog-service-meta {
	display: flex;
	gap: 10px;
	font-size: 11px;
}
.mns-blog-service-price { color: #E07B00; font-weight: 600; }
.mns-blog-service-time { color: #475569; }
.mns-blog-service-arrow {
	color: #94A3B8;
	font-size: 18px;
	flex-shrink: 0;
}

@media (max-width: 600px) {
	.mns-blog-services-grid { grid-template-columns: 1fr; }
}

.mns-blog-related {
	max-width: 760px;
	margin-top: 32px;
	padding-top: 28px;
	border-top: 2px solid #F4F6F9;
}
.mns-blog-related-heading {
	font-size: 20px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 16px;
}
.mns-blog-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.mns-blog-related-card {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
	display: block;
}
.mns-blog-related-card:hover {
	border-color: #0F3460;
	transform: translateY(-2px);
	text-decoration: none;
	box-shadow: 0 6px 16px -8px rgba(15,52,96,0.18);
}
.mns-blog-related-thumb {
	aspect-ratio: 16/9;
	background: linear-gradient(135deg, #E6F1FB, #C7DEF5);
	overflow: hidden;
}
.mns-blog-related-thumb-default {
	background: linear-gradient(135deg, #FEF0E0, #FAC775);
}
.mns-blog-related-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mns-blog-related-body { padding: 12px 14px 14px; }
.mns-blog-related-tag {
	font-size: 10px;
	font-weight: 600;
	color: #E07B00;
	letter-spacing: 0.2px;
	margin-bottom: 5px;
}
.mns-blog-related-title {
	font-size: 13px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.4;
	margin-bottom: 7px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mns-blog-related-meta { font-size: 11px; color: #475569; }

@media (max-width: 700px) {
	.mns-blog-related-grid { grid-template-columns: 1fr; }
}

/* ----------------------------------------------------------
   B6. ARCHIVE / TAXONOMY LISTING
   ---------------------------------------------------------- */
.mns-blog-archive-hero {
	background: #fff;
	padding: 32px 0;
	border-bottom: 1px solid #E2E8F0;
}
.mns-blog-archive { padding: 32px 0 50px; background: #fff; }
.mns-blog-archive-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 36px;
	align-items: start;
}

.mns-blog-categories {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.mns-blog-cat-pill {
	padding: 7px 14px;
	background: #F4F6F9;
	color: #475569;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.15s ease;
}
.mns-blog-cat-pill:hover {
	background: #FEF0E0;
	color: #E07B00;
	text-decoration: none;
}
.mns-blog-cat-pill-active {
	background: #0F3460;
	color: #fff;
}
.mns-blog-cat-pill-active:hover {
	background: #0F3460;
	color: #fff;
}

.mns-blog-archive-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 32px;
}
.mns-blog-archive-card {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 11px;
	overflow: hidden;
	transition: all 0.15s ease;
}
.mns-blog-archive-card:hover {
	border-color: #0F3460;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px -8px rgba(15,52,96,0.2);
}
.mns-blog-archive-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
}
.mns-blog-archive-card-link:hover { text-decoration: none; }
.mns-blog-archive-card-thumb {
	aspect-ratio: 16/9;
	background: linear-gradient(135deg, #E6F1FB, #C7DEF5);
	overflow: hidden;
}
.mns-blog-archive-card-thumb-default {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #FEF0E0, #FAC775);
}
.mns-blog-archive-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mns-blog-archive-card-body { padding: 16px 18px 18px; }
.mns-blog-archive-card-cat {
	font-size: 11px;
	font-weight: 600;
	color: #E07B00;
	letter-spacing: 0.2px;
	margin-bottom: 7px;
}
.mns-blog-archive-card-title {
	font-size: 17px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.35;
	margin: 0 0 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mns-blog-archive-card-excerpt {
	font-size: 13px;
	color: #475569;
	line-height: 1.6;
	margin: 0 0 12px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mns-blog-archive-card-meta {
	font-size: 11px;
	color: #475569;
	display: flex;
	gap: 6px;
	align-items: center;
}

.mns-blog-pagination { margin-top: 32px; }
.mns-blog-pagination .page-numbers {
	display: inline-flex;
	gap: 4px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.mns-blog-pagination .page-numbers li a,
.mns-blog-pagination .page-numbers li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 7px;
	background: #fff;
	border: 1px solid #E2E8F0;
	color: #1F2937;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.15s ease;
}
.mns-blog-pagination .page-numbers li a:hover {
	border-color: #E07B00;
	color: #E07B00;
}
.mns-blog-pagination .page-numbers li .current {
	background: #0F3460;
	color: #fff;
	border-color: #0F3460;
}

.mns-blog-archive-sidebar { display: flex; flex-direction: column; gap: 14px; }

.mns-blog-cat-list { list-style: none; padding: 0; margin: 0; }
.mns-blog-cat-list li { border-bottom: 1px solid #F4F6F9; }
.mns-blog-cat-list li:last-child { border-bottom: 0; }
.mns-blog-cat-list li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	color: #1F2937;
	font-size: 13px;
	text-decoration: none;
	transition: color 0.15s ease;
}
.mns-blog-cat-list li a:hover, .mns-blog-cat-list li a.active {
	color: #E07B00;
	text-decoration: none;
}
.mns-blog-cat-count {
	font-size: 11px;
	color: #475569;
	background: #F4F6F9;
	padding: 2px 8px;
	border-radius: 10px;
}

/* ----------------------------------------------------------
   B7. RESPONSIVE BREAKPOINTS — mobile thân thiện
   ---------------------------------------------------------- */
@media (max-width: 1000px) {
	.mns-blog-layout,
	.mns-blog-archive-layout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.mns-blog-toc-sidebar { display: none; }
	.mns-blog-toc-mobile { display: block; }
	.mns-blog-sidebar-sticky { gap: 12px; }
	.mns-sidebar-conversion {
		position: static;
		max-height: none;
		overflow: visible;
		padding-right: 0;
	}
	.mns-blog-archive-sidebar { order: -1; }
	.mns-blog-archive-sidebar .mns-sidebar-cta { display: block; }
	.mns-blog-archive-sidebar .mns-sidebar-block { display: none; }
}

@media (max-width: 700px) {
	.mns-blog-title { font-size: 24px; }
	.mns-blog-lead { font-size: 14px; }
	.mns-blog-content { font-size: 15px; line-height: 1.75; }
	.mns-blog-content h2 { font-size: 20px; margin-top: 28px; }
	.mns-blog-content h3 { font-size: 17px; }
	.mns-blog-archive-grid { grid-template-columns: 1fr; gap: 14px; }
	.mns-blog-services-grid { grid-template-columns: 1fr; }
	.mns-blog-related-grid { grid-template-columns: 1fr; }
	.mns-blog-archive-hero .mns-hub-title { font-size: 24px; }
}

/* ==========================================================
   ACCESSIBILITY OVERRIDES — fix contrast cho PageSpeed
   ========================================================== */

/* Cam #E07B00 trên nền trắng = 4.39:1 (fail AA 4.5:1)
   Đổi text/link sang #B85F00 (5.97:1, pass AA)
   Background giữ nguyên #E07B00 (white text trên #E07B00 = 4.97:1, pass AA)
   ========================================================== */

/* Text & link cam — màu chữ đậm hơn để pass AA */
.mns-news-card .mns-news-tag,
.mns-blog-related-tag,
.mns-blog-archive-card-cat,
.mns-link-more,
.mns-quick-quote-label,
.mns-quick-quote-price,
.mns-quick-quote-more:hover,
.mns-blog-toc-link:hover,
.mns-blog-toc-link.mns-toc-active,
.mns-blog-toc-toggle:hover,
.mns-blog-toc-toggle[aria-expanded="true"],
.mns-related-card-price,
.mns-related-price,
.mns-tt-card-price,
.mns-tt-card-v2 .mns-tt-card-meta-key,
.mns-blog-service-price,
.mns-blog-cat-list li a:hover,
.mns-blog-cat-list li a.active,
.mns-blog-pagination .page-numbers li a:hover,
.mns-time-real-value,
.mns-trust-stars,
.mns-combo-discount,
.mns-combo-item-price,
.mns-pricing-row-price,
.mns-blog-content a,
.mns-blog-content a:hover,
.mns-blog-cat-pill:hover,
.mns-footer-list a:hover,
.mns-blog-category {
	color: #B85F00 !important;
}

/* Active state cho TOC active — giữ background nhưng đổi text */
.mns-blog-toc-link.mns-toc-active {
	background: #FEF0E0;
	color: #B85F00 !important;
	border-left-color: #B85F00 !important;
}
.mns-blog-toc-link:hover {
	color: #B85F00 !important;
	border-left-color: #B85F00 !important;
}

/* Sidebar block headings (cam light context) */
.mns-blog-services-heading::before,
.mns-blog-related-heading::before {
	background: #B85F00;
}

/* Inline CTA ở blog content */
.mns-inline-cta-meta strong {
	color: #0F3460;
}

/* Hub group label cam */
.mns-hub-filter-btn:hover,
.mns-blog-cat-pill:hover {
	color: #B85F00 !important;
}

/* Menu primary nav — chữ cam khi hover/active */
.mns-menu li a:hover,
.mns-menu li.current-menu-item > a,
.mns-menu li.current-menu-parent > a,
.mns-menu li.current-menu-ancestor > a {
	color: #B85F00 !important;
}

/* Navlogo và những chỗ link mặc định */
a {
	color: #B85F00;
}
a:hover {
	color: #8F4900;
}

/* Footer contact link — text trên dark navy, đảm bảo contrast cao */
.mns-footer-contact a,
.mns-footer-bottom a {
	color: #FFC788; /* light orange, contrast cao trên #0A2849 */
}
.mns-footer-contact a:hover,
.mns-footer-bottom a:hover {
	color: #FFD9A8;
}

/* Footer list link hover */
.mns-footer-list a:hover {
	color: #FFC788 !important;
}

/* ==========================================================
   Fix iframe/embed accessibility (videos thường thiếu title)
   ========================================================== */
iframe:not([title]) {
	/* Inline tip cho dev — không phải fix CSS thực */
}

/* ==========================================================
   TRANG LIÊN HỆ — page-lien-he.php
   ========================================================== */

/* ----------------------------------------------------------
   C1. HERO
   ---------------------------------------------------------- */
.mns-contact-hero {
	background: #fff;
	padding: 32px 0 24px;
	border-bottom: 1px solid #E2E8F0;
}
.mns-contact-title {
	font-size: 30px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.25;
	margin: 0 0 12px;
	letter-spacing: -0.3px;
}
.mns-contact-desc {
	font-size: 15px;
	color: #475569;
	line-height: 1.7;
	margin: 0;
	max-width: 720px;
}

@media (max-width: 700px) {
	.mns-contact-hero { padding: 24px 0 18px; }
	.mns-contact-title { font-size: 22px; }
	.mns-contact-desc { font-size: 14px; }
}

/* ----------------------------------------------------------
   C2. LAYOUT
   ---------------------------------------------------------- */
.mns-contact-section { background: #F4F6F9; padding: 32px 0 50px; }
.mns-contact-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 28px;
	align-items: start;
}
.mns-contact-main {
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
}
.mns-contact-sidebar { min-width: 0; }
.mns-contact-sidebar-sticky {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

@media (max-width: 1000px) {
	.mns-contact-layout { grid-template-columns: 1fr; }
}

/* ----------------------------------------------------------
   C3. FORM CARD — chính
   ---------------------------------------------------------- */
.mns-contact-form-card {
	background: #fff;
	border-radius: 12px;
	padding: 26px 28px;
	box-shadow: 0 4px 16px -8px rgba(15,52,96,0.1);
}
.mns-contact-form-head { margin-bottom: 22px; }
.mns-contact-form-title {
	font-size: 20px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 5px;
}
.mns-contact-form-sub {
	font-size: 13px;
	color: #475569;
	margin: 0;
}

.mns-contact-form-large .mns-form-row { margin-bottom: 16px; }
.mns-form-label-text {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #0F172A;
	margin-bottom: 6px;
}
.mns-required { color: #E07B00; }
.mns-form-optional { color: #64748B; font-weight: 400; font-size: 11px; }

.mns-form-group-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.mns-form-group-2col .mns-form-row { margin-bottom: 16px; }

@media (max-width: 600px) {
	.mns-form-group-2col { grid-template-columns: 1fr; gap: 0; }
	.mns-contact-form-card { padding: 20px 18px; }
}

.mns-contact-form-large input[type="text"],
.mns-contact-form-large input[type="tel"],
.mns-contact-form-large input[type="email"],
.mns-contact-form-large textarea,
.mns-form-select {
	width: 100%;
	border: 1px solid #E2E8F0;
	padding: 11px 13px;
	border-radius: 7px;
	font-size: 14px;
	color: #0F172A;
	outline: none;
	font-family: inherit;
	background: #fff;
	transition: border-color 0.15s ease;
}
.mns-form-select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}
.mns-contact-form-large input:focus,
.mns-contact-form-large textarea:focus,
.mns-form-select:focus {
	border-color: #E07B00;
}
.mns-contact-form-large textarea { resize: vertical; min-height: 90px; }

.mns-btn-large {
	padding: 14px 24px;
	font-size: 14px;
	font-weight: 600;
	width: 100%;
	margin-top: 8px;
}

.mns-contact-form-card .mns-form-foot {
	margin-top: 14px;
	font-size: 12px;
	color: #475569;
	text-align: center;
	line-height: 1.7;
}
.mns-contact-form-card .mns-form-foot a {
	color: #B85F00;
	text-decoration: none;
}
.mns-contact-form-card .mns-form-foot a:hover { text-decoration: underline; }

/* ----------------------------------------------------------
   C4. OFFICE INFO + MAP
   ---------------------------------------------------------- */
.mns-office-card {
	background: #fff;
	border-radius: 12px;
	padding: 24px 28px;
	box-shadow: 0 4px 16px -8px rgba(15,52,96,0.08);
}
.mns-office-title {
	font-size: 18px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 18px;
}
.mns-office-grid {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 22px;
	align-items: start;
}
.mns-office-info-list { display: flex; flex-direction: column; gap: 14px; }
.mns-office-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.mns-office-icon {
	width: 36px;
	height: 36px;
	background: #FEF0E0;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}
.mns-office-row-label {
	font-size: 11px;
	color: #475569;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	font-weight: 600;
	margin-bottom: 3px;
}
.mns-office-row-value {
	font-size: 14px;
	color: #0F172A;
	line-height: 1.55;
}
.mns-office-row-value a {
	color: #0F3460;
	font-weight: 600;
	text-decoration: none;
}
.mns-office-row-value a:hover { text-decoration: underline; }

.mns-office-map {
	border-radius: 10px;
	overflow: hidden;
	background: #F4F6F9;
	min-height: 240px;
	height: 100%;
	min-width: 0;
}
.mns-office-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 240px;
	border: 0;
}

@media (max-width: 700px) {
	.mns-office-grid { grid-template-columns: 1fr; }
	.mns-office-card { padding: 20px 18px; }
	.mns-office-map { min-height: 200px; }
	.mns-office-map iframe { min-height: 200px; }
}

/* ----------------------------------------------------------
   C5. FAQ
   ---------------------------------------------------------- */
.mns-faq-section {
	background: #fff;
	border-radius: 12px;
	padding: 24px 28px;
	box-shadow: 0 4px 16px -8px rgba(15,52,96,0.08);
}
.mns-faq-heading {
	font-size: 18px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 16px;
}
.mns-faq-list { display: flex; flex-direction: column; gap: 8px; }
.mns-faq-item {
	border: 1px solid #E2E8F0;
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.15s ease;
}
.mns-faq-item[open] { border-color: #E07B00; }
.mns-faq-item summary {
	padding: 14px 16px;
	font-size: 14px;
	font-weight: 600;
	color: #0F172A;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	line-height: 1.45;
}
.mns-faq-item summary::after {
	content: '+';
	font-size: 22px;
	color: #94A3B8;
	font-weight: 400;
	transition: transform 0.2s ease;
	flex-shrink: 0;
}
.mns-faq-item[open] summary::after { transform: rotate(45deg); color: #B85F00; }
.mns-faq-item summary::-webkit-details-marker { display: none; }
.mns-faq-answer {
	padding: 0 16px 14px;
	font-size: 14px;
	color: #475569;
	line-height: 1.7;
}
.mns-faq-answer strong { color: #0F172A; font-weight: 600; }

@media (max-width: 700px) {
	.mns-faq-section { padding: 20px 18px; }
	.mns-faq-item summary { font-size: 13px; padding: 12px 14px; }
}

/* ----------------------------------------------------------
   C6. SIDEBAR — Trust + Dịch vụ + Blog
   ---------------------------------------------------------- */

/* Trust card */
.mns-contact-trust {
	background: linear-gradient(135deg, #0F3460 0%, #1E4A7E 100%);
	color: #fff;
	border-radius: 12px;
	padding: 22px;
	text-align: center;
}
.mns-contact-trust-stars {
	color: #FFC788;
	font-size: 16px;
	margin-bottom: 4px;
	letter-spacing: 1px;
}
.mns-contact-trust-num {
	color: #fff;
	font-weight: 600;
	letter-spacing: normal;
}
.mns-contact-trust-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	padding: 14px 0;
	margin: 12px 0;
	border-top: 1px solid rgba(255,255,255,0.15);
	border-bottom: 1px solid rgba(255,255,255,0.15);
}
.mns-contact-trust-big {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.3px;
	line-height: 1.1;
}
.mns-contact-trust-label {
	font-size: 11px;
	color: rgba(255,255,255,0.92);
	margin-top: 3px;
}
.mns-contact-trust-quote {
	font-size: 12px;
	color: rgba(255,255,255,0.92);
	font-style: italic;
	line-height: 1.6;
	margin-bottom: 6px;
}
.mns-contact-trust-author {
	font-size: 11px;
	color: #FFC788;
	font-weight: 600;
}

/* Dịch vụ phổ biến card */
.mns-contact-services {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-bottom: 12px;
}
.mns-contact-service-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	background: #F4F6F9;
	border: 1px solid transparent;
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
}
.mns-contact-service-card:hover {
	background: #FEF0E0;
	border-color: #E07B00;
	text-decoration: none;
}
.mns-contact-service-emoji {
	width: 32px;
	height: 32px;
	background: #fff;
	border-radius: 7px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	flex-shrink: 0;
}
.mns-contact-service-body { flex: 1; min-width: 0; }
.mns-contact-service-name {
	font-size: 13px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.3;
	margin-bottom: 2px;
}
.mns-contact-service-meta {
	font-size: 11px;
	color: #475569;
	display: flex;
	gap: 4px;
}
.mns-contact-service-price {
	color: #B85F00;
	font-weight: 600;
}

/* Blog gợi ý */
.mns-contact-blog-list {
	display: flex;
	flex-direction: column;
	gap: 11px;
}
.mns-contact-blog-item {
	display: flex;
	gap: 10px;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.15s ease;
}
.mns-contact-blog-item:hover { opacity: 0.85; text-decoration: none; }
.mns-contact-blog-thumb {
	width: 70px;
	height: 56px;
	border-radius: 6px;
	overflow: hidden;
	flex-shrink: 0;
	background: linear-gradient(135deg, #E6F1FB, #C7DEF5);
}
.mns-contact-blog-thumb-default {
	background: linear-gradient(135deg, #FEF0E0, #FAC775);
}
.mns-contact-blog-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mns-contact-blog-body { flex: 1; min-width: 0; }
.mns-contact-blog-tag {
	font-size: 10px;
	color: #B85F00;
	font-weight: 600;
	letter-spacing: 0.2px;
	margin-bottom: 3px;
}
.mns-contact-blog-title {
	font-size: 12px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ==========================================================
   TRANG BẢNG GIÁ — page-bang-gia.php + shortcode
   ========================================================== */

/* ----------------------------------------------------------
   P1. HERO
   ---------------------------------------------------------- */
.mns-pricing-hero {
	background: #fff;
	padding: 32px 0 24px;
	border-bottom: 1px solid #E2E8F0;
}
.mns-pricing-title {
	font-size: 30px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.25;
	margin: 0 0 12px;
	letter-spacing: -0.3px;
}
.mns-pricing-desc {
	font-size: 15px;
	color: #475569;
	line-height: 1.7;
	margin: 0;
	max-width: 720px;
}
@media (max-width: 700px) {
	.mns-pricing-hero { padding: 24px 0 18px; }
	.mns-pricing-title { font-size: 22px; }
	.mns-pricing-desc { font-size: 14px; }
}

/* ----------------------------------------------------------
   P2. LAYOUT
   ---------------------------------------------------------- */
.mns-pricing-section { background: #F4F6F9; padding: 28px 0 50px; }
.mns-pricing-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 28px;
	align-items: start;
}
.mns-pricing-main {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}
.mns-pricing-sidebar {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

@media (max-width: 1000px) {
	.mns-pricing-layout { grid-template-columns: 1fr; }
}

/* ----------------------------------------------------------
   P3. FILTER PILLS — 2 cấp
   ---------------------------------------------------------- */
.mns-pricing-filter-wrap {
	background: #fff;
	border-radius: 10px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	box-shadow: 0 2px 8px -4px rgba(15,52,96,0.08);
}
.mns-pricing-filter-secondary-wrap {
	display: none;
	background: #FEF8EB;
	border-left: 3px solid #E07B00;
}
.mns-pricing-filter-secondary-wrap.is-visible { display: flex; }

.mns-pricing-filter-label {
	font-size: 12px;
	font-weight: 600;
	color: #475569;
	letter-spacing: 0.2px;
	flex-shrink: 0;
}
.mns-pricing-filter {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	flex: 1;
}
.mns-pricing-pill {
	background: #F4F6F9;
	color: #475569;
	border: 1px solid transparent;
	padding: 8px 14px;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.15s ease;
	font-family: inherit;
	white-space: nowrap;
}
.mns-pricing-pill:hover {
	background: #FEF0E0;
	color: #B85F00;
}
.mns-pricing-pill-active {
	background: #0F3460;
	color: #fff;
}
.mns-pricing-pill-active:hover {
	background: #0F3460;
	color: #fff;
}
.mns-pricing-pill-sub {
	font-size: 12px;
	padding: 6px 11px;
}
.mns-pricing-pill-sub.mns-pricing-pill-active {
	background: #E07B00;
	color: #fff;
}
.mns-pricing-pill-sub.mns-pricing-pill-active:hover { background: #C46A00; }

@media (max-width: 700px) {
	.mns-pricing-filter-wrap {
		flex-direction: column;
		align-items: stretch;
		padding: 12px 0 12px 14px;
		gap: 8px;
		overflow: hidden;
	}
	.mns-pricing-filter-secondary-wrap {
		border-left-width: 3px;
	}
	.mns-pricing-filter-label {
		font-size: 10px;
		text-transform: uppercase;
		letter-spacing: 0.4px;
		width: 100%;
		flex: none;
		padding-right: 14px;
	}
	.mns-pricing-filter {
		display: flex;
		gap: 6px;
		flex-wrap: nowrap;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		min-width: 0;
		padding: 2px 14px 4px 0;
		max-width: 100%;
	}
	.mns-pricing-filter::-webkit-scrollbar { display: none; }
	.mns-pricing-pill {
		flex-shrink: 0;
		padding: 7px 12px;
		font-size: 12px;
	}
	.mns-pricing-pill-sub {
		padding: 6px 10px;
		font-size: 11px;
	}
}

/* ----------------------------------------------------------
   P4. PRICING GROUP + TABLE
   ---------------------------------------------------------- */
.mns-pricing-group {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px -4px rgba(15,52,96,0.08);
	margin-bottom: 14px;
}
.mns-pricing-group:last-child { margin-bottom: 0; }
.mns-pricing-group-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	background: linear-gradient(to right, #0F3460, #1E4A7E);
	color: #fff;
}
.mns-pricing-group-title {
	font-size: 17px;
	font-weight: 600;
	margin: 0;
	color: #fff;
}
.mns-pricing-group-count {
	background: rgba(255,255,255,0.18);
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 500;
}

.mns-pricing-table {
	display: flex;
	flex-direction: column;
}
.mns-pricing-row {
	display: grid;
	grid-template-columns: 44px 1fr auto auto;
	align-items: center;
	gap: 14px;
	padding: 14px 20px;
	border-bottom: 1px solid #F4F6F9;
	transition: background 0.12s ease;
}
.mns-pricing-row:last-child { border-bottom: none; }
.mns-pricing-row:hover { background: #FEF8EB; }

.mns-pricing-row-icon {
	width: 38px;
	height: 38px;
	background: #FEF0E0;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}
.mns-pricing-row-info { min-width: 0; }
.mns-pricing-row-name {
	font-size: 14px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.4;
	margin-bottom: 3px;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.mns-pricing-row-name a {
	color: #0F172A;
	text-decoration: none;
}
.mns-pricing-row-name a:hover { color: #B85F00; }
.mns-pricing-row-badge {
	padding: 2px 7px;
	border-radius: 3px;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.2px;
	white-space: nowrap;
}
.mns-pricing-row-badge-amber { background: #FEF0E0; color: #854F0B; }
.mns-pricing-row-badge-blue { background: #E6F1FB; color: #0F3460; }

.mns-pricing-row-time {
	font-size: 12px;
	color: #475569;
}

.mns-pricing-row-price-wrap {
	text-align: right;
	min-width: 110px;
}
.mns-pricing-row-price {
	font-size: 16px;
	font-weight: 700;
	color: #B85F00;
	letter-spacing: -0.2px;
	white-space: nowrap;
}
.mns-pricing-row-price-sep {
	color: #94A3B8;
	font-weight: 400;
	margin: 0 1px;
}
.mns-pricing-row-price-empty {
	color: #475569;
	font-weight: 600;
	font-size: 13px;
}

.mns-pricing-row-btn {
	background: #fff;
	border: 1px solid #E07B00;
	color: #B85F00;
	padding: 8px 14px;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.15s ease;
	white-space: nowrap;
}
.mns-pricing-row-btn:hover {
	background: #E07B00;
	color: #fff;
	text-decoration: none;
}

/* Empty state */
.mns-pricing-empty {
	background: #fff;
	border-radius: 12px;
	padding: 40px 20px;
	text-align: center;
}
.mns-pricing-empty-icon { font-size: 32px; margin-bottom: 10px; }
.mns-pricing-empty-text { font-size: 14px; color: #475569; }
.mns-pricing-empty-inline {
	background: #F4F6F9;
	padding: 14px 18px;
	border-radius: 8px;
	font-size: 13px;
	color: #475569;
	text-align: center;
}

/* Mobile pricing row — stack lại */
@media (max-width: 700px) {
	.mns-pricing-row {
		grid-template-columns: 36px 1fr auto;
		grid-template-rows: auto auto;
		row-gap: 8px;
		padding: 12px 14px;
	}
	.mns-pricing-row-icon {
		width: 32px;
		height: 32px;
		font-size: 14px;
	}
	.mns-pricing-row-info {
		grid-column: 2 / -1;
		grid-row: 1;
	}
	.mns-pricing-row-price-wrap {
		grid-column: 2;
		grid-row: 2;
		text-align: left;
		min-width: 0;
	}
	.mns-pricing-row-price { font-size: 15px; }
	.mns-pricing-row-action {
		grid-column: 3;
		grid-row: 2;
		align-self: end;
	}
	.mns-pricing-row-btn { padding: 6px 11px; font-size: 11px; }
	.mns-pricing-group-head { padding: 13px 16px; }
	.mns-pricing-group-title { font-size: 15px; }
}

/* ----------------------------------------------------------
   P5. DISCLAIMER + END CTA
   ---------------------------------------------------------- */
.mns-pricing-disclaimer {
	background: #FEF8EB;
	border-left: 3px solid #E07B00;
	border-radius: 8px;
	padding: 14px 18px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.mns-pricing-disclaimer-icon {
	width: 26px;
	height: 26px;
	background: #E07B00;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	flex-shrink: 0;
}
.mns-pricing-disclaimer-text {
	font-size: 13px;
	color: #501313;
	line-height: 1.65;
	flex: 1;
}
.mns-pricing-disclaimer-text strong { color: #0F172A; font-weight: 600; }

/* ----------------------------------------------------------
   P6. SIDEBAR PRICING — Hotline + Info
   ---------------------------------------------------------- */
.mns-pricing-hotline-card {
	background: linear-gradient(135deg, #E07B00 0%, #C46A00 100%);
	border-radius: 12px;
	padding: 20px 22px;
	color: #fff;
	text-align: center;
}
.mns-pricing-hotline-eyebrow {
	font-size: 11px;
	font-weight: 600;
	color: rgba(255,255,255,0.92);
	letter-spacing: 0.2px;
	margin-bottom: 4px;
}
.mns-pricing-hotline-title {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 12px;
}
.mns-pricing-hotline-num {
	display: block;
	background: #fff;
	color: #B85F00;
	font-size: 18px;
	font-weight: 700;
	padding: 11px 14px;
	border-radius: 8px;
	margin-bottom: 10px;
	text-decoration: none;
	letter-spacing: -0.3px;
}
.mns-pricing-hotline-num:hover {
	background: #FEF0E0;
	color: #B85F00;
	text-decoration: none;
}
.mns-pricing-hotline-hours {
	font-size: 11px;
	color: rgba(255,255,255,0.92);
	margin-bottom: 12px;
}
.mns-pricing-hotline-card .mns-btn {
	background: rgba(255,255,255,0.2);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.3);
}
.mns-pricing-hotline-card .mns-btn:hover {
	background: rgba(255,255,255,0.3);
	color: #fff;
}

.mns-pricing-info-card {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 16px 18px;
}
.mns-pricing-info-title {
	font-size: 14px;
	font-weight: 600;
	color: #0F3460;
	margin-bottom: 11px;
}
.mns-pricing-info-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.mns-pricing-info-list li {
	font-size: 12.5px;
	color: #475569;
	line-height: 1.65;
	padding-left: 18px;
	position: relative;
	margin-bottom: 9px;
}
.mns-pricing-info-list li:last-child { margin-bottom: 0; }
.mns-pricing-info-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: #B85F00;
	font-weight: 700;
}
.mns-pricing-info-list strong { color: #0F172A; font-weight: 600; }

/* ----------------------------------------------------------
   P7. SHORTCODE [mns_pricing] — chèn vào blog
   ---------------------------------------------------------- */
.mns-pricing-shortcode {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 11px;
	overflow: hidden;
	margin: 24px 0;
	max-width: 760px;
}
.mns-pricing-shortcode-head {
	background: linear-gradient(to right, #0F3460, #1E4A7E);
	color: #fff;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.mns-pricing-shortcode-title {
	font-size: 15px;
	font-weight: 600;
	margin: 0;
	color: #fff;
}
.mns-pricing-shortcode-count {
	background: rgba(255,255,255,0.18);
	padding: 2px 9px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 500;
}
.mns-pricing-shortcode .mns-pricing-table { background: #fff; }
.mns-pricing-shortcode-cta {
	padding: 12px 18px;
	background: #FEF8EB;
	border-top: 1px solid #FAC775;
}
.mns-pricing-shortcode-cta-text {
	font-size: 13px;
	color: #501313;
	line-height: 1.6;
}
.mns-pricing-shortcode-cta-text a {
	color: #B85F00;
	text-decoration: none;
}
.mns-pricing-shortcode-cta-text a:hover { text-decoration: underline; }
.mns-pricing-shortcode-note {
	padding: 10px 18px;
	background: #F4F6F9;
	border-top: 1px solid #E2E8F0;
	font-size: 11px;
	color: #475569;
	font-style: italic;
	text-align: center;
}

/* Mobile shortcode */
@media (max-width: 700px) {
	.mns-pricing-shortcode-head { padding: 12px 14px; }
	.mns-pricing-shortcode-title { font-size: 14px; }
}

/* ----------------------------------------------------------
   B8. FAQ BLOCK trong bài blog (Cách 3 — admin nhập meta box)
   ---------------------------------------------------------- */
.mns-blog-faq {
	max-width: 760px;
	margin: 32px 0 0;
	padding: 24px 28px;
	background: #F4F6F9;
	border-radius: 12px;
	border-left: 4px solid #E07B00;
}
.mns-blog-faq-heading {
	font-size: 20px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 16px;
}
.mns-blog-faq-list { display: flex; flex-direction: column; gap: 8px; }
.mns-blog-faq-item {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.15s ease;
}
.mns-blog-faq-item[open] { border-color: #E07B00; }
.mns-blog-faq-item summary {
	padding: 13px 16px;
	font-size: 14px;
	font-weight: 600;
	color: #0F172A;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	line-height: 1.45;
}
.mns-blog-faq-item summary::after {
	content: '+';
	font-size: 22px;
	color: #94A3B8;
	font-weight: 400;
	transition: transform 0.2s ease;
	flex-shrink: 0;
}
.mns-blog-faq-item[open] summary::after { transform: rotate(45deg); color: #B85F00; }
.mns-blog-faq-item summary::-webkit-details-marker { display: none; }
.mns-blog-faq-answer {
	padding: 0 16px 14px;
	font-size: 14px;
	color: #475569;
	line-height: 1.7;
}
.mns-blog-faq-answer p { margin: 0 0 8px; }
.mns-blog-faq-answer p:last-child { margin: 0; }
.mns-blog-faq-answer strong { color: #0F172A; font-weight: 600; }

@media (max-width: 700px) {
	.mns-blog-faq {
		padding: 18px 20px;
		margin: 24px 0 0;
		border-radius: 10px;
	}
	.mns-blog-faq-heading { font-size: 17px; margin: 0 0 12px; }
	.mns-blog-faq-item summary {
		font-size: 13px;
		padding: 11px 14px;
	}
	.mns-blog-faq-answer { font-size: 13px; padding: 0 14px 12px; }
}

/* ==========================================================
   SEARCH RESULTS — search.php
   ========================================================== */

/* ----------------------------------------------------------
   S1. HERO
   ---------------------------------------------------------- */
.mns-search-hero {
	background: #fff;
	padding: 32px 0 26px;
	border-bottom: 1px solid #E2E8F0;
}
.mns-search-title {
	font-size: 28px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.25;
	margin: 0 0 8px;
	letter-spacing: -0.3px;
}
.mns-search-q {
	color: #B85F00;
	background: #FEF0E0;
	padding: 2px 10px;
	border-radius: 5px;
	font-weight: 600;
}
.mns-search-count {
	font-size: 14px;
	color: #475569;
	margin: 0 0 18px;
}
.mns-search-count strong { color: #0F3460; font-weight: 700; }

.mns-search-hero-form {
	display: flex;
	gap: 8px;
	max-width: 580px;
	background: #F4F6F9;
	padding: 6px;
	border-radius: 10px;
	border: 1px solid #E2E8F0;
}
.mns-search-hero-form input[type="search"] {
	flex: 1;
	background: transparent;
	border: none;
	padding: 9px 12px;
	font-size: 14px;
	color: #0F172A;
	outline: none;
	min-width: 0;
}
.mns-search-hero-form .mns-btn {
	padding: 9px 22px;
	white-space: nowrap;
}

@media (max-width: 700px) {
	.mns-search-hero { padding: 22px 0 18px; }
	.mns-search-title { font-size: 20px; }
	.mns-search-q { padding: 1px 8px; }
	.mns-search-count { font-size: 13px; margin: 0 0 14px; }
	.mns-search-hero-form .mns-btn { padding: 9px 16px; }
}

/* ----------------------------------------------------------
   S2. LAYOUT
   ---------------------------------------------------------- */
.mns-search-section { background: #F4F6F9; padding: 28px 0 50px; }
.mns-search-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 28px;
	align-items: start;
}
.mns-search-main { min-width: 0; }
.mns-search-sidebar { min-width: 0; }
.mns-search-sidebar-sticky {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

@media (max-width: 1000px) {
	.mns-search-layout { grid-template-columns: 1fr; }
	.mns-search-sidebar-sticky { position: static; }
}

/* ----------------------------------------------------------
   S3. FILTER TABS
   ---------------------------------------------------------- */
.mns-search-tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 16px;
	background: #fff;
	padding: 6px;
	border-radius: 9px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	min-width: 0;
}
.mns-search-tabs::-webkit-scrollbar { display: none; }
.mns-search-tab {
	padding: 8px 14px;
	border-radius: 6px;
	color: #475569;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.15s ease;
	white-space: nowrap;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.mns-search-tab:hover {
	background: #F4F6F9;
	color: #0F3460;
	text-decoration: none;
}
.mns-search-tab.is-active {
	background: #0F3460;
	color: #fff;
}
.mns-search-tab.is-active:hover {
	background: #0F3460;
	color: #fff;
}
.mns-search-tab-count {
	background: rgba(255,255,255,0.2);
	padding: 1px 7px;
	border-radius: 9px;
	font-size: 11px;
	font-weight: 600;
}
.mns-search-tab:not(.is-active) .mns-search-tab-count {
	background: #F4F6F9;
	color: #475569;
}

/* ----------------------------------------------------------
   S4. RESULT CARDS
   ---------------------------------------------------------- */
.mns-search-results {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mns-search-card {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 16px 18px;
	display: grid;
	gap: 14px;
	align-items: center;
	transition: all 0.15s ease;
}
.mns-search-card:hover {
	border-color: #0F3460;
	box-shadow: 0 4px 14px -6px rgba(15,52,96,0.15);
	transform: translateY(-1px);
}

/* Card thủ tục: icon | body | action */
.mns-search-card-thu-tuc {
	grid-template-columns: 48px 1fr auto;
}
.mns-search-card-bieu-mau,
.mns-search-card-page {
	grid-template-columns: 48px 1fr auto;
}

/* Card blog: thumb | body */
.mns-search-card-kien-thuc {
	grid-template-columns: 140px 1fr;
}

.mns-search-card-icon {
	width: 48px;
	height: 48px;
	background: #FEF0E0;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}

.mns-search-card-thumb {
	width: 140px;
	aspect-ratio: 16/10;
	border-radius: 8px;
	overflow: hidden;
	background: linear-gradient(135deg, #E6F1FB, #C7DEF5);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	text-decoration: none;
}
.mns-search-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mns-search-card-thumb-default {
	background: linear-gradient(135deg, #FEF0E0, #FAC775);
	color: #B85F00;
}

.mns-search-card-body { min-width: 0; }
.mns-search-card-type {
	font-size: 10px;
	font-weight: 700;
	color: #B85F00;
	letter-spacing: 0.6px;
	margin-bottom: 5px;
}
.mns-search-card-title {
	font-size: 17px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.35;
	margin: 0 0 7px;
}
.mns-search-card-title a {
	color: inherit;
	text-decoration: none;
}
.mns-search-card-title a:hover { color: #B85F00; }
.mns-search-card-excerpt {
	font-size: 13.5px;
	color: #475569;
	line-height: 1.6;
	margin: 0 0 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mns-search-card-meta {
	font-size: 12px;
	color: #475569;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}
.mns-search-card-price {
	color: #B85F00;
	font-weight: 700;
}
.mns-search-meta-dot { color: #CBD5E1; }

.mns-search-card-action { flex-shrink: 0; }
.mns-search-card-btn {
	display: inline-block;
	padding: 9px 16px;
	background: #fff;
	border: 1px solid #E07B00;
	color: #B85F00;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.15s ease;
}
.mns-search-card-btn:hover {
	background: #E07B00;
	color: #fff;
	text-decoration: none;
}

/* Highlight query match */
.mns-search-highlight {
	background: #FAEAB6;
	color: #501313;
	padding: 0 2px;
	border-radius: 2px;
	font-weight: 600;
}

@media (max-width: 700px) {
	.mns-search-card {
		padding: 14px;
		gap: 12px;
	}
	.mns-search-card-thu-tuc,
	.mns-search-card-bieu-mau,
	.mns-search-card-page {
		grid-template-columns: 40px 1fr;
		grid-template-rows: auto auto;
	}
	.mns-search-card-icon {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}
	.mns-search-card-action {
		grid-column: 1 / -1;
	}
	.mns-search-card-btn {
		display: block;
		text-align: center;
	}
	.mns-search-card-kien-thuc {
		grid-template-columns: 100px 1fr;
	}
	.mns-search-card-thumb {
		width: 100px;
		font-size: 22px;
	}
	.mns-search-card-title { font-size: 15px; }
	.mns-search-card-excerpt { font-size: 12.5px; }
}

/* ----------------------------------------------------------
   S5. EMPTY STATE
   ---------------------------------------------------------- */
.mns-search-empty {
	background: #fff;
	border-radius: 12px;
	padding: 40px 32px;
	text-align: center;
	max-width: 680px;
	margin: 0 auto;
}
.mns-search-empty-icon {
	font-size: 48px;
	margin-bottom: 14px;
	opacity: 0.7;
}
.mns-search-empty-title {
	font-size: 22px;
	font-weight: 600;
	color: #0F172A;
	margin: 0 0 8px;
}
.mns-search-empty-text {
	font-size: 14px;
	color: #475569;
	margin: 0 0 24px;
}
.mns-search-empty-suggestions {
	background: #F4F6F9;
	border-radius: 10px;
	padding: 18px 20px;
	margin-bottom: 22px;
	text-align: left;
}
.mns-search-empty-label {
	font-size: 13px;
	font-weight: 600;
	color: #0F3460;
	margin-bottom: 11px;
}
.mns-search-empty-tags {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
}
.mns-search-empty-tag {
	padding: 7px 13px;
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	color: #475569;
	font-size: 12.5px;
	text-decoration: none;
	transition: all 0.15s ease;
}
.mns-search-empty-tag:hover {
	background: #FEF0E0;
	border-color: #E07B00;
	color: #B85F00;
	text-decoration: none;
}

.mns-search-empty-cta {
	background: linear-gradient(135deg, #0F3460, #1E4A7E);
	border-radius: 10px;
	padding: 20px;
	color: #fff;
}
.mns-search-empty-cta-text {
	font-size: 14px;
	color: rgba(255,255,255,0.95);
	line-height: 1.6;
	margin-bottom: 14px;
}
.mns-search-empty-cta-buttons {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}
.mns-btn-outline-navy {
	background: transparent;
	border: 1.5px solid rgba(255,255,255,0.4);
	color: #fff;
}
.mns-btn-outline-navy:hover {
	background: rgba(255,255,255,0.15);
	color: #fff;
}

@media (max-width: 700px) {
	.mns-search-empty { padding: 28px 22px; }
	.mns-search-empty-title { font-size: 18px; }
	.mns-search-empty-suggestions { padding: 14px 16px; }
	.mns-search-empty-cta-buttons { flex-direction: column; }
	.mns-search-empty-cta-buttons .mns-btn { width: 100%; }
}

/* ==========================================================
   RELATED BLOG REVERSE — trong single-thu-tuc
   ========================================================== */
.mns-tt-related-blog {
	max-width: 760px;
	margin-top: 32px;
	padding-top: 28px;
	border-top: 2px solid #F4F6F9;
}
.mns-tt-related-blog-heading {
	font-size: 20px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 5px;
}
.mns-tt-related-blog-sub {
	font-size: 13px;
	color: #475569;
	margin: 0 0 16px;
}
.mns-tt-related-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.mns-tt-related-blog-card {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
	display: block;
}
.mns-tt-related-blog-card:hover {
	border-color: #0F3460;
	transform: translateY(-2px);
	text-decoration: none;
	box-shadow: 0 6px 16px -8px rgba(15,52,96,0.18);
}
.mns-tt-related-blog-thumb {
	aspect-ratio: 16/9;
	background: linear-gradient(135deg, #E6F1FB, #C7DEF5);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	color: #0F3460;
}
.mns-tt-related-blog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mns-tt-related-blog-thumb-default {
	background: linear-gradient(135deg, #FEF0E0, #FAC775);
	color: #B85F00;
}
.mns-tt-related-blog-body { padding: 12px 14px 14px; }
.mns-tt-related-blog-tag {
	font-size: 10px;
	font-weight: 600;
	color: #B85F00;
	letter-spacing: 0.2px;
	margin-bottom: 5px;
}
.mns-tt-related-blog-title {
	font-size: 13px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.4;
	margin-bottom: 7px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mns-tt-related-blog-meta { font-size: 11px; color: #475569; }

@media (max-width: 700px) {
	.mns-tt-related-blog-grid { grid-template-columns: 1fr; }
}

/* ==========================================================
   BIỂU MẪU — Archive + Single + Modal
   ========================================================== */

/* Hero */
.mns-bm-hero {
	background: #fff;
	padding: 32px 0 24px;
	border-bottom: 1px solid #E2E8F0;
}
.mns-bm-hero-title {
	font-size: 30px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.25;
	margin: 0 0 10px;
}
.mns-bm-hero-desc {
	font-size: 15px;
	color: #475569;
	line-height: 1.7;
	max-width: 700px;
	margin: 0;
}

/* Archive section */
.mns-bm-archive { background: #F4F6F9; padding: 28px 0 50px; }

.mns-bm-filter {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.mns-bm-filter-pill {
	padding: 8px 14px;
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 7px;
	color: #475569;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.15s ease;
}
.mns-bm-filter-pill:hover {
	background: #FEF0E0;
	border-color: #E07B00;
	color: #B85F00;
	text-decoration: none;
}
.mns-bm-filter-pill.is-active {
	background: #0F3460;
	border-color: #0F3460;
	color: #fff;
}
.mns-bm-filter-pill.is-active:hover {
	background: #0F3460;
	color: #fff;
}

/* Grid 3 cột */
.mns-bm-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.mns-bm-card {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 11px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	transition: all 0.15s ease;
}
.mns-bm-card:hover {
	border-color: #E07B00;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -10px rgba(224,123,0,0.2);
}
.mns-bm-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.mns-bm-card-icon { font-size: 32px; }
.mns-bm-card-format {
	background: #FEF0E0;
	color: #854F0B;
	font-size: 10px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 4px;
	letter-spacing: 0.5px;
}
.mns-bm-card-title {
	font-size: 15px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.4;
	margin: 0 0 6px;
	min-height: 42px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mns-bm-card-title a {
	color: inherit;
	text-decoration: none;
}
.mns-bm-card-title a:hover { color: #B85F00; }
.mns-bm-card-sohieu {
	font-size: 11px;
	color: #B85F00;
	font-weight: 600;
	margin-bottom: 6px;
}
.mns-bm-card-desc {
	font-size: 12.5px;
	color: #475569;
	line-height: 1.55;
	margin: 0 0 10px;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mns-bm-card-meta {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 11px;
	color: #475569;
	margin-bottom: 11px;
	padding-top: 10px;
	border-top: 1px solid #F4F6F9;
}
.mns-bm-card-btn {
	font-size: 13px;
	padding: 9px 14px;
}

@media (max-width: 900px) {
	.mns-bm-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.mns-bm-grid { grid-template-columns: 1fr; }
	.mns-bm-card-title { min-height: 0; }
}

/* Single Biểu mẫu */
.mns-bm-single { background: #fff; padding: 24px 0 50px; }
.mns-bm-single-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 28px;
	align-items: start;
}
.mns-bm-single-main { min-width: 0; }
.mns-bm-single-head {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid #E2E8F0;
}
.mns-bm-single-icon {
	font-size: 48px;
	flex-shrink: 0;
	line-height: 1;
}
.mns-bm-single-tag {
	display: inline-block;
	background: #FEF0E0;
	color: #B85F00;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
	margin-bottom: 8px;
}
.mns-bm-single-title {
	font-size: 24px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.3;
	margin: 0 0 6px;
}
.mns-bm-single-sohieu {
	font-size: 13px;
	color: #475569;
}
.mns-bm-single-sohieu strong { color: #B85F00; }

.mns-bm-single-info {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	background: #F4F6F9;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 22px;
}
.mns-bm-info-item { text-align: center; }
.mns-bm-info-label {
	font-size: 11px;
	color: #475569;
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	font-weight: 600;
}
.mns-bm-info-value {
	font-size: 15px;
	font-weight: 700;
	color: #0F3460;
}

.mns-bm-single-action {
	background: linear-gradient(135deg, #FEF8EB 0%, #FEF0E0 100%);
	border: 1px solid #FAC775;
	border-radius: 11px;
	padding: 20px;
	text-align: center;
	margin-bottom: 26px;
}
.mns-bm-single-action .mns-btn-large {
	font-size: 15px;
	padding: 14px 28px;
}
.mns-bm-action-note {
	font-size: 12px;
	color: #501313;
	margin-top: 10px;
}

.mns-bm-single-content {
	font-size: 15px;
	line-height: 1.75;
	color: #1F2937;
}
.mns-bm-single-content h2 {
	font-size: 20px;
	color: #0F3460;
	margin: 24px 0 12px;
}

/* Related biểu mẫu */
.mns-bm-related {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 2px solid #F4F6F9;
}
.mns-bm-related-heading {
	font-size: 18px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 14px;
}
.mns-bm-related-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
.mns-bm-related-item {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 12px 14px;
	background: #F4F6F9;
	border: 1px solid transparent;
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
}
.mns-bm-related-item:hover {
	background: #FEF0E0;
	border-color: #E07B00;
	text-decoration: none;
}
.mns-bm-related-icon { font-size: 22px; flex-shrink: 0; }
.mns-bm-related-name {
	font-size: 13px;
	font-weight: 600;
	color: #0F172A;
	line-height: 1.4;
}

@media (max-width: 1000px) {
	.mns-bm-single-layout { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.mns-bm-single-head { flex-direction: column; gap: 10px; }
	.mns-bm-single-icon { font-size: 38px; }
	.mns-bm-single-title { font-size: 20px; }
	.mns-bm-single-info { grid-template-columns: repeat(2, 1fr); }
	.mns-bm-related-grid { grid-template-columns: 1fr; }
}

/* BM Modal (lead magnet) */
.mns-bm-modal-head {
	text-align: center;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid #E2E8F0;
}
.mns-bm-modal-icon {
	font-size: 32px;
	margin-bottom: 6px;
}
.mns-bm-modal-title {
	font-size: 18px;
	font-weight: 600;
	color: #0F3460;
	margin: 0 0 4px;
}
.mns-bm-modal-sub {
	font-size: 13px;
	color: #475569;
	font-weight: 600;
	margin: 0 0 8px;
}
.mns-bm-modal-tip {
	font-size: 12px;
	color: #475569;
	margin: 0;
	font-style: italic;
}

.mns-btn-outline-orange {
	background: #fff;
	border: 1px solid #E07B00;
	color: #B85F00;
}
.mns-btn-outline-orange:hover {
	background: #E07B00;
	color: #fff;
}
