/* ==========================================================================
   BLESS — header dropdown panels
   Deep burgundy with the floral pattern, champagne hairlines, an icon per link.
   Same markup for the Appearance → Menus menu and the built-in default menu.
   ========================================================================== */

.mega-panel {
	min-width: 0;
	width: max-content;
	max-width: min(760px, 94vw);
	padding: 0;
	color: var(--bless-cream);
	background:
		radial-gradient(520px 260px at 100% 0, rgba(201,166,107,.12), transparent 62%),
		linear-gradient(165deg, #6a1527 0%, #4f0e1d 55%, #390915 100%);
	border: 1px solid rgba(201,166,107,.5);
	border-top: 2px solid var(--bless-champagne);
	border-radius: 0 0 22px 22px;
	box-shadow: 0 26px 54px rgba(30,10,15,.38), inset 0 1px 0 rgba(255,255,255,.06);
	overflow: hidden;
}
/* Right-hand menu opens centred under its item (never over the logo); the last one pins to the edge. */
.primary-nav--right .mega-panel { left: 50%; right: auto; transform: translate(-50%, 8px); }
.primary-nav--right .mega-nav__item:hover .mega-panel,
.primary-nav--right .mega-nav__item.is-open .mega-panel { transform: translate(-50%, 0); }
.primary-nav--right .mega-nav__item:last-child .mega-panel { left: auto; right: 0; transform: translate(0, 8px); }
.primary-nav--right .mega-nav__item:last-child:hover .mega-panel,
.primary-nav--right .mega-nav__item:last-child.is-open .mega-panel { transform: translate(0, 0); }

/* lattice texture: its own layer, kept faint and behind the text */
.mega-panel::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: url('../img/lattice-pattern.svg') 0 0 / 64px 64px;
	opacity: .1;
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.45) 100%);
	mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.45) 100%);
}
.mega-panel__inner { position: relative; z-index: 1; padding: 22px 26px 24px; }

/* heading row */
.mega-panel__head {
	display: flex; align-items: center; gap: 12px;
	padding-bottom: 14px; margin-bottom: 14px;
	border-bottom: 1px solid rgba(201,166,107,.35);
}
.mega-panel__orn { flex: none; display: inline-flex; color: var(--bless-champagne); }
.mega-panel__orn svg { width: 22px; height: 22px; }
.mega-panel .mega-panel__heading {
	margin: 0; flex: 1; max-width: none;
	font-family: var(--font-serif); font-size: 1.55rem; font-weight: 500; line-height: 1;
	color: var(--bless-cream); letter-spacing: .01em;
}
.mega-panel__all {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap;
	color: var(--bless-champagne); transition: color .2s var(--ease), gap .2s var(--ease);
}
.mega-panel__all svg { width: 15px; height: 15px; }
.mega-panel__all:hover { color: #fff; gap: 10px; }

/* link list: fills column by column, 5 per column */
.mega-panel__list {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(var(--rows, 5), auto);
	grid-template-columns: repeat(var(--cols, 1), minmax(210px, 1fr));
	column-gap: 14px; row-gap: 2px;
}
.mega-panel .mega-panel__link {
	display: flex; align-items: center; gap: 13px;
	padding: 8px 12px 8px 8px; margin: 0;
	border-radius: 14px;
	font-size: .92rem; letter-spacing: .01em; color: #fbf6ee; text-shadow: 0 1px 2px rgba(30,5,10,.35);
	transition: background-color .22s var(--ease), color .22s var(--ease);
}
.mega-panel .mega-panel__link:hover { padding-left: 8px; background: rgba(247,243,236,.09); color: #fff; }
.mega-panel__ico {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px;
	color: var(--bless-champagne);
	transition: color .22s var(--ease), transform .3s var(--ease);
}
.mega-panel__ico svg { width: 30px; height: 30px; fill: rgba(201,166,107,.0); transition: fill .22s var(--ease); }
.mega-panel .mega-panel__link:hover .mega-panel__ico { color: #f3dfb4; transform: translateY(-2px); }
.mega-panel .mega-panel__link:hover .mega-panel__ico svg { fill: rgba(201,166,107,.32); }
.mega-panel .mega-panel__link--parent { font-weight: 500; color: #fff; }
.mega-panel .mega-panel__link--sub { padding-left: 30px; font-size: .86rem; color: rgba(251,246,238,.86); }
.mega-panel .mega-panel__link--sub:hover { padding-left: 30px; }
.mega-panel__link--sub .mega-panel__ico { width: 26px; height: 26px; }
.mega-panel__link--sub .mega-panel__ico svg { width: 22px; height: 22px; }

/* links rise in once as the panel opens */
@keyframes bless-menu-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.mega-nav__item:hover .mega-panel__link,
.mega-nav__item.is-open .mega-panel__link { animation: bless-menu-rise .4s var(--ease) both; animation-delay: calc(var(--i, 0) * 35ms + 40ms); }

/* Mobile drawer: sub-items */
.mobile-nav__links a.is-sub { padding-left: var(--space-3); font-size: .92rem; opacity: .8; }
.mobile-nav__links a.is-sub--2 { padding-left: var(--space-4); font-size: .86rem; }

@media (prefers-reduced-motion: reduce) {
	.mega-nav__item:hover .mega-panel__link, .mega-nav__item.is-open .mega-panel__link { animation: none; }
	.mega-panel__ico, .mega-panel .mega-panel__link { transition: none; }
}
