/*!
 * Pay2S Elementor Widgets — Header
 * Số đo pay2s.vn: cao 76px, nền #f9fdfb, logo 115px (88px ≤480), menu 13px/600,
 * ≥1000px lưới 3 vùng, ≤800px menu thu vào nút hamburger.
 */

.p2sew.p2sew-header {
	--p2s-nav-hover: var(--p2s-primary);
	--p2s-dropdown-hover-bg: #eff8f2;
	--p2s-mobile-panel-bg: #fff;
	--p2s-toggle-color: var(--p2s-ink);

	position: relative;
	z-index: 20;
	height: 76px;
	border: 0;
	background: #f9fdfb;
}

.p2sew-header .p2sew-header__bar {
	display: flex;
	align-items: center;
	gap: 45px;
	height: 100%;
}

/* Logo */
.p2sew-header .p2sew-header__logo,
.p2sew-header .p2sew-header__logo:hover,
.p2sew-header .p2sew-header__logo:focus {
	color: inherit;
}

.p2sew-header .p2sew-header__logo img {
	width: 115px;
	height: auto;
	max-width: none;
}

/* Menu */
.p2sew-header .p2sew-header__nav {
	display: flex;
	align-items: center;
	gap: 28px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.65;
}

.p2sew-header .p2sew-header__link,
.p2sew-header .p2sew-header__link:focus,
.p2sew-header .p2sew-header__link:visited {
	color: inherit;
	text-decoration: none;
}

.p2sew-header .p2sew-header__link:hover,
.p2sew-header .p2sew-header__menu-link:hover {
	color: var(--p2s-nav-hover);
	text-decoration: none;
}

.p2sew-header .p2sew-header__link[aria-current="page"],
.p2sew-header .p2sew-header__menu-link[aria-current="page"] {
	color: var(--p2s-nav-active, inherit);
}

/* Dropdown (<details>: mở bằng click như site gốc) */
.p2sew-header .p2sew-header__dropdown {
	position: relative;
	display: block;
}

.p2sew-header .p2sew-header__summary {
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	list-style: none;
	cursor: pointer;
}

.p2sew-header .p2sew-header__summary::-webkit-details-marker {
	display: none;
}

.p2sew-header .p2sew-header__summary::marker {
	content: "";
}

.p2sew-header .p2sew-header__summary::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-right: 1.5px solid;
	border-bottom: 1.5px solid;
	transform: rotate(45deg);
}

.p2sew-header .p2sew-header__menu {
	position: absolute;
	top: calc(100% + 16px);
	left: -16px;
	z-index: 30;
	min-width: 235px;
	padding: 12px;
	border: 1px solid #e3ece6;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 25px rgba(23, 62, 36, 0.082);
}

.p2sew-header .p2sew-header__menu-link,
.p2sew-header .p2sew-header__menu-link:focus,
.p2sew-header .p2sew-header__menu-link:visited {
	display: block;
	padding: 10px;
	border-radius: 6px;
	color: inherit;
	text-decoration: none;
}

.p2sew-header .p2sew-header__menu-link:hover {
	background: var(--p2s-dropdown-hover-bg);
}

/* Hành động */
.p2sew-header .p2sew-header__actions {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-left: auto;
	font-size: 13px;
	font-weight: 600;
}

.p2sew-header .p2sew-header__login,
.p2sew-header .p2sew-header__login:focus,
.p2sew-header .p2sew-header__login:visited {
	color: var(--p2s-login-color, inherit);
	text-decoration: none;
	white-space: nowrap;
}

.p2sew-header .p2sew-header__login:hover {
	color: var(--p2s-login-hover, var(--p2s-login-color, inherit));
	text-decoration: none;
}

.p2sew-header .p2sew-header__cta {
	white-space: nowrap;
}

/* Nút menu mobile (icon 13px + padding 6px = 25×25 như site) */
.p2sew-header .p2sew-header__toggle,
.p2sew-header .p2sew-header__toggle:hover,
.p2sew-header .p2sew-header__toggle:focus {
	display: none;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 6px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--p2s-toggle-color);
	font-size: 13px;
	line-height: 1;
	text-transform: none;
}

.p2sew-header .p2sew-header__toggle-close,
.p2sew-header .p2sew-header__toggle[aria-expanded="true"] .p2sew-header__toggle-open {
	display: none;
}

.p2sew-header .p2sew-header__toggle[aria-expanded="true"] .p2sew-header__toggle-close {
	display: inline-block;
}

@media (max-width: 1100px) {
	.p2sew-header .p2sew-header__bar {
		gap: 25px;
	}

	.p2sew-header .p2sew-header__nav {
		gap: 18px;
	}
}

@media (min-width: 1000px) {
	.p2sew-header .p2sew-header__bar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		gap: 24px;
	}

	.p2sew-header .p2sew-header__logo {
		justify-self: start;
	}

	.p2sew-header .p2sew-header__nav {
		justify-content: center;
		white-space: nowrap;
	}

	.p2sew-header .p2sew-header__actions {
		justify-self: end;
		gap: 16px;
		margin-left: 0;
	}
}

@media (max-width: 800px) {
	.p2sew-header .p2sew-header__nav {
		position: absolute;
		top: 75px;
		right: 20px;
		left: 20px;
		display: none;
		max-height: calc(100dvh - 95px);
		padding: 20px;
		overflow-y: auto;
		overscroll-behavior: contain;
		border: 1px solid #e3ece6;
		border-radius: 12px;
		background: var(--p2s-mobile-panel-bg);
		box-shadow: 0 12px 25px rgba(23, 62, 36, 0.125);
	}

	.p2sew-header .p2sew-header__nav.is-open {
		display: grid;
		gap: 16px;
	}

	.p2sew-header .p2sew-header__menu {
		position: static;
		min-width: 0;
		margin-top: 10px;
		box-shadow: none;
	}

	.p2sew-header .p2sew-header__toggle,
	.p2sew-header .p2sew-header__toggle:hover,
	.p2sew-header .p2sew-header__toggle:focus {
		display: flex;
	}

	.p2sew-header .p2sew-header__actions {
		gap: 15px;
	}
}

@media (max-width: 480px) {
	.p2sew-header .p2sew-header__logo img {
		width: 88px;
	}

	.p2sew-header .p2sew-header__login {
		font-size: 11px;
	}

	.p2sew-header .p2sew-header__actions {
		gap: 10px;
	}
}

/* Sticky (tuỳ chọn): JS gắn class lên Container Elementor bao ngoài widget. */
.p2sew-sticky-host {
	position: sticky !important;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 99;
}

/* Con trỏ chuột Pay2S (phần tử gắn vào <body>, dùng class riêng để không đụng theme). */
.p2sew-cursor,
.p2sew-cursor-ring {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999;
	border-radius: 100%;
	pointer-events: none;
}

.p2sew-cursor {
	width: 10px;
	height: 10px;
	background-color: var(--p2s-cursor, #106a38);
	opacity: 0.3;
	transform: translate(-50%, -50%);
}

.p2sew-cursor-ring {
	box-sizing: border-box;
	width: 25px;
	height: 25px;
	border: 1px solid var(--p2s-cursor, #106a38);
	transform: translate(calc(-50% + 15px), -50%);
	transition: 0.2s ease-out;
}

@media (hover: none), (pointer: coarse) {
	.p2sew-cursor,
	.p2sew-cursor-ring {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p2sew-cursor,
	.p2sew-cursor-ring {
		display: none !important;
	}
}

/* Authentication visibility must win over button/link display rules. */
.p2sew-header .p2sew-header__actions [hidden]{display:none!important}
.p2sew-header .p2sew-header__account{white-space:nowrap}
@media(max-width:480px){.p2sew-header .p2sew-header__account{font-size:11px;padding:10px 12px;min-height:38px}}
