/* Real Ink Farm Finder styles. Brand navy #0A3161, Signature Gold #C4A747. */

.rilff-landing {
	max-width: 840px;
	margin: 0 auto;
	padding: 0 20px;
}

.rilff-landing h2:first-child {
	margin-top: 0;
}

.rilff-wrap {
	max-width: 1000px;
	margin: 2rem auto;
	font-family: inherit;
}

.rilff-head h2 {
	color: #0A3161;
	margin-bottom: 0.35rem;
	font-size: 1.6rem;
}

.rilff-head p {
	color: #4a5568;
	margin-top: 0;
}

.rilff-toolbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.75rem;
	align-items: center;
	margin-bottom: 0.5rem;
}

.rilff-search {
	display: flex;
	flex: 1 1 300px;
	gap: 0.5rem;
}

.rilff-search input {
	flex: 1;
	padding: 0.55rem 0.75rem;
	border: 1px solid #c3cad6;
	border-radius: 6px;
	font-size: 0.95rem;
}

.rilff-tools {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.rilff-btn {
	background: #0A3161;
	color: #ffffff;
	border: 1px solid #0A3161;
	border-radius: 6px;
	padding: 0.55rem 1rem;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
}

.rilff-btn:disabled {
	background: #93a3bd;
	border-color: #93a3bd;
	cursor: not-allowed;
}

.rilff-btn-ghost {
	background: #ffffff;
	color: #0A3161;
}

.rilff-btn-ghost:disabled {
	color: #93a3bd;
	background: #ffffff;
	border-color: #d8dee7;
}

.rilff-btn-gold {
	background: #C4A747;
	border-color: #C4A747;
	color: #1c1c1c;
}

.rilff-btn-gold:disabled {
	background: #d8c98d;
	border-color: #d8c98d;
	color: #7a6f4d;
}

.rilff-hint {
	color: #4a5568;
	font-size: 0.92rem;
}

#rilff-map {
	height: 480px;
	width: 100%;
	border-radius: 10px;
	border: 1px solid #c3cad6;
}

.rilff-actions {
	text-align: center;
	margin: 1.25rem 0;
}

.rilff-quote {
	border: 1px solid #d8dee7;
	border-radius: 10px;
	padding: 1.5rem;
	background: #faf7f0;
}

.rilff-big {
	color: #0A3161;
	font-size: 1.5rem;
	font-weight: 700;
}

.rilff-sub {
	color: #4a5568;
	margin: 0.25rem 0 1rem;
}

.rilff-rows div {
	display: flex;
	justify-content: space-between;
	padding: 0.5rem 0;
	border-bottom: 1px solid #e4e0d5;
	color: #2d3748;
}

.rilff-rows .rilff-total {
	border-bottom: none;
	font-weight: 700;
	color: #0A3161;
	font-size: 1.1rem;
	padding-top: 0.85rem;
}

.rilff-note {
	margin-top: 1rem;
	color: #4a5568;
	font-size: 0.88rem;
}

.rilff-error {
	border: 1px solid #e0b4b4;
	background: #fff6f6;
	color: #9f3a38;
	border-radius: 8px;
	padding: 1rem;
}

.rilff-note-plain {
	color: #4a5568;
}

@media (max-width: 640px) {
	#rilff-map {
		height: 360px;
	}
	.rilff-toolbar {
		flex-direction: column;
		align-items: stretch;
	}
	.rilff-tools {
		justify-content: center;
	}
}

/* Save-as-my-farm panel + My Farms page */
.rilff-save { margin-top: 1rem; }
.rilff-save label { display: block; font-weight: 600; color: #0A3161; margin-bottom: 0.4rem; }
.rilff-saverow { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.rilff-saverow input { flex: 1 1 220px; padding: 0.55rem 0.75rem; border: 1px solid #c3cad6; border-radius: 6px; font-size: 0.95rem; }
.rilff-savemsg { margin-top: 0.5rem; font-size: 0.92rem; }
.rilff-ok-inline { color: #2e7d32; }
.rilff-error-inline { color: #9f3a38; }

.rilff-myfarms { max-width: 900px; margin: 0 auto; }
.rilff-myfarms h2 { color: #0A3161; }
.rilff-muted { color: #4a5568; font-weight: 400; }
.rilff-farmcards { display: grid; gap: 1rem; margin: 1.25rem 0; }
.rilff-farmcard { border: 1px solid #d8dee7; border-radius: 10px; padding: 1.1rem 1.25rem; background: #faf7f0; }
.rilff-farmcard-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 0.35rem; }
.rilff-farmname { margin: 0; color: #0A3161; font-size: 1.15rem; }
.rilff-farmage { color: #4a5568; font-size: 0.85rem; }
.rilff-farmage.rilff-stale { color: #9f3a38; }
.rilff-farmcard-stats { display: flex; gap: 1.25rem; flex-wrap: wrap; margin: 0.75rem 0; color: #2d3748; font-size: 0.95rem; }
.rilff-farmcard-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.rilff-farmcard-msg { margin-top: 0.5rem; font-size: 0.9rem; }
@media (max-width: 640px) {
	.rilff-farmcard-actions { flex-direction: column; align-items: stretch; }
}

/* v0.4.0 — farm product page body */
.rilff-product-intro {
	max-width: 46rem;
	color: #14181f;
	margin: 0 0 0.75rem;
}
.rilff-product-intro + .rilff-wrap .rilff-head h2 {
	display: none; /* the product title h1 already says Real Estate Farming */
}

/* ── v0.8.0: counting page (/count-the-homes/) ─────────────── */

.rilff-count-wrap {
	max-width: 640px;
	margin: 40px auto 60px;
	padding: 0 20px;
	text-align: center;
}

.rilff-count-stage {
	padding: 30px 0 10px;
}

.rilff-wheel {
	width: 54px;
	height: 54px;
	margin: 0 auto 26px;
	border-radius: 50%;
	border: 6px solid #e8e4da;
	border-top-color: #0A3161;
	border-right-color: #C4A747;
	animation: rilff-spin 1.6s linear infinite;
}

@keyframes rilff-spin {
	to { transform: rotate(360deg); }
}

.rilff-count-title {
	font-family: Georgia, 'Times New Roman', serif;
	color: #0A3161;
	font-size: 30px;
	line-height: 1.3;
	margin: 0 0 10px;
}

.rilff-count-status {
	color: #5c6470;
	font-size: 16px;
	margin: 0 0 24px;
	min-height: 24px;
}

#rilff-count-result {
	text-align: left;
}

#rilff-count-result .rilff-quote,
#rilff-count-result .rilff-save {
	text-align: left;
}


/* ===== v0.9.2 - the map IS the page: full width, above the fold ===== */
body.rilff-farm-page .woocommerce-notices-wrapper { display: none; }

/* The H1 stays for SEO and screen readers, but is not drawn. */
body.rilff-farm-page h1.product_title {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Break the tool out of the theme column to the full viewport width. */
body.rilff-farm-page .rilff-wrap {
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	margin: 0 0 0 -50vw;
}

/* Slim control bar sits flush above the map, padded so controls clear the edges. */
body.rilff-farm-page .rilff-toolbar,
body.rilff-farm-page .rilff-hint,
body.rilff-farm-page .rilff-anon-note,
body.rilff-farm-page .rilff-actions,
body.rilff-farm-page #rilff-result,
body.rilff-farm-page .rilff-testimonials {
	padding-left: max(20px, 3vw);
	padding-right: max(20px, 3vw);
	box-sizing: border-box;
}
body.rilff-farm-page .rilff-toolbar { margin: 14px 0 6px; }
body.rilff-farm-page .rilff-hint { margin: 0 0 10px; }
body.rilff-farm-page .rilff-anon-note { margin: 0 0 6px; color: #0A3161; font-weight: 600; font-size: 0.92rem; }

/* The map: edge to edge, dominant, about 70% of the screen height. */
body.rilff-farm-page #rilff-map {
	width: 100%;
	height: 70vh;
	min-height: 460px;
	border-radius: 0;
	border-left: 0;
	border-right: 0;
}

/* Result / testimonial blocks stay readable, centered under the map. */
body.rilff-farm-page #rilff-result,
body.rilff-farm-page .rilff-testimonials {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

/* Landing copy follows the map; keep a comfortable reading column. */
body.rilff-farm-page .rilff-landing { margin-top: 44px; }

@media (max-width: 700px) {
	body.rilff-farm-page #rilff-map { height: 62vh; min-height: 380px; }
}


/* ===== v0.9.4 - first-draw nudge overlay on the map ===== */
.rilff-mapstage { position: relative; }
.rilff-mapstage #rilff-map { position: relative; z-index: 1; }

.rilff-nudge {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -58%);
	z-index: 2;
	text-align: center;
	pointer-events: none; /* clicks pass straight through to the map */
}

.rilff-nudge img {
	width: 52px;
	height: auto;
	display: block;
	margin: 0 auto;
	filter: drop-shadow(0 3px 4px rgba(10, 49, 97, 0.35));
	animation: rilff-bob 2.2s ease-in-out infinite;
}

.rilff-nudge p {
	display: inline-block;
	margin: 6px 0 0;
	padding: 8px 16px;
	background: #ffffff;
	color: #0A3161;
	font-weight: 600;
	font-size: 14.5px;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(10, 49, 97, 0.22);
	white-space: nowrap;
}

@keyframes rilff-bob {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-7px); }
}

@media (max-width: 700px) {
	.rilff-nudge p { font-size: 13px; padding: 7px 13px; }
	.rilff-nudge img { width: 42px; }
	.rilff-nudge p { white-space: normal; max-width: 220px; }
}


/* ===== v0.9.5 - shape shown inside the counting reveal ===== */
#rilff-mini-map {
	height: 210px;
	width: 100%;
	border: 1px solid #d8dee7;
	border-radius: 10px;
	margin-bottom: 16px;
	overflow: hidden;
}
