/* MSM Site Structure — SPDX-License-Identifier: GPL-2.0-or-later */

:root {
	--msm-navy: #1c2b5a;
	--msm-red: #9e1b22;
	--msm-line: #e2dacb;
}

/* ---------- Header */
.msm-header { border-bottom: 1px solid var(--msm-line); }
.msm-header .msm-topbar { padding: 0.45rem 0 0; min-height: 1.5rem; }
.msm-header .msm-topbar > p { margin: 0; }
.msm-header .msm-brand-row { padding: 0.35rem 0 0.9rem; }
.msm-header .msm-brand .wp-block-site-logo { flex-shrink: 0; }
.msm-header .msm-site-title { font-size: clamp(1.2rem, 1rem + 0.9vw, 1.6rem); line-height: 1.2; }
.msm-header .msm-site-title a { text-decoration: none; color: var(--msm-navy); }
.msm-header .msm-tagline { letter-spacing: 0.08em; text-transform: uppercase; margin-top: 0.2rem; }
.msm-header .wp-block-site-logo img { display: block; }
.msm-header .msm-nav-row { border-top: 1px solid var(--msm-line); padding: 0.55rem 0; }
.msm-primary-nav .wp-block-navigation-item__content { padding: 0.3rem 0; border-bottom: 2px solid transparent; color: var(--wp--preset--color--contrast); }
.msm-primary-nav .wp-block-navigation-item__content:hover,
.msm-primary-nav .wp-block-navigation-item__content:focus { border-bottom-color: var(--msm-line); text-decoration: none; }
.msm-primary-nav .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--msm-red); color: var(--msm-navy); }
.msm-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; }

/* Language switcher */
.msm-lang ul { display: flex; flex-wrap: wrap; gap: 0.2rem; list-style: none; margin: 0; padding: 0; font-size: 0.8rem; }
.msm-lang a { display: inline-block; padding: 0.3rem 0.6rem; border-radius: 3px; color: var(--wp--preset--color--contrast-2); text-decoration: none; line-height: 1.2; }
.msm-lang a:hover, .msm-lang a:focus { color: var(--msm-navy); background: #f1ede4; }
.msm-lang .is-current a { background: var(--msm-navy); color: #fff; }
.msm-header .wp-block-shortcode p, .msm-header > .msm-brand-row > p { margin: 0; }

@media (max-width: 781px) {
	.msm-header .msm-topbar { justify-content: center !important; }
	.msm-lang ul { justify-content: center; }
	.msm-header .wp-block-site-logo img { width: 56px !important; height: auto; }
	.msm-header .msm-nav-row { justify-content: flex-end !important; padding: 0.3rem 0; }
}

/* ---------- Home page */
.msm-hero h1 { color: var(--msm-navy); line-height: 1.1; margin-top: 0.4rem; }
.msm-hero .msm-kicker { text-transform: uppercase; margin-bottom: 0; }
.msm-hero .wp-block-image img { box-shadow: 0 18px 40px -22px rgba(28, 43, 90, 0.55); }

.msm-card {
	position: relative;
	height: 100%;
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--30);
	background: #fff;
	border: 1px solid var(--msm-line);
	border-top: 3px solid var(--msm-navy);
	border-radius: 4px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.msm-card > * + * { margin-block-start: 0.8rem; }
.msm-card h3 { margin-top: 0; }
.msm-card h3 a { color: var(--msm-navy); text-decoration: none; }
.msm-card h3 a::after { content: ""; position: absolute; inset: 0; } /* whole card is clickable */
.msm-card:hover, .msm-card:focus-within { box-shadow: 0 10px 28px -16px rgba(28, 43, 90, 0.45); transform: translateY(-2px); }
.msm-card:focus-within { outline: 2px solid var(--msm-navy); outline-offset: 2px; }
.msm-card .msm-more { color: var(--msm-red); font-size: 0.9rem; font-weight: 600; }

.msm-band .wp-block-heading { color: var(--msm-navy); }
.msm-band a:not(.wp-element-button) { color: var(--msm-navy); }
.wp-site-blocks > footer:last-child { margin-block-start: var(--wp--preset--spacing--50); }
body.home .wp-site-blocks > footer, body.home .wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0; }

/* ---------- Articles list */
.msm-article { padding: var(--wp--preset--spacing--30) 0; border-bottom: 1px solid var(--msm-line); }
.msm-article .wp-block-post-title { margin: 0; }
.msm-article .wp-block-post-title a { text-decoration: none; color: var(--msm-navy); }

/* ---------- Footer */
.msm-footer a { color: #fff; text-decoration: none; }
.msm-footer a:hover, .msm-footer a:focus { text-decoration: underline; }
.msm-footer .msm-footer-logo img { border-radius: 4px; }
.msm-footer .wp-block-site-logo { flex-shrink: 0; }
.msm-footer .wp-block-site-tagline { color: #fff; opacity: 0.75; }
.msm-footer .msm-credit { border-top: 1px solid rgba(255, 255, 255, 0.2); opacity: 0.8; }
.msm-footer-nav .wp-block-navigation-item__content { color: #fff; }
