/*
Theme Name: realman-core
Text Domain: realman-core
Description: Lightweight Realman-owned WordPress theme for compatibility and polished WordPress fallbacks while Realman Property Hub and Realman Agency System control the main website experience.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
*/

body.realman-core-fallback {
	--rmc-navy: #0f2233;
	--rmc-navy-2: #18384d;
	--rmc-blue: #275f7a;
	--rmc-sky: #eaf2f6;
	--rmc-line: #dfe7ec;
	--rmc-text: #1e2d39;
	--rmc-muted: #6b7b87;
	--rmc-bg: #f7f9fa;
	--rmc-white: #ffffff;
	margin: 0;
	background: var(--rmc-bg);
	color: var(--rmc-text);
	font-family: "Plus Jakarta Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
}

body.realman-core-fallback *,
body.realman-core-fallback *::before,
body.realman-core-fallback *::after { box-sizing: border-box; }

body.realman-core-fallback a { color: inherit; }
body.realman-core-fallback img { max-width: 100%; height: auto; }

.realman-core-fallback .rmcore-container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.realman-core-fallback .rmcore-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(255,255,255,.96);
	border-bottom: 1px solid var(--rmc-line);
	backdrop-filter: blur(14px);
}
.realman-core-fallback .rmcore-navrow {
	min-height: 76px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.realman-core-fallback .rmcore-brand { display: inline-flex; align-items: center; text-decoration: none; }
.realman-core-fallback .rmcore-brand img { display: block; width: 182px; max-height: 42px; object-fit: contain; object-position: left center; }
.realman-core-fallback .rmcore-menu { display: flex; align-items: center; gap: 25px; }
.realman-core-fallback .rmcore-menu a {
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	color: #334754;
}
.realman-core-fallback .rmcore-menu a:hover,
.realman-core-fallback .rmcore-menu a:focus { color: var(--rmc-blue); }
.realman-core-fallback .rmcore-mobile { display: none; }
.realman-core-fallback .rmcore-mobile summary {
	cursor: pointer;
	font-weight: 800;
	list-style: none;
	padding: 9px 13px;
	border: 1px solid var(--rmc-line);
	border-radius: 10px;
	background: #fff;
}
.realman-core-fallback .rmcore-mobile summary::-webkit-details-marker { display: none; }
.realman-core-fallback .rmcore-mobile nav {
	position: absolute;
	right: 20px;
	top: 66px;
	width: min(300px, calc(100vw - 40px));
	padding: 10px;
	background: #fff;
	border: 1px solid var(--rmc-line);
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(15,34,51,.14);
}
.realman-core-fallback .rmcore-mobile nav a {
	display: block;
	padding: 11px 12px;
	border-radius: 9px;
	text-decoration: none;
	font-weight: 700;
}
.realman-core-fallback .rmcore-mobile nav a:hover { background: var(--rmc-sky); }

.realman-core-fallback .rmcore-main { min-height: 56vh; }
.realman-core-fallback .rmcore-hero {
	padding: 76px 0 58px;
	background: linear-gradient(180deg, #fff 0%, #f6f9fb 100%);
	border-bottom: 1px solid var(--rmc-line);
}
.realman-core-fallback .rmcore-eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--rmc-blue);
}
.realman-core-fallback h1,
.realman-core-fallback h2,
.realman-core-fallback h3 { color: var(--rmc-navy); line-height: 1.18; }
.realman-core-fallback h1 { margin: 0; font-size: clamp(34px, 5vw, 58px); letter-spacing: -.035em; }
.realman-core-fallback h2 { font-size: clamp(25px, 3vw, 34px); letter-spacing: -.02em; }
.realman-core-fallback h3 { font-size: 21px; }
.realman-core-fallback .rmcore-lead { max-width: 720px; margin: 16px 0 0; color: var(--rmc-muted); font-size: 18px; }

.realman-core-fallback .rmcore-section { padding: 54px 0 74px; }
.realman-core-fallback .rmcore-grid { display: grid; gap: 18px; }
.realman-core-fallback .rmcore-card {
	background: #fff;
	border: 1px solid var(--rmc-line);
	border-radius: 18px;
	padding: 26px;
	box-shadow: 0 9px 26px rgba(18,44,61,.045);
}
.realman-core-fallback .rmcore-card h2,
.realman-core-fallback .rmcore-card h3 { margin-top: 0; }
.realman-core-fallback .rmcore-meta { color: var(--rmc-muted); font-size: 13px; font-weight: 600; }
.realman-core-fallback .rmcore-excerpt { color: #536673; }
.realman-core-fallback .rmcore-titlelink { text-decoration: none; }
.realman-core-fallback .rmcore-titlelink:hover { color: var(--rmc-blue); }

.realman-core-fallback .rmcore-btnrow { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.realman-core-fallback .rmcore-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 11px;
	border: 1px solid var(--rmc-navy);
	background: var(--rmc-navy);
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}
.realman-core-fallback .rmcore-btn:hover { background: var(--rmc-navy-2); color: #fff; }
.realman-core-fallback .rmcore-btn.alt { background: #fff; color: var(--rmc-navy); border-color: var(--rmc-line); }

.realman-core-fallback .rmcore-content { max-width: 820px; }
.realman-core-fallback .rmcore-content > *:first-child { margin-top: 0; }
.realman-core-fallback .rmcore-content p,
.realman-core-fallback .rmcore-content li { color: #455965; }
.realman-core-fallback .rmcore-content a { color: var(--rmc-blue); }
.realman-core-fallback .rmcore-content figure { margin-left: 0; margin-right: 0; }
.realman-core-fallback .rmcore-content img { border-radius: 14px; }

.realman-core-fallback .rmcore-searchform { display: flex; gap: 10px; max-width: 620px; margin-top: 26px; }
.realman-core-fallback .rmcore-searchform label { flex: 1; }
.realman-core-fallback .rmcore-searchform input[type="search"] {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #cad6dd;
	border-radius: 11px;
	background: #fff;
	font: inherit;
}
.realman-core-fallback .rmcore-searchform button {
	height: 48px;
	padding: 0 18px;
	border: 0;
	border-radius: 11px;
	background: var(--rmc-navy);
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.realman-core-fallback .navigation.pagination { margin-top: 30px; }
.realman-core-fallback .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.realman-core-fallback .page-numbers {
	min-width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border: 1px solid var(--rmc-line);
	border-radius: 9px;
	background: #fff;
	text-decoration: none;
}
.realman-core-fallback .page-numbers.current { background: var(--rmc-navy); color: #fff; border-color: var(--rmc-navy); }

.realman-core-fallback .rmcore-footer {
	background: #0e1f2d;
	color: #dce5ea;
	padding: 48px 0 28px;
}
.realman-core-fallback .rmcore-footergrid {
	display: grid;
	grid-template-columns: 1.5fr .7fr .7fr;
	gap: 42px;
}
.realman-core-fallback .rmcore-footer img { width: 176px; filter: brightness(0) invert(1); opacity: .95; }
.realman-core-fallback .rmcore-footer p { max-width: 520px; color: #aebdc7; font-size: 14px; }
.realman-core-fallback .rmcore-footer strong { display: block; margin-bottom: 12px; color: #fff; }
.realman-core-fallback .rmcore-footer a { display: block; margin: 7px 0; color: #c6d2d9; text-decoration: none; font-size: 14px; }
.realman-core-fallback .rmcore-footer a:hover { color: #fff; }
.realman-core-fallback .rmcore-legal { margin-top: 36px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: #8fa2ae; font-size: 12px; }

@media (max-width: 820px) {
	.realman-core-fallback .rmcore-menu { display: none; }
	.realman-core-fallback .rmcore-mobile { display: block; position: relative; }
	.realman-core-fallback .rmcore-footergrid { grid-template-columns: 1fr 1fr; }
	.realman-core-fallback .rmcore-footerbrand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
	.realman-core-fallback .rmcore-container { width: min(100% - 28px, 1180px); }
	.realman-core-fallback .rmcore-navrow { min-height: 68px; }
	.realman-core-fallback .rmcore-brand img { width: 156px; }
	.realman-core-fallback .rmcore-hero { padding: 52px 0 40px; }
	.realman-core-fallback .rmcore-section { padding: 36px 0 54px; }
	.realman-core-fallback .rmcore-card { padding: 20px; border-radius: 14px; }
	.realman-core-fallback .rmcore-searchform { flex-direction: column; }
	.realman-core-fallback .rmcore-footergrid { grid-template-columns: 1fr; gap: 26px; }
	.realman-core-fallback .rmcore-footerbrand { grid-column: auto; }
}
