/* One For All — Responsive & Component Styles */

/* Sticky header */
.ofa-site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 1px 6px rgba(15, 44, 76, 0.08);
}

.ofa-logo-area {
	align-items: center;
	gap: 12px;
}

.ofa-logo-area img {
	max-height: 44px;
	width: auto;
}

/* Hero */
.ofa-hero {
	min-height: 560px;
}

.ofa-hero h1 {
	font-size: clamp(1.75rem, 5vw, 3.5rem) !important;
}

.ofa-hero p {
	font-size: clamp(1rem, 2vw, 1.25rem) !important;
}

@media (max-width: 600px) {
	.ofa-hero {
		min-height: 380px;
	}
}

/* Featured Listings grid — flexbox based, cannot collapse to near-zero width */
.ofa-listings-grid .wp-block-post-template {
	display: flex !important;
	flex-wrap: wrap;
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ofa-listings-grid .wp-block-post-template > * {
	flex: 1 1 calc(33.333% - 16px);
	max-width: calc(33.333% - 16px);
	box-sizing: border-box;
	min-width: 0;
}

@media (max-width: 960px) {
	.ofa-listings-grid .wp-block-post-template > * {
		flex-basis: calc(50% - 12px);
		max-width: calc(50% - 12px);
	}
}

@media (max-width: 600px) {
	.ofa-listings-grid .wp-block-post-template > * {
		flex-basis: 100%;
		max-width: 100%;
	}
}

/* Section padding tightens on smaller screens */
@media (max-width: 782px) {
	.ofa-section {
		padding-top: var(--wp--preset--spacing--50) !important;
		padding-bottom: var(--wp--preset--spacing--50) !important;
		padding-left: var(--wp--preset--spacing--30) !important;
		padding-right: var(--wp--preset--spacing--30) !important;
	}
}

@media (max-width: 480px) {
	.ofa-section {
		padding-top: var(--wp--preset--spacing--40) !important;
		padding-bottom: var(--wp--preset--spacing--40) !important;
	}
}

/* About section: force image above text on small screens for better reading order */
@media (max-width: 600px) {
	.ofa-about .wp-block-column {
		flex-basis: 100% !important;
	}
}
