/* Site header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 10;
	pointer-events: none;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	padding-inline: max(24px, calc((100% - 1100px) / 2)) !important;
	height: 53px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	overflow: visible !important;
}
.site-header > * { pointer-events: auto; }
.site-header .logo-group { transform: translateY(20px); pointer-events: none; flex-shrink: 0; }
.site-header .logo-group > * { pointer-events: auto; }
.site-header .title-group { transform: translateY(-20px); }
.site-header .wp-block-site-logo { align-self: flex-start; transform: translateY(10px); }
.site-header .wp-block-navigation { align-self: center; }
.site-header .wp-block-navigation__container {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	font-family: var(--wp--preset--font-family--nav);
	font-size: 16px;
}
.site-header .wp-block-navigation-item { list-style: none; }

/* Main nav hamburger (CSS-only): the hidden checkbox toggles .lrmd-nav-panel
   visibility on mobile via the sibling combinator. */
.lrmd-main-nav { display: flex; align-items: center; position: relative; }
.lrmd-nav-toggle-input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	clip: rect(0 0 0 0);
}
.lrmd-nav-toggle {
	display: none;
	cursor: pointer;
	color: #ffffff;
	font-size: 24px;
	line-height: 1;
	padding: 6px 8px;
	user-select: none;
}
.lrmd-nav-toggle:hover { color: #FFB800; }
.lrmd-nav-toggle-icon-close { display: none; }
.lrmd-nav-toggle-input:focus-visible + .lrmd-nav-toggle {
	outline: 2px solid #FFB800;
	outline-offset: 2px;
}
.lrmd-nav-panel { display: block; }

@media (max-width: 781px) {
	.lrmd-nav-toggle { display: inline-flex; align-items: center; }
	.lrmd-nav-panel {
		display: none;
		position: absolute;
		top: calc(100% + 4px);
		right: 0;
		width: min(90vw, 280px);
		background: #c8dcf8;
		padding: 1rem 1.25rem;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
		z-index: 20;
	}
	.lrmd-nav-toggle-input:checked ~ .lrmd-nav-panel { display: block; }
	.lrmd-nav-toggle-input:checked + .lrmd-nav-toggle .lrmd-nav-toggle-icon { display: none; }
	.lrmd-nav-toggle-input:checked + .lrmd-nav-toggle .lrmd-nav-toggle-icon-close { display: inline; }

	.lrmd-nav-panel .wp-block-navigation__container {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.5rem;
	}
	.lrmd-nav-panel .wp-block-navigation a,
	.lrmd-nav-panel .wp-block-navigation .wp-block-navigation-item__content {
		color: #0F2660 !important;
	}
	.lrmd-nav-panel .wp-block-navigation a:hover,
	.lrmd-nav-panel .wp-block-navigation .wp-block-navigation-item__content:hover {
		color: #1B40A8 !important;
	}
}
.site-header .wp-block-site-title {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	line-height: 1.15;
}
.site-header .wp-block-site-title a { color: #ffffff !important; text-decoration: none !important; }
.site-header .wp-block-site-tagline {
	color: #90b8e8 !important;
	margin-top: 0 !important;
	line-height: 1.2;
}
.site-header .wp-block-navigation a,
.site-header .wp-block-navigation .wp-block-navigation-item__content { color: #c8dcf8 !important; }
.site-header .wp-block-navigation a:hover,
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: #FFB800 !important;
	text-decoration: none !important;
}
.site-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
	color: #FFB800 !important;
	border-bottom: 3px solid #FFB800;
}
.site-header button { color: #ffffff !important; }

/* Desktop header (≥600 px) — fixes plan.md H3.
   The 53 px hard-coded header + portrait logo (110×215 → 54×105 at width:54)
   was overflowing into the next sibling band on wide screens, hiding the
   bottom of the logo. Mobile (<600 px) view is intentionally untouched. */
@media (min-width: 600px) {
	.site-header {
		height: auto !important;
		min-height: 68px;
	}
	.site-header .logo-group { transform: none; }
	.site-header .title-group { transform: none; }
	.site-header .wp-block-site-logo {
		align-self: center;
		transform: none;
	}
	.site-header .wp-block-site-logo img {
		height: 56px !important;
		max-height: 56px;
		width: auto !important;
	}
}

header.wp-block-template-part + * { margin-block-start: 0 !important; }

/* Header right-side actions (nav + language switcher) */
.site-header .header-actions { gap: 14px; min-width: 0; }

/* Language switcher (Polylang via [lrmd_language_switcher]) */
.lrmd-lang {
	display: flex;
	align-items: center;
	font-family: var(--wp--preset--font-family--nav);
	font-size: 12px;
	flex-shrink: 0;
	white-space: nowrap;
}
.lrmd-lang-link {
	color: #90b8e8 !important;
	text-decoration: none !important;
	padding: 0 3px;
}
.lrmd-lang-link:hover { color: #FFB800 !important; }
.lrmd-lang-link.is-active {
	color: #FFB800 !important;
	font-weight: 700;
}
.lrmd-lang-sep { color: rgba(255, 255, 255, 0.25); margin: 0 3px; }

/* Section page layout — content + right sidebar (collapses on narrow views) */
.lrmd-section-layout { gap: 3rem; }
.lrmd-section-layout .lrmd-section-main { min-width: 0; }

/* Vertical section nav (lives inside the right column) */
.section-nav-sidebar {
	border-top: 3px solid #1B40A8;
	background: rgba(255, 255, 255, 0.4);
	padding: 1rem 1.25rem;
}
.section-nav-sidebar .section-nav-title {
	font-family: var(--wp--preset--font-family--nav) !important;
	font-size: 11px !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #1B40A8 !important;
	margin: 0 0 0.75rem !important;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #c8d8ec;
	font-weight: 700;
}
.section-nav-sidebar .wp-block-navigation { display: block; }
.section-nav-sidebar .wp-block-navigation > .wp-block-navigation__container,
.section-nav-sidebar .wp-block-navigation .wp-block-navigation__container {
	display: flex !important;
	flex-direction: column !important;
	gap: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.section-nav-sidebar .wp-block-navigation .wp-block-navigation-item {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid #e8e4dc;
}
.section-nav-sidebar .wp-block-navigation .wp-block-navigation-item:last-child {
	border-bottom: none;
}
.section-nav-sidebar .wp-block-navigation a,
.section-nav-sidebar .wp-block-navigation .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.5rem 0;
	color: #1B40A8 !important;
	text-decoration: none;
	font-weight: 500;
}
.section-nav-sidebar .wp-block-navigation a:hover,
.section-nav-sidebar .wp-block-navigation .wp-block-navigation-item__content:hover,
.section-nav-sidebar .wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
	color: #0F2660 !important;
	background: rgba(27, 64, 168, 0.05);
	text-decoration: none;
}

/* Stack columns on narrow views — content first, sidebar below.
   WordPress Columns block stacks at 781px by default; this just tightens
   spacing for the stacked layout. */
@media (max-width: 781px) {
	.lrmd-section-layout { gap: 1.5rem; }
	.lrmd-section-layout .lrmd-section-aside { margin-top: 1rem; }
}

/* Hamburger panel — light-blue dropdown anchored under the nav, not full-screen */
body .wp-block-navigation__responsive-container.is-menu-open,
body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	background-color: #c8dcf8 !important;
	color: #0F2660 !important;
}
body .wp-block-navigation__responsive-container.is-menu-open {
	position: absolute !important;
	inset: auto 0 auto auto !important;
	top: calc(100% + 4px) !important;
	width: min(90vw, 280px) !important;
	height: auto !important;
	padding: 1rem 1.25rem !important;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}
body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 1.5rem !important;
}
html.has-modal-open { overflow: visible !important; }

/* Hamburger toggle (closed state) — visible on blue/navy strip */
.wp-block-navigation__responsive-container-open {
	color: #ffffff !important;
}
.section-nav-strip .wp-block-navigation__responsive-container-open {
	color: #FFB800 !important;
}

/* Close button (open state) — sits on light-blue overlay, render in navy */
.wp-block-navigation__responsive-container-close {
	color: #0F2660 !important;
}
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
	fill: currentColor;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	display: flex !important;
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
}

/* Menu items inside the open overlay — navy on light-blue */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open a {
	color: #0F2660 !important;
	text-decoration: none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open a:hover,
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item .wp-block-navigation-item__content {
	color: #1B40A8 !important;
	text-decoration: underline;
}

/* Breadcrumb */
.lrmd-breadcrumb {
	font-family: var(--wp--preset--font-family--nav);
	font-size: 13px;
	color: #6080a8;
	margin-bottom: 0.5rem;
}
.lrmd-breadcrumb a { color: #FFB800 !important; text-decoration: none; }
.lrmd-breadcrumb a:hover { color: #e8a600 !important; }
.lrmd-bc-sep { color: #6080a8; }

/* All h1 default to gold (logo accent) */
body h1,
body .wp-block-heading.wp-block-post-title,
body .wp-block-heading.wp-block-query-title,
.has-navy-background-color .wp-block-post-title,
.has-navy-background-color .wp-block-query-title,
.lrmd-hero-title,
.lrmd-title-band h1 { color: #FFB800 !important; }

/* Hero band on home */
.hero-band {
	background: linear-gradient(135deg, #1B40A8 0%, #0F2660 60%, #132B70 100%) !important;
	padding-block: 3rem;
}
.hero-band h2,
.hero-band h3 { color: #ffffff !important; }
.hero-band h1 { color: #FFB800 !important; }
.hero-band p { color: #c8dcf8 !important; }
.hero-band a { color: #FFB800 !important; }

.lrmd-hero-title {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
}

.lrmd-hero-tagline {
	font-size: 15px;
}

/* Page bands */
.lrmd-title-band {
	padding-block: 1.5rem;
}

.lrmd-content-body {
	padding-block: 2rem 3rem;
}

.lrmd-content-loose {
	padding-block: 3rem;
}

/* List items in archive/home/index/search query loops */
.lrmd-list-item {
	border-bottom: 1px solid #d9d5cc;
	padding-block: 1.25rem;
	margin-bottom: 0;
}

/* Footer */
.lrmd-footer-bar {
	border-top: 3px solid #1B40A8;
	padding-block: 1.25rem;
}
footer .wp-block-navigation a { color: #FFB800; }
footer .wp-block-navigation a:hover { color: #e8a600; text-decoration: none; }

.lrmd-meta-text {
	font-size: 13px;
	margin-block: 0;
}

/* Single post meta band */
.post-meta-band,
.post-meta-band a { color: #6080a8 !important; text-decoration: none; }
.post-meta-band a:hover { color: #90b0d8 !important; }
.post-meta-band { margin-bottom: 0.5rem; }

/* Generic spacing helpers */
.lrmd-meta-row { margin-bottom: 1.5rem; }
.lrmd-section-heading { margin-bottom: 1.5rem; }

.lrmd-post-nav-bar {
	border-top: 1px solid #d9d5cc;
	padding-top: 1.5rem;
}

/* Focus styles */
a:focus,
button:focus {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

/* Sticky-footer scaffold */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.wp-site-blocks > main { flex-grow: 1; }
