/* Panel Mega Menu – shared styles. Colours/sizes come from CSS variables set on .pmm. */
.pmm {
	--pmm-bar-bg: #fff;
	--pmm-bar-text: #1d2327;
	--pmm-bar-hover: #c0392b;
	--pmm-bar-size: 16px;
	--pmm-bar-weight: 600;
	--pmm-bar-align: flex-start;
	--pmm-bar-gap: 8px;
	--pmm-panel-bg: #fff;
	--pmm-panel-text: #1d2327;
	--pmm-muted: #646970;
	--pmm-heading: #1d2327;
	--pmm-hover: #c0392b;
	--pmm-hover-bg: #f6f7f7;
	--pmm-border: #e5e5e5;
	--pmm-panel-size: 15px;
	--pmm-heading-size: 13px;
	--pmm-inner-max: 1200px;
	--pmm-custom-width: 1100px;
	--pmm-img: 44px;
	--pmm-img-radius: 6px;

	position: relative;
	z-index: 999;
	background: var(--pmm-bar-bg);
	font-size: var(--pmm-bar-size);
	line-height: 1.35;
	box-sizing: border-box;
}
.pmm *,
.pmm *::before,
.pmm *::after { box-sizing: border-box; }

.pmm ul { list-style: none; margin: 0; padding: 0; }
.pmm li { margin: 0; padding: 0; }
.pmm li::before, .pmm li::marker { content: none; }
.pmm a { text-decoration: none; box-shadow: none; }
.pmm button,
.pmm button[type="button"] {
	font: inherit; color: inherit; margin: 0; padding: 0; min-height: 0; min-width: 0;
	background: transparent !important; border: 0 !important; border-radius: 0 !important;
	box-shadow: none !important; cursor: pointer; text-transform: none; letter-spacing: normal;
	line-height: 1; text-decoration: none;
}
.pmm button:hover,
.pmm button:focus,
.pmm button:active { background: transparent !important; color: inherit; border: 0 !important; }
.pmm :focus-visible { outline: 2px solid var(--pmm-bar-hover); outline-offset: 2px; }
.pmm a:focus:not(:focus-visible),
.pmm button:focus:not(:focus-visible) { outline: none; }

.pmm__sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Top level */
.pmm__top-row { display: flex; align-items: center; }
.pmm__top-link {
	display: block;
	color: var(--pmm-bar-text);
	font-weight: var(--pmm-bar-weight);
	padding: 14px 10px;
	transition: color .15s ease;
}
span.pmm__top-link { cursor: default; }
.pmm__top:hover > .pmm__top-row .pmm__top-link,
.pmm__top.is-open > .pmm__top-row .pmm__top-link,
.pmm__top.current-menu-item > .pmm__top-row .pmm__top-link,
.pmm__top.current-menu-ancestor > .pmm__top-row .pmm__top-link,
.pmm__top-link:focus { color: var(--pmm-bar-hover); }

.pmm .pmm__caret {
	width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center;
	color: var(--pmm-bar-text); margin-left: -6px;
}
.pmm__caret::before,
.pmm__col-toggle::before {
	content: ""; width: 7px; height: 7px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .2s ease;
}
.pmm__top.is-open > .pmm__top-row .pmm__caret::before { transform: translateY(2px) rotate(-135deg); }
.pmm__top.is-open > .pmm__top-row .pmm__caret,
.pmm__top:hover > .pmm__top-row .pmm__caret { color: var(--pmm-bar-hover); }

/* Panel contents */
.pmm__panel {
	background: var(--pmm-panel-bg);
	color: var(--pmm-panel-text);
	font-size: var(--pmm-panel-size);
	font-weight: 400;
}
.pmm__heading-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pmm__heading {
	display: flex; align-items: center; gap: 10px;
	color: var(--pmm-heading);
	font-size: var(--pmm-heading-size);
	font-weight: 700;
	letter-spacing: .02em;
}
.pmm--upper .pmm__heading { text-transform: uppercase; letter-spacing: .08em; }
a.pmm__heading:hover { color: var(--pmm-hover); }
.pmm .pmm__col-toggle { display: none; }

.pmm__link {
	display: flex; align-items: center; gap: 12px;
	padding: 7px 10px;
	margin: 0 -10px;
	border-radius: 6px;
	color: var(--pmm-panel-text);
	transition: background-color .15s ease, color .15s ease;
}
a.pmm__link:hover,
a.pmm__link:focus-visible,
.pmm__item.current-menu-item > .pmm__link { background: var(--pmm-hover-bg); color: var(--pmm-hover); }
.pmm__label { display: flex; flex-direction: column; min-width: 0; }
.pmm__title { font-weight: 500; }
.pmm__desc { color: var(--pmm-muted); font-size: .85em; margin-top: 2px; }

.pmm__img-wrap {
	flex: 0 0 var(--pmm-img);
	width: var(--pmm-img); height: var(--pmm-img);
	border-radius: var(--pmm-img-radius);
	overflow: hidden;
	background: var(--pmm-hover-bg);
}
.pmm__img-wrap img.pmm__img {
	width: 100% !important; height: 100% !important; max-width: none;
	object-fit: cover; display: block; border-radius: 0; margin: 0;
	transition: transform .25s ease;
}
a.pmm__link:hover .pmm__img { transform: scale(1.06); }
.pmm__heading .pmm__img-wrap { --pmm-img: 28px; }

.pmm__sub { padding-left: 14px !important; margin: 2px 0 4px !important; border-left: 1px solid var(--pmm-border); }
.pmm__sub .pmm__link { margin: 0; padding: 4px 8px; font-size: .92em; }

.pmm__footer { border-top: 1px solid var(--pmm-border); }
.pmm__view-all { color: var(--pmm-hover); font-weight: 600; font-size: .95em; }
.pmm__view-all:hover { text-decoration: underline; }

.pmm .pmm__toggle { display: none; }
