/*
Theme Name: McMillan Warner Mutual
Theme URI: https://ledgermarketing.com
Author: Ledger Marketing
Author URI: https://ledgermarketing.com
Description: Custom block theme for McMillan Warner Mutual Insurance Company — a policyholder-owned Wisconsin mutual protecting homes, farms, and autos since 1898.
Version: 1.0.2
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mcmillan-warner
*/

/* ---------------------------------------------------------------------------
   Block-gap strips: zero vertical margins between top-level blocks and
   full-width sections so no body-background lines appear between bands.
--------------------------------------------------------------------------- */
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks main .alignfull { margin-block: 0; }

/* Block-gap INSIDE header/footer parts (topline + logo bar stacked groups). */
.mwm-header > *, .mwm-footer > * { margin-block: 0 !important; }

/* ---------------------------------------------------------------------------
   Header
--------------------------------------------------------------------------- */
.mwm-topline { font-size: 0.85rem; }
.mwm-topline a { color: #fff; text-decoration: none; }
.mwm-topline a:hover { color: #A7D0D2; }
.mwm-logo img { max-height: 74px; width: auto; }
body .mwm-header nav.wp-block-navigation a {
	color: #1A2857 !important;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 500;
	font-size: 1.02rem;
	text-decoration: none;
}
body .mwm-header nav.wp-block-navigation a:hover { color: #D1612F !important; }

/* Header pay button: orange on white header, white text. */
.mwm-paybtn a {
	display: inline-block;
	background: #D1612F;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 0.95rem;
	padding: 0.55rem 1.15rem;
	border-radius: 4px;
	text-decoration: none;
	white-space: nowrap;
}
.mwm-paybtn a:hover { background: #B04B1F; color: #fff !important; }

/* Mobile nav overlay: legible white items, centered. */
body .mwm-header .wp-block-navigation__responsive-container.is-menu-open {
	background: #1A2857 !important;
	padding: 4.5rem 1.5rem 2rem;
}
body .mwm-header .wp-block-navigation__responsive-container.is-menu-open a {
	color: #fff !important;
	font-size: 1.35rem;
	padding: 0.65rem 0;
}
body .mwm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: center;
}
body .mwm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: center;
	justify-content: center;
}
body .mwm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: center;
	justify-content: center;
}
.mwm-header .wp-block-navigation__responsive-container-close,
.mwm-header .wp-block-navigation__responsive-container-open {
	color: #1A2857;
}
body .mwm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: #fff; }

/* ---------------------------------------------------------------------------
   Hero / page-header bands: force light text at every heading level.
--------------------------------------------------------------------------- */
.mwm-hero :where(h1, h2, h3, h4, p, li) { color: #fff; }
.mwm-hero .mwm-eyebrow { color: #A7D0D2; }

.mwm-pageband { position: relative; }
.mwm-pageband :where(h1, h2, p) { color: #fff; }

/* Full-width interior pages: post-content is align-full + constrained. */

/* Eyebrow label */
.mwm-eyebrow {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #D1612F;
}

/* ---------------------------------------------------------------------------
   Buttons on colored bands: white button, band-colored text.
--------------------------------------------------------------------------- */
.mwm-payband .wp-block-button__link,
.mwm-payband .wp-element-button {
	background: #fff !important;
	color: #1A2857 !important;
}
.mwm-payband .wp-block-button__link:hover,
.mwm-payband .wp-element-button:hover {
	background: #EBF3F4 !important;
	color: #111C3F !important;
}

/* Ghost (outline) button on dark covers */
.mwm-btn-ghost .wp-block-button__link {
	background: transparent !important;
	border: 2px solid #fff;
	color: #fff !important;
}
.mwm-btn-ghost .wp-block-button__link:hover { background: rgba(255,255,255,0.14) !important; }

/* ---------------------------------------------------------------------------
   Card grids — real CSS grid, never wp-block-columns for many items.
--------------------------------------------------------------------------- */
.mwm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
}
.mwm-grid-wide {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 1.75rem;
}
.mwm-card {
	background: #fff;
	border: 1px solid #E5E0D3;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(26, 40, 87, 0.07);
	display: flex;
	flex-direction: column;
}
.mwm-card img { width: 100%; height: 200px; object-fit: cover; display: block; }
.mwm-card-body { padding: 1.15rem 1.35rem 1.5rem; flex: 1 1 auto; }
.mwm-card-body h3 {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.22rem;
	color: #1A2857;
}
.mwm-card-body p { margin: 0; font-size: 0.95rem; line-height: 1.6; }

/* Trust bar stats */
.mwm-stat h3 {
	font-size: 2.3rem;
	color: #D1612F;
	margin: 0;
	font-weight: 600;
}
.mwm-stat p {
	margin: 0.25rem 0 0;
	font-size: 0.92rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-family: var(--wp--preset--font-family--display);
	color: #1A2857;
	font-weight: 500;
}

/* ---------------------------------------------------------------------------
   Agent directory
--------------------------------------------------------------------------- */
.mwm-agent-search {
	width: 100%;
	max-width: 520px;
	padding: 0.8rem 1.1rem;
	font-size: 1.05rem;
	border: 2px solid #C8C2B2;
	border-radius: 6px;
	font-family: var(--wp--preset--font-family--body);
}
.mwm-agent-search:focus { outline: 2px solid #376C84; border-color: #376C84; }
.mwm-agent-card {
	background: #fff;
	border: 1px solid #E5E0D3;
	border-left: 4px solid #376C84;
	border-radius: 6px;
	padding: 1rem 1.2rem;
}
.mwm-agent-card h3 { margin: 0 0 0.35rem; font-size: 1.05rem; color: #1A2857; font-family: var(--wp--preset--font-family--display); }
.mwm-agent-card p { margin: 0; font-size: 0.9rem; line-height: 1.55; }
.mwm-agent-card a { text-decoration: none; }
.mwm-agent-count { font-size: 0.95rem; color: #6B7280; }

/* Timeline (About) */
.mwm-timeline { list-style: none; margin: 0; padding: 0; }
.mwm-timeline li {
	position: relative;
	padding: 0 0 1.4rem 2rem;
	border-left: 2px solid #A7D0D2;
	margin-left: 0.5rem;
}
.mwm-timeline li:last-child { border-left-color: transparent; padding-bottom: 0; }
.mwm-timeline li::before {
	content: "";
	position: absolute;
	left: -8px;
	top: 4px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #D1612F;
	border: 3px solid #fff;
	box-shadow: 0 0 0 2px #D1612F;
}
.mwm-timeline strong {
	font-family: var(--wp--preset--font-family--display);
	color: #1A2857;
	font-size: 1.05rem;
}

/* ---------------------------------------------------------------------------
   Footer
--------------------------------------------------------------------------- */
.mwm-footer { font-size: 0.95rem; }
.mwm-footer, .mwm-footer p, .mwm-footer li { color: #C9D2E8; }
.mwm-footer h4 {
	color: #fff;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.05rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 0.85rem;
}
.mwm-footer a { color: #fff; text-decoration: none; }
.mwm-footer a:hover { color: #A7D0D2; text-decoration: underline; }
.mwm-footer ul { list-style: none; margin: 0; padding: 0; }
.mwm-footer ul li { margin: 0 0 0.5rem; }
.mwm-footer-logo img { max-height: 58px; width: auto; }
.mwm-footer-chip {
	display: inline-block;
	background: #fff;
	border-radius: 6px;
	padding: 0.6rem 0.9rem;
	color: #1A2857;
	font-size: 0.82rem;
	line-height: 1.4;
}
.mwm-footer-chip strong { color: #1A2857; }
.mwm-footer-bottom {
	border-top: 1px solid rgba(255,255,255,0.16);
	font-size: 0.85rem;
}
.mwm-footer-bottom a { text-decoration: underline; }

/* ---------------------------------------------------------------------------
   Misc
--------------------------------------------------------------------------- */
.mwm-contact-block p { margin: 0 0 0.4rem; }
.mwm-divider { border: none; border-top: 2px solid #EFE9DB; margin: 0; }

@media (max-width: 781px) {
	/* Logo must leave room for the hamburger AND the always-visible pay button. */
	.mwm-logo img { max-height: none; max-width: min(48vw, 210px); height: auto; }
	.mwm-logo { line-height: 0; }
	.mwm-header .wp-block-group { column-gap: 0.6rem; }
	.mwm-topline { font-size: 0.78rem; }
	.mwm-paybtn a { font-size: 0.82rem; padding: 0.5rem 0.7rem; }
	.mwm-card img { height: 180px; }
}
