/* Khoảng cách giữa các đoạn văn trong Text Editor (theme mặc định 30px) */
.pxl-text-editor p {
	margin-bottom: 16px;
}

/* Đoạn văn trong Text Editor luôn dùng Inter, kể cả widget đã chọn font riêng (vd. Rubik) */
.pxl-text-editor,
.pxl-text-editor p {
	font-family: "Inter", sans-serif !important;
}

/* ===== Menu chính (desktop) — nút pill khi hover, dropdown bo góc có shadow ===== */
@media screen and (min-width: 1201px) {
	/* Header chính (chưa sticky): tách khỏi nền bằng viền + shadow nhẹ */
	#pxl-header-elementor .pxl-header-elementor-main {
		background-color: #fff;
		border-bottom: 1px solid rgba(15, 23, 42, 0.06);
		box-shadow: 0 6px 20px -10px rgba(0, 35, 80, 0.18);
	}

	/* Chiều cao header do line-height của link menu quyết định (Elementor: 129px chính, 95px sticky) */
	#pxl-header-elementor .pxl-header-elementor-main .pxl-nav-menu .pxl-menu-primary > li > a {
		line-height: 84px;
	}
	#pxl-header-elementor .pxl-header-elementor-sticky .pxl-nav-menu .pxl-menu-primary > li > a {
		line-height: 72px;
	}

	/* Mục cấp 1: thu khoảng cách (Elementor đang để 61px), gạch chân dưới chữ khi hover/đang xem */
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li {
		margin: 0 4px;
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li > a .pxl-menu-item-text {
		position: relative;
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 10px 18px;
		line-height: 1.2;
		color: var(--third-color);
		transition: color 0.2s ease;
	}
	/* Gạch chân chỉ dưới chữ, không kéo qua mũi tên (gap 6px + svg 6px) */
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li > a .pxl-menu-item-text::after {
		content: "";
		position: absolute;
		left: 18px;
		right: 18px;
		bottom: 2px;
		height: 2px;
		background-color: var(--primary-color);
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li.menu-item-has-children > a .pxl-menu-item-text::after {
		right: 30px;
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li:hover > a .pxl-menu-item-text,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li:focus-within > a .pxl-menu-item-text,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li.current-menu-item > a .pxl-menu-item-text,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li.current-menu-ancestor > a .pxl-menu-item-text {
		color: var(--primary-color);
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li:hover > a .pxl-menu-item-text::after,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li:focus-within > a .pxl-menu-item-text::after,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li.current-menu-item > a .pxl-menu-item-text::after,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li.current-menu-ancestor > a .pxl-menu-item-text::after {
		transform: scaleX(1);
	}

	/* Dropdown: nằm sát dưới chữ thay vì đáy header, hiện bằng fade + trượt nhẹ */
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li > .sub-menu {
		top: calc(50% + 30px);
		left: 0;
		min-width: 240px;
		margin-top: 0;
		padding: 8px;
		background-color: #fff;
		border: 1px solid rgba(15, 23, 42, 0.06);
		border-radius: 14px;
		box-shadow: 0 18px 40px -12px rgba(0, 35, 80, 0.22), 0 4px 12px -4px rgba(0, 35, 80, 0.08);
		transform: translateY(8px);
		transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.2s;
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li:hover > .sub-menu,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li:focus-within > .sub-menu {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
	}

	/* Mục trong dropdown: [icon] tên + mô tả bên dưới (icon = trường Icon, mô tả = trường Description của menu) */
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary > li > .sub-menu {
		width: max-content;
		min-width: 260px;
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary .sub-menu li a {
		display: grid;
		grid-template-columns: 1fr;
		align-items: start;
		column-gap: 12px;
		padding: 12px 14px;
		border-radius: 10px;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.35;
		color: var(--third-color);
		transition: background-color 0.2s ease, color 0.2s ease;
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary .sub-menu li a:has(.link-icon) {
		grid-template-columns: 22px 1fr;
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary .sub-menu li a .link-icon {
		grid-row: span 2;
		font-size: 20px;
		line-height: 1;
		color: var(--primary-color);
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary .sub-menu li a .link-icon i::before {
		vertical-align: top;
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary .sub-menu li a .pwt-menu-desc {
		margin-top: 3px;
		font-family: "Inter", sans-serif;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.4;
		color: #64748b;
	}
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary .sub-menu li a:hover,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary .sub-menu li a:focus-visible,
	#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary .sub-menu li.current-menu-item > a {
		background-color: rgba(0, 60, 127, 0.06);
		color: var(--primary-color);
	}
}

/* ===== Nhãn "New" cạnh tên mục menu (ô Badge trong Appearance → Menus) ===== */
.pwt-menu-badge {
	display: inline-block;
	margin-left: 8px;
	padding: 3px 8px;
	border-radius: 4px;
	background-color: rgba(0, 60, 127, 0.1);
	font-family: "Inter", sans-serif;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	vertical-align: 2px;
	color: var(--primary-color);
}

/* ===== Header mobile/tablet — thấp hơn (90px → 64px), tách khỏi nền như desktop ===== */
@media screen and (max-width: 1200px) {
	#pxl-header-elementor #pxl-header-mobile {
		background-color: #fff;
		border-bottom: 1px solid rgba(15, 23, 42, 0.06);
		box-shadow: 0 6px 20px -10px rgba(0, 35, 80, 0.18);
	}
	/* Chiều cao do margin + min-height của khối logo quyết định (theme: 15px + 60px) */
	#pxl-header-elementor #pxl-header-mobile .pxl-header-branding {
		margin: 10px 15px;
		min-height: 44px;
	}

	/* Panel menu mobile: mục con dạng [icon] tên + mô tả (theme để line-height 46px cho cả dòng) */
	#pxl-header-elementor .pxl-header-menu .pxl-menu-primary .sub-menu li a {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 12px;
		align-items: start;
		padding: 12px 0 12px 14px;
		line-height: 1.35;
	}
	#pxl-header-elementor .pxl-header-menu .pxl-menu-primary .sub-menu li a:has(.link-icon) {
		grid-template-columns: 20px 1fr;
	}
	#pxl-header-elementor .pxl-header-menu .pxl-menu-primary .sub-menu li a .link-icon {
		grid-row: span 2;
		font-size: 18px;
		line-height: 1;
		color: var(--primary-color);
	}
	#pxl-header-elementor .pxl-header-menu .pxl-menu-primary .sub-menu li a .link-icon i::before {
		vertical-align: top;
	}
	#pxl-header-elementor .pxl-header-menu .pxl-menu-primary .sub-menu li a .pwt-menu-desc {
		margin-top: 2px;
		font-family: "Inter", sans-serif;
		font-size: 13px;
		font-weight: 400;
		color: #64748b;
	}
}

/* ===== Nút submit Fluent Forms — giống nút Book a Demo (màu, kích thước, hiệu ứng chữ nanuk) =====
   Chữ được tách thành span + thêm class btn-text-nanuk trong site.js; keyframes pxl_nanuk_* có sẵn trong theme. */
body .fluentform .ff-btn-submit.ff-btn-submit:not(.ff_btn_no_style) {
	display: inline-flex;
	align-items: center;
	height: 52px;
	overflow: hidden;
	padding: 0 32px;
	border: 0;
	border-radius: 8px;
	background-color: var(--primary-color);
	color: #fff;
	font-family: "Rubik", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 52px;
	text-transform: none;
	opacity: 1;
	transition: background-color 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
body .fluentform .ff-btn-submit.ff-btn-submit:not(.ff_btn_no_style):hover,
body .fluentform .ff-btn-submit.ff-btn-submit:not(.ff_btn_no_style):focus-visible {
	background-color: var(--secondary-color);
	color: #fff;
	opacity: 1;
}
body .fluentform .ff-btn-submit .bi-arrow-right {
	margin-left: 10px;
	line-height: 1;
}

/* ===== Menu trong footer (widget Case Nav Menu) — danh sách gọn thay vì style menu header =====
   Theme áp style header (line-height 103px desktop, 46px + gạch ngang ở ≤1200px) cho mọi .pxl-menu-primary. */
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	text-align: left;
}
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li {
	display: block;
	float: none;
	margin: 0;
}
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a {
	position: relative;
	display: inline-block;
	padding: 0;
	border: 0;
	font-family: "Inter", sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: normal;
	color: var(--third-color, #334155);
	transition: color 0.22s linear;
}
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a .pxl-menu-item-text {
	display: inline-block;
	transition: transform 0.22s linear;
}
/* Hover giống link Privacy Policy (pxl_link kiểu divider): 2 đường 1px chạy từ 2 mép vào giữa, chữ nhích lên 2px */
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a::before,
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a::after {
	content: "";
	position: absolute;
	bottom: 4px;
	display: block;
	width: 0;
	height: 1px;
	background-color: var(--secondary-color, #1d4f82);
	transition: width 0.22s linear;
}
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a::before {
	left: 0;
	right: auto;
}
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a::after {
	right: 0;
	left: auto;
}
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a:hover,
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a:focus-visible,
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li.current-menu-item > a {
	color: var(--secondary-color, #1d4f82);
}
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a:hover::before,
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a:hover::after,
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a:focus-visible::before,
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a:focus-visible::after {
	width: 50%;
}
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a:hover .pxl-menu-item-text,
#pxl-footer-elementor .pxl-nav-menu .pxl-menu-primary > li > a:focus-visible .pxl-menu-item-text {
	transform: translateY(-2px);
}

/* Menu mobile: tên mục cha bấm được để mở menu con (xem site.js) */
#pxl-header-mobile li.menu-item-has-children > a {
	cursor: pointer;
}

/* ===== Trang kết quả tìm kiếm — chừa khoảng dưới header (theme đặt #pxl-main padding-top:0 inline) ===== */
body.search #pxl-main {
	padding-top: 80px !important;
}
.pwt-search-header {
	margin-bottom: 40px;
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.pwt-search-title {
	margin: 0 0 8px;
	font-size: 36px;
	line-height: 1.25;
	color: var(--secondary-color);
}
.pwt-search-title span {
	color: var(--primary-color);
}
.pwt-search-count {
	margin: 0;
	font-size: 15px;
	color: #64748b;
}
@media (max-width: 1024px) {
	body.search #pxl-main {
		padding-top: 60px !important;
	}
}
@media (max-width: 767px) {
	body.search #pxl-main {
		padding-top: 40px !important;
	}
	.pwt-search-title {
		font-size: 26px;
	}
}
/* Kết quả tìm kiếm: ẩn người đăng, ngày đăng, bình luận (không có ý nghĩa với trang sản phẩm/giải pháp) */
body.search .pxl-archive-post .post-metas {
	display: none;
}

/* ===== Grid Use Cases (Post Grid – portfolio layout 2): card cùng hàng cao bằng nhau =====
 * Theme xếp bằng Isotope masonry (mỗi card position:absolute theo chiều cao riêng) nên hàng ngang lệch nhau.
 * Bỏ vị trí tuyệt đối, để .row (flex, align-items: stretch) dàn hàng: xếp ngang thì cao bằng card cao nhất
 * trong hàng, xếp dọc (col-12, mỗi card một hàng) thì giữ chiều cao tự nhiên. Grid này không có filter/load more.
 */
.pxl-portfolio-grid-layout2 .pxl-grid-inner.pxl-grid-masonry {
	height: auto !important;
}
.pxl-portfolio-grid-layout2 .pxl-grid-masonry > .grid-sizer {
	display: none;
}
.pxl-portfolio-grid-layout2 .pxl-grid-masonry > .pxl-grid-item {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	display: flex;
}
.pxl-portfolio-grid-layout2 .pxl-grid-masonry > .pxl-grid-item > .pxl-post--inner {
	flex: 1 1 auto;
	width: 100%;
}

/* Nút "Read more" của card Use Cases (thêm bằng site.js), luôn nằm ở đáy card để thẳng hàng giữa các card */
.pxl-portfolio-grid-layout2 .pxl-grid-item .pxl-post--inner {
	display: flex;
	flex-direction: column;
}
.pxl-portfolio-grid-layout2 .pxl-grid-item .pxl-post--holder {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding-bottom: 0;
}
.pwt-card-readmore {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	margin-top: auto;
	padding-top: 20px;
	font-size: 15px;
	font-weight: 600;
	color: var(--primary-color);
	text-decoration: none;
}
.pwt-card-readmore i {
	font-size: 16px;
	transition: transform 0.2s ease;
}
.pwt-card-readmore:hover,
.pwt-card-readmore:focus-visible {
	color: var(--primary-color);
	text-decoration: underline;
	text-underline-offset: 4px;
}
.pwt-card-readmore:hover i,
.pwt-card-readmore:focus-visible i {
	transform: translateX(4px);
}

/* ===== Trang Blog (Case Post Grid có class pwt-eblog-grid) — card cùng hàng cao bằng nhau, bấm cả card mở bài =====
   Theme xếp card bằng Isotope (position:absolute + top/left inline) nên card không thể cao bằng nhau;
   ghi đè thành CSS grid. Số cột theo class bootstrap của widget: col-xl-4 → 3 cột, col-lg/md-6 → 2 cột, dưới 768px → 1 cột. */
.pwt-eblog-grid .pxl-grid-inner {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	height: auto !important;
	margin: 0 -15px;
}
.pwt-eblog-grid .pxl-grid-inner > .grid-sizer {
	display: none;
}
.pwt-eblog-grid .pxl-grid-inner > .pxl-grid-item {
	position: static !important;
	left: auto !important;
	top: auto !important;
	display: flex;
	width: auto !important;
	max-width: none;
	transform: none !important;
}
.pwt-eblog-grid .pxl-grid-inner > .pxl-grid-item[style*="display: none"] {
	display: none !important;
}
.pwt-eblog-grid .pxl-grid-item .pxl-post--inner {
	position: relative;
	flex: 1 1 auto;
}
/* Link tiêu đề phủ toàn card → bấm đâu trên card cũng mở bài (theme đặt h5.title-hover-line relative → trả về static) */
.pwt-eblog-grid .pxl-post--title {
	position: static !important;
}
.pwt-eblog-grid .pxl-post--title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.pwt-eblog-grid .pxl-post--inner:hover .pxl-post--title a {
	color: #003c7f !important;
}
/* Danh mục trong card chỉ là nhãn, không mở trang danh mục */
.pwt-eblog-grid .pxl-post--category a {
	pointer-events: none;
	cursor: default;
}
@media (max-width: 1199px) {
	.pwt-eblog-grid .pxl-grid-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.pwt-eblog-grid .pxl-grid-inner {
		grid-template-columns: minmax(0, 1fr);
	}
}
