/*
Theme Name: WCFM Mutual
Theme URI: https://ledgermarketing.com
Author: Ledger Marketing
Author URI: https://ledgermarketing.com
Description: Custom block theme for Washington County Farmers Mutual Fire Insurance Company, Fayetteville, Arkansas. Serving Northwest Arkansas since 1922.
Version: 1.0.4
Requires at least: 6.4
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: wcfm-mutual
*/

/* ==========================================================================
   Layout resets — kill WP block-gap strips between full-width sections
   ========================================================================== */
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks main .alignfull { margin-block: 0; }
/* block-gap inside header/footer template parts (topline + logo bar) */
.wcfm-header > *, .wcfm-footer > * { margin-block: 0 !important; }

body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }

/* ==========================================================================
   Header
   ========================================================================== */
.wcfm-topline { font-size: 0.85rem; }
.wcfm-topline a { color: #fff !important; text-decoration: none; }
.wcfm-topline a:hover { color: #f0c9a8 !important; }

.wcfm-logo-bar img { display: block; width: 100%; max-width: 340px; height: auto; }
@media (max-width: 599px) {
	.wcfm-logo-bar img { max-width: 230px; }
}

/* Desktop header nav links: navy on the white header */
body .wcfm-header nav.wp-block-navigation a {
	color: #2e3a69 !important;
	text-decoration: none;
}
body .wcfm-header nav.wp-block-navigation a:hover { color: #de6428 !important; }

/* Header pay button (orange pill, white text) — stays visible on mobile */
.wcfm-pay-btn a {
	display: inline-block;
	background: #de6428;
	color: #fff !important;
	font-weight: 700;
	padding: 0.55em 1.3em;
	border-radius: 6px;
	text-decoration: none;
	white-space: nowrap;
}
.wcfm-pay-btn a:hover { background: #c2531e; color: #fff !important; }

/* Mobile nav overlay: legible white items, centered */
body .wcfm-header .wp-block-navigation__responsive-container.is-menu-open {
	background: #222b4e !important;
	padding: 4.5rem 2rem 2rem !important;
}
body .wcfm-header .wp-block-navigation__responsive-container.is-menu-open a {
	color: #fff !important;
	font-size: 1.35rem;
	padding: 0.4em 0;
}
body .wcfm-header .wp-block-navigation__responsive-container.is-menu-open a:hover { color: #f0c9a8 !important; }
body .wcfm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: center;
}
body .wcfm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: center;
	justify-content: center;
}
body .wcfm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
}
body .wcfm-header .wp-block-navigation__responsive-container-close,
body .wcfm-header .wp-block-navigation__responsive-container-open {
	color: #2e3a69;
}
body .wcfm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	color: #fff;
}

/* ==========================================================================
   Hero & dark bands — force light text at every heading level
   ========================================================================== */
.wcfm-hero :where(h1, h2, h3, h4, p, li) { color: #fff; }
.wcfm-dark-band :where(h1, h2, h3, h4, p, li) { color: #fff; }
.wcfm-hero .wp-block-cover__inner-container { max-width: 1140px; }

.wcfm-eyebrow {
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 0.85rem;
	color: #de6428;
}
.wcfm-hero .wcfm-eyebrow, .wcfm-dark-band .wcfm-eyebrow { color: #f0a570; }

/* Buttons on colored bands: white button, navy text (never same-hue on hue) */
.wcfm-payband .wp-block-button__link,
.wcfm-payband .wcfm-pay-lg a {
	background: #fff !important;
	color: #2e3a69 !important;
}
.wcfm-payband .wp-block-button__link:hover,
.wcfm-payband .wcfm-pay-lg a:hover { background: #f1e9da !important; color: #222b4e !important; }

/* Outline (ghost) button on photos/dark bands */
.wcfm-btn-ghost .wp-block-button__link {
	background: transparent !important;
	color: #fff !important;
	border: 2px solid #fff !important;
}
.wcfm-btn-ghost .wp-block-button__link:hover { background: rgba(255,255,255,0.15) !important; }

/* ==========================================================================
   Card grids — real CSS grid, never wp-block-columns for many items
   ========================================================================== */
.wcfm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
	gap: 1.5rem;
}
.wcfm-grid-wide {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.75rem;
}
/* WP injects blockGap margins between sibling groups — inside a grid they
   push every cell after the first downward. Zero them so cells align. */
.wcfm-grid > *, .wcfm-grid-wide > * { margin-block: 0 !important; }
.wcfm-card {
	background: #fff;
	border: 1px solid #e7e0d2;
	border-radius: 10px;
	padding: 1.75rem 1.5rem;
	box-shadow: 0 1px 3px rgba(34, 43, 78, 0.07);
}
.wcfm-card h3 { margin-top: 0; }
.wcfm-card-icon {
	width: 46px; height: 46px;
	display: flex; align-items: center; justify-content: center;
	background: #f5e3d3;
	color: #c2531e;
	border-radius: 9px;
	font-size: 1.35rem;
	margin-bottom: 0.9rem;
}
.wcfm-agent-card {
	background: #fff;
	border: 1px solid #e7e0d2;
	border-top: 4px solid #de6428;
	border-radius: 10px;
	padding: 1.75rem 1.5rem;
	box-shadow: 0 1px 3px rgba(34, 43, 78, 0.07);
}
.wcfm-agent-card h3 { margin: 0 0 0.2em; font-size: 1.25rem; }
.wcfm-agent-town { color: #6a7292; font-size: 0.92rem; margin: 0 0 0.75em; }
.wcfm-agent-card a { text-decoration: none; font-weight: 700; }

/* Check-list styling for coverage lists */
ul.wcfm-checks { list-style: none; padding-left: 0; margin-left: 0; }
ul.wcfm-checks li { padding-left: 1.7em; position: relative; margin-bottom: 0.5em; }
ul.wcfm-checks li::before {
	content: "✓";
	position: absolute; left: 0; top: 0;
	color: #de6428; font-weight: 700;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.wcfm-footer { font-size: 0.95rem; }
.wcfm-footer a { color: #f0c9a8; }
.wcfm-footer a:hover { color: #fff; }
.wcfm-footer h4 { color: #fff; font-family: "Lora", Georgia, serif; font-size: 1.05rem; letter-spacing: 0.04em; }
.wcfm-footer-logo img { max-width: 300px; height: auto; }
.wcfm-member-chip {
	background: #fff;
	border-radius: 8px;
	padding: 0.6rem 0.9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.wcfm-member-chip img { max-height: 56px; width: auto; }
.wcfm-member-chip img.wcfm-chip-round { max-height: 88px; }
.wcfm-footer-legal { font-size: 0.85rem; color: #aeb4cd; }
.wcfm-footer-legal a { color: #aeb4cd; text-decoration: underline; }
.wcfm-footer-legal a:hover { color: #fff; }

/* ==========================================================================
   Page-header band on interior pages
   ========================================================================== */
.wcfm-page-band { position: relative; }
.wcfm-page-band h1 { color: #fff; margin: 0; }
.wcfm-page-band p { color: #d9ddef; }

/* Payment page focal card */
.wcfm-pay-card {
	background: #fff;
	border: 1px solid #e7e0d2;
	border-radius: 12px;
	padding: 2.5rem 2rem;
	box-shadow: 0 10px 30px rgba(34, 43, 78, 0.12);
	text-align: center;
}

/* Contact info rows */
.wcfm-info-tile {
	background: #faf6ef;
	border: 1px solid #eee5d4;
	border-radius: 10px;
	padding: 1.5rem;
	height: auto;
}
.wcfm-info-tile h3 { margin-top: 0; font-size: 1.1rem; }
.wcfm-info-tile p { margin-bottom: 0; }

/* Arkansas outline decorative image */
.wcfm-ar-outline img { max-width: 300px; opacity: 0.95; }

/* Historic photo caption */
.wcfm-caption { font-size: 0.85rem; color: #6a7292; font-style: italic; }

/* Utility */
.wcfm-rule-orange {
	width: 64px; height: 4px; background: #de6428; border: none; margin: 0.75rem 0 1.25rem;
}
.wcfm-center .wcfm-rule-orange { margin-left: auto; margin-right: auto; }
