/* Panel Mega Menu – desktop (loaded above the mobile breakpoint). */
.pmm__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: var(--pmm-bar-align);
	gap: 0 var(--pmm-bar-gap);
}
.pmm__top { display: flex; align-items: center; position: static; }

.pmm__panel {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
	border-top: 1px solid var(--pmm-border);
	border-bottom: 1px solid var(--pmm-border);
	z-index: 1000;
}
.pmm--width-custom .pmm__panel { width: var(--pmm-custom-width); max-width: calc(100vw - 32px); border: 1px solid var(--pmm-border); border-radius: 0 0 10px 10px; }
.pmm--shadow .pmm__panel { box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .18); }

/* Invisible bridge so the cursor can travel from the bar into the panel. */
.pmm__panel::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }

.pmm__top.is-open > .pmm__panel,
.pmm:not(.pmm--js) .pmm__top--has-panel:hover > .pmm__panel,
.pmm:not(.pmm--js) .pmm__top--has-panel:focus-within > .pmm__panel {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .18s ease, transform .18s ease, visibility 0s;
}

.pmm__panel-inner {
	max-width: var(--pmm-inner-max);
	margin: 0 auto;
	padding: 28px 32px 24px;
}
.pmm__grid {
	display: grid;
	grid-template-columns: repeat(var(--pmm-cols, 3), minmax(0, 1fr));
	gap: 24px 40px;
}
.pmm__col { grid-column: span var(--pmm-span, 1); min-width: 0; }
.pmm__heading-row { padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--pmm-border); }
.pmm__col--group .pmm__items { column-count: var(--pmm-span, 1); column-gap: 40px; }
.pmm__col--links { padding-top: 2px; }
.pmm__items > .pmm__item { break-inside: avoid; page-break-inside: avoid; }

.pmm__footer { margin-top: 20px; padding-top: 14px; }

/* Compact dropdown for simple lists (e.g. Contact → FAQ). */
.pmm__top--compact { position: relative; }
.pmm .pmm__top--compact > .pmm__panel {
	left: 0 !important;
	width: max-content !important;
	min-width: 240px;
	max-width: 360px;
	border: 1px solid var(--pmm-border);
	border-radius: 0 0 10px 10px;
}
.pmm__top--compact .pmm__panel-inner { padding: 12px 20px; }
.pmm__top--compact .pmm__grid { display: block; }
