/**
 * Public-facing styles for MBF Organizations
 * Colors match MBF Fundraiser theme: warm off-white, forest green accent.
 */

/* Reset theme body padding when error page is shown (theme still enqueues via wp_head but we have no header) */
body.mbf-org-error-page {
	padding-top: 0 !important;
	background: transparent;
}

.mbf-org-error-container {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FAFAF8;
	padding: 20px;
}

.mbf-org-error-content {
	background: #FFFFFF;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	border: 1px solid #E8E4DF;
	padding: 40px;
	max-width: 560px;
	width: 100%;
	text-align: center;
}

.mbf-org-error-content--wide {
	max-width: 520px;
}

.mbf-org-error-content h1 {
	margin: 0 0 20px 0;
	color: #1A1A1A;
	font-size: 28px;
	font-weight: 600;
}

.mbf-org-error-message {
	margin-bottom: 30px;
}

.mbf-org-error-message p {
	color: #6B6B6B;
	font-size: 16px;
	margin: 0;
}

.mbf-org-error-message--invalid {
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 4px;
	padding: 12px 16px;
	margin-bottom: 24px;
}

.mbf-org-error-message--invalid p {
	color: #b91c1c;
	font-weight: 600;
	font-size: 15px;
}

.mbf-org-form {
	margin-bottom: 30px;
}

.mbf-org-form-group {
	margin-bottom: 20px;
	text-align: left;
}

.mbf-org-form-group label {
	display: block;
	margin-bottom: 8px;
	color: #1A1A1A;
	font-weight: 500;
	font-size: 14px;
}

.mbf-org-input {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #E8E4DF;
	border-radius: 4px;
	font-size: 16px;
	transition: border-color 0.15s ease;
	box-sizing: border-box;
}

.mbf-org-input:focus {
	outline: none;
	border-color: #2C4A3E;
	box-shadow: 0 0 0 2px rgba(44, 74, 62, 0.12);
}

.mbf-org-button {
	width: 100%;
	padding: 14px 24px;
	background-color: #2C4A3E;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.mbf-org-button:hover {
	background-color: #1e3329;
}

.mbf-org-button:active {
	background-color: #1e3329;
}

.mbf-org-search-cta {
	margin: 14px 0 0 0;
	font-size: 14px;
}

.mbf-org-link {
	color: #2C4A3E;
	text-decoration: underline;
}

.mbf-org-link:hover {
	color: #1e3329;
}

.mbf-org-instructions {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #E8E4DF;
}

.mbf-org-instructions p {
	margin: 10px 0;
	color: #6B6B6B;
	font-size: 14px;
}

.mbf-org-instructions strong {
	color: #1A1A1A;
}

/* Single-line URL hint (no "slug" jargon) */
.mbf-org-instructions--oneline {
	margin-top: 24px;
	padding-top: 24px;
}

.mbf-org-instructions--oneline .mbf-org-url-example {
	margin: 0;
	padding: 10px 14px;
	background: #FAFAF8;
	border-radius: 4px;
	border: 1px solid #E8E4DF;
	font-size: 13px;
	color: #1A1A1A;
	line-height: 1.5;
	word-break: break-all;
}

.mbf-org-instructions--oneline .mbf-org-url-example strong {
	color: #2C4A3E;
	font-weight: 600;
}

.mbf-org-url-example {
	background: #FAFAF8;
	padding: 12px;
	border-radius: 4px;
	border: 1px solid #E8E4DF;
	font-family: monospace;
	font-size: 13px;
	color: #2C4A3E;
	word-break: break-all;
}

/* Organization search */
.mbf-org-search-form .mbf-org-form-group {
	margin-bottom: 16px;
}

.mbf-org-search-results {
	margin-top: 28px;
	text-align: left;
	border-top: 1px solid #E8E4DF;
	padding-top: 24px;
}

.mbf-org-search-results-title {
	margin: 0 0 12px 0;
	font-size: 15px;
	font-weight: 600;
	color: #1A1A1A;
}

.mbf-org-search-results-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mbf-org-search-result-item {
	margin: 0 0 8px 0;
	padding: 0;
}

.mbf-org-search-result-link {
	display: block;
	padding: 12px 14px;
	background: #FAFAF8;
	border: 1px solid #E8E4DF;
	border-radius: 4px;
	color: #1A1A1A;
	text-decoration: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.mbf-org-search-result-link:hover {
	background: #f0efec;
	border-color: #2C4A3E;
}

.mbf-org-search-result-name {
	display: block;
	font-weight: 600;
	font-size: 15px;
	color: #1A1A1A;
}

.mbf-org-search-result-address {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: #6B6B6B;
}

.mbf-org-search-no-results {
	margin-top: 24px;
	padding: 16px;
	background: #FAFAF8;
	border: 1px solid #E8E4DF;
	border-radius: 4px;
	text-align: left;
}

.mbf-org-search-no-results p {
	margin: 0;
	color: #6B6B6B;
	font-size: 14px;
	line-height: 1.5;
}

.mbf-org-search-back {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid #E8E4DF;
	font-size: 14px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Responsive styles */
@media (max-width: 600px) {
	.mbf-org-error-content {
		padding: 30px 20px;
	}

	.mbf-org-error-content h1 {
		font-size: 24px;
	}

	.mbf-org-input,
	.mbf-org-button {
		font-size: 14px;
	}
}

