/*
 * TPM header v2 — new site navigation (inc/tpm-header-v2.php).
 * Colours and type follow the new TPM pages: navy #23445d, Roboto Condensed.
 */
.tpm-hv2-head {
	--tx2-navy: #23445d;
	--tx2-navy-2: #2f5673;
	--tx2-ink: #23445d;
	--tx2-muted: #5a6c79;
	--tx2-line: #dfe7ee;
	--tx2-accent: #5d7f99;
	--tx2-red: #c0392b;
	position: relative;
	z-index: 1000;
	background: var(--tx2-navy);
	color: #fff;
	font-family: "Roboto Condensed", Arial, sans-serif;
	line-height: 1.35;
	clear: both;
}
.tpm-hv2-head *,
.tpm-hv2-head *::before,
.tpm-hv2-head *::after { box-sizing: border-box; }
.tpm-hv2-head a { color: inherit; text-decoration: none; }
.tpm-hv2-head ul { list-style: none; margin: 0; padding: 0; }
.tpm-hv2-head h3 { margin: 0; }
.tpm-hv2-head :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: normal; min-height: 0; line-height: inherit; }
/* Keep Eduma button:not(.owl-page) from colouring every header control. */
.tpm-hv2-head button { background: none; }
.tpm-hv2-head :focus-visible { outline: 3px solid #e0b164; outline-offset: 2px; }

.tx2-icon { display: inline-block; width: 22px; height: 22px; flex: 0 0 22px; vertical-align: middle; }
.tx2-icon--media img, .tx2-icon--media svg { width: 100%; height: 100%; object-fit: contain; display: block; }

/* bar */
.tx2-shell {
	position: relative;
	max-width: 1400px;
	margin: 0 auto;
	padding: 10px 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 66px;
}
.tx2-brand { flex: 0 0 auto; display: block; }
.tx2-brand img { display: block; width: 220px; max-width: 100%; height: auto; }

.tx2-nav { display: flex; align-items: center; gap: 0; margin-left: auto; }
.tx2-item { position: static; }
.tx2-top {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 0 8px;
	border-radius: 8px;
	font-size: 17px;
	font-weight: 400;
	white-space: nowrap;
	color: #fff;
	transition: background-color .15s ease;
}
.tx2-top:hover, .tx2-top[aria-expanded="true"], .tx2-top[aria-current="page"] { background: rgba(255, 255, 255, .1); }
/* The approved disclosure cue: plus closed, minus open. Click/Escape remain JS-owned. */
.tx2-caret {
 position: relative; width: 12px; height: 12px; margin-left: 2px;
 border: 0; transform: none; flex: 0 0 12px;
}
.tx2-caret::before, .tx2-caret::after {
 content: ""; position: absolute; background: currentColor;
 left: 1px; top: 5px; width: 10px; height: 2px;
}
.tx2-caret::after { transform: rotate(90deg); transition: transform .15s ease; }
.tx2-top[aria-expanded="true"] .tx2-caret::after { transform: rotate(0); }


/* right side: language, cart, search, login (widget area «Menu Right») */
.tx2-right { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.tx2-lang { position: relative; }
.tx2-lang__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 10px; border-radius: 8px; font-size: 15px; }
.tx2-lang__btn:hover, .tx2-lang__btn[aria-expanded="true"] { background: rgba(255, 255, 255, .1); }
.tx2-lang__btn img, .tx2-lang__list img { width: 16px; height: 11px; display: block; }
.tx2-lang__list {
	position: absolute; right: 0; top: calc(100% + 8px); min-width: 170px;
	background: #fff; color: var(--tx2-ink); border-radius: 10px; padding: 6px;
	box-shadow: 0 12px 28px rgba(23, 53, 75, .18); z-index: 5;
}
.tx2-lang__list a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 6px; font-size: 15px; }
.tx2-lang__list a:hover, .tx2-lang__list a[aria-current] { background: #eef3f7; }

.tx2-right-widgets { display: flex; align-items: center; gap: 2px; }
.tx2-right-widgets > li.widget { margin: 0; padding: 0; list-style: none; position: relative; }
.tx2-right-widgets > li.widget > h4 { display: none; }
.tx2-right-widgets .widget_shopping_cart:empty { display: none; }
.tx2-right-widgets a, .tx2-right-widgets .search-toggle, .tx2-right-widgets i { color: #fff; }
.tx2-right-widgets .search-toggle, .tx2-right-widgets .thim-link-login > a, .tx2-right-widgets .minicart_hover {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px;
	border-radius: 8px; cursor: pointer; font-size: 18px;
}
.tx2-right-widgets .search-toggle:hover, .tx2-right-widgets .thim-link-login > a:hover, .tx2-right-widgets .minicart_hover:hover { background: rgba(255, 255, 255, .1); }
.tx2-right-widgets .thim-link-login { padding: 0; margin: 0; }
/* guest «Log in» link: the theme draws it with an icon font that is not always loaded — give it a user icon */
.tx2-right-widgets .thim-link-login > a.login { position: relative; font-size: 0; }
.tx2-right-widgets .thim-link-login > a.login > i { display: none; }
.tx2-right-widgets .thim-link-login > a.login::before {
	content: ""; width: 22px; height: 22px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 22v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 22v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tx2-right-widgets .thim-link-login .profile img, .tx2-right-widgets .thim-link-login img.avatar { width: 30px; height: 30px; border-radius: 50%; display: block; }

/* mega panel */
.tx2-panel {
	position: absolute;
	top: 100%;
	left: 24px;
	margin-top: 6px;
	width: max-content;
	max-width: calc(100% - 48px);
	background: #fff;
	color: var(--tx2-ink);
	border-radius: 0;
	box-shadow: 0 18px 40px rgba(23, 53, 75, .2);
	padding: 18px;
	z-index: 10;
}
.tx2-panel[hidden] { display: none; }
.tx2-panel__inner { display: flex; gap: 18px; align-items: stretch; }
.tx2-cols { display: flex; gap: 22px; align-items: flex-start; }
.tx2-col { min-width: 210px; max-width: 290px; }
.tx2-col--split .tx2-list { columns: 2; column-gap: 22px; }
.tx2-col--split { max-width: 560px; }
.tx2-col__title {
	font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: var(--tx2-accent); padding: 4px 8px 6px; line-height: 1.3;
}
.tx2-list > li { break-inside: avoid; }
.tx2-link {
	display: flex; align-items: center; gap: 10px;
	padding: 6px 8px; border-radius: 8px; min-height: 38px;
	color: var(--tx2-ink);
}
.tx2-link .tx2-icon { width: 22px; height: 22px; flex-basis: 22px; color: var(--tx2-accent); }
a.tx2-link:hover { background: #eef3f7; }
a.tx2-link:hover strong { text-decoration: underline; }
.tx2-link[aria-current="page"] { background: #eef3f7; }
.tx2-link__text { display: block; min-width: 0; }
.tx2-link strong { display: block; font-size: 16px; font-weight: 500; line-height: 1.25; }
.tx2-link small { display: block; font-size: 13.5px; color: var(--tx2-muted); margin-top: 2px; line-height: 1.3; }
.tx2-sublist { margin: 0 0 2px 30px !important; border-left: 1px solid var(--tx2-line); padding-left: 6px !important; }
.tx2-link--sub { min-height: 32px; padding: 4px 8px; }
.tx2-link--sub strong { font-size: 15px; }
.tx2-link--sub .tx2-icon { width: 18px; height: 18px; flex-basis: 18px; }

/* banner tile: picture as background, text on top, full panel height */
.tx2-banners { display: flex; flex-direction: column; gap: 12px; width: 300px; flex: 0 0 300px; }
.tx2-banner {
	position: relative; flex: 1 1 auto; min-height: 200px;
	display: flex; align-items: flex-end;
	border-radius: 4px; overflow: hidden;
	background: var(--tx2-navy-2) center / cover no-repeat;
	color: #fff !important;
}
.tx2-banner::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(20, 40, 56, .05) 25%, rgba(20, 40, 56, .78) 100%);
}
.tx2-banner__text { position: relative; z-index: 1; display: block; padding: 18px 18px 16px; }
.tx2-banner b { display: block; font-size: 22px; font-weight: 500; line-height: 1.15; }
.tx2-banner__text > span { display: block; font-size: 14px; margin-top: 6px; line-height: 1.35; opacity: .95; }
a.tx2-banner:hover b { text-decoration: underline; }

/* burger + mobile sheet */
.tx2-burger { display: none; width: 44px; height: 44px; border-radius: 8px; position: relative; }
.tx2-burger span { position: absolute; left: 11px; right: 11px; height: 2px; background: #fff; border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.tx2-burger span:nth-child(1) { top: 14px; }
.tx2-burger span:nth-child(2) { top: 21px; }
.tx2-burger span:nth-child(3) { top: 28px; }
.tx2-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.tx2-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tx2-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.tx2-mobile {
	position: absolute; left: 0; right: 0; top: 100%;
	background: #fff; color: var(--tx2-ink);
	max-height: calc(100vh - 66px); overflow-y: auto;
	box-shadow: 0 18px 40px rgba(23, 53, 75, .2);
	padding: 8px 16px 20px;
}
.tx2-mobile[hidden] { display: none; }
.tx2-m-top {
	display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 4px;
	font-size: 18px; border-bottom: 1px solid var(--tx2-line); cursor: pointer; list-style: none;
}
.tx2-m-top::-webkit-details-marker { display: none; }
.tx2-m-top .tx2-icon { color: var(--tx2-accent); }
.tx2-m-item > summary::after { content: "+"; margin-left: auto; font-size: 22px; color: var(--tx2-accent); }
.tx2-m-item[open] > summary::after { content: "−"; }
.tx2-m-body { padding: 6px 0 10px; }
.tx2-m-body .tx2-col__title { padding-top: 10px; }

@media (max-width: 1240px) {
	.tx2-top { font-size: 16px; padding: 0 8px; }
	.tx2-top .tx2-icon { display: none; }
}
@media (max-width: 1200px) {
	.tx2-nav { display: none; }
	.tx2-right { margin-left: auto; }
	.tx2-burger { display: inline-block; }
}
@media (max-width: 600px) {
	.tx2-shell { padding: 8px 12px; gap: 6px; min-height: 58px; }
	.tx2-brand img { width: 160px; }
	.tx2-right { gap: 2px; }
	.tx2-lang__btn img { display: none; }
	.tx2-lang__btn { padding: 0 6px; }
	.tx2-mobile { max-height: calc(100vh - 58px); }
}
@media (prefers-reduced-motion: reduce) {
	.tx2-caret, .tx2-caret::after, .tx2-burger span, .tx2-top { transition: none; }
}

/* the old theme header is not printed in v2; keep the page from reserving room for it */
body.tpm-hv2 #masthead, body.tpm-hv2 .mobile-menu-wrapper { display: none !important; }

/* Keep the review adapter consistent with the shared knowledge header. */
@media (min-width:1241px) {
 .tpm-review-header-v2 .tpm-hv2-head .tx2-top>.tx2-icon { display: inline-block; }
}
.tpm-review-header-v2 .tpm-hv2-head .tx2-banner { border-radius:4px; }