/* Global layout & UI primitives */
:root {
	--mm-green: #0f6b3f;
	--mm-green-600: #0b5c36;
	--mm-yellow: #f2b705;
	--mm-gray-50: #f7f8f9;
	--mm-gray-100: #eef1f3;
	--mm-text: #1b1f23;
	--mm-muted: #6b7280;
	--mm-radius-lg: 14px;
	--mm-radius-md: 10px;
	--mm-radius-sm: 8px;
	--mm-shadow: 0 6px 22px rgba(16, 24, 40, 0.08);
}

body {
	color: var(--mm-text);
	background: #fff;
}

.mm-card {
	background: #fff;
	border: 1px solid var(--mm-gray-100);
	border-radius: var(--mm-radius-lg);
	box-shadow: var(--mm-shadow);
}

.mm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: var(--mm-radius-sm);
	padding: 10px 18px;
	font-weight: 600;
}

.mm-btn--primary {
	background: var(--mm-green);
	color: #fff;
}

.mm-btn--primary:hover {
	background: var(--mm-green-600);
}

/* Mobile off-canvas WOOF filter */
.mm-filter-panel {
	position: relative;
	width: 100%;
	height: auto;
	background: transparent;
	box-shadow: none;
	transform: none;
	transition: transform 0.3s ease;
	overflow: visible;
	padding: 0;
}

.mm-filter-overlay,
.mm-filter-toggle {
	display: none;
}

.mm-filter-panel .woof {
	margin: 0;
}

@media (max-width: 768px) {
	.mm-filter-panel {
		position: fixed;
		top: 0;
		left: 0;
		width: 320px;
		max-width: 85vw;
		height: 100vh;
		background: #ffffff;
		box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
		transform: translate3d(calc(-100% - 48px), 0, 0);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		z-index: 10050;
		overflow-y: auto;
		padding: 24px 20px;
		transition: transform 0.3s ease, opacity 0.25s ease, visibility 0.25s ease;
	}

	#filter_class_main {
		position: absolute;
	}
	.mm-filter-panel.is-open {
		transform: translate3d(0, 0, 0);
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.mm-filter-overlay {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(17, 24, 39, 0.45);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
		z-index: 10040;
	}

	.mm-filter-overlay.is-active {
		opacity: 1;
		pointer-events: auto;
	}

	.mm-filter-toggle {
		display: inline-flex;
		position: fixed;
		right: 16px;
		bottom: 20px;
		transform: translateY(-50%);
		z-index: 10060;
		background: var(--mm-yellow);
		color: #111111;
		border: 0;
		border-radius: 999px;
		padding: 10px 18px;
		font-weight: 700;
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
		cursor: pointer;
	}

	.mm-filter-toggle:hover {
		filter: brightness(0.95);
	}
}

/* Reusable FAQ section */
.mm-faq {
	/* max-width: 1200px; */
	margin: 0 auto;
	padding: 8px 0 24px;
	font-family: Arial, Helvetica, sans-serif;
	color: #202124;
}

.mm-faq-title {
	margin: 0;
	font-size: 46px;
	line-height: 1.1;
	font-weight: 700;
	color: #1d2127;
}

.mm-faq-subtitle {
	margin: 14px 0 40px;
	max-width: 560px;
	font-size: 18px;
	line-height: 1.35;
	font-weight: 400;
	color: #7b8594;
}

.mm-faq-list {
	display: grid;
	gap: 20px;
}

.mm-faq-item {
	border: 1px solid #dfe3e8;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}

.mm-faq-question {
	width: 100%;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	padding: 20px 26px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 600;
	color: #222831;
}

.mm-faq-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	color: #222831;
	font-size: 36px;
	line-height: 1;
	font-weight: 300;
	user-select: none;
}

.mm-faq-answer {
	display: none;
	padding: 0 26px 22px;
	font-size: 16px;
	line-height: 1.5;
	color: #7b8594;
	font-weight: 400;
}

.mm-faq-item.is-open .mm-faq-answer {
	display: block;
}

.mm-faq-item.is-open .mm-faq-toggle::before {
	content: "−";
}

.mm-faq-item:not(.is-open) .mm-faq-toggle::before {
	content: "+";
}
.ct-wpforms-inline-fields input {
/* background: red !important; */
}

.subscribebtn {
	background: #056839 !important;
	border-radius: 5px !important;
	color: #fff !important;
}
.wp-block-heading.has-medium-font-size {
	font-size: 22px !important;
    color: #bfbfbf;
}

@media (max-width: 1200px) {
	.mm-faq-title {
		font-size: 40px;
	}

	.mm-faq-subtitle {
		font-size: 16px;
	}

	.mm-faq-question {
		font-size: 17px;
	}

	.mm-faq-answer {
		font-size: 15px;
	}
}

@media (max-width: 768px) {
	.mm-faq {
		padding: 0 0 20px;
	}

	.mm-faq-title {
		font-size: 30px;
	}

	.mm-faq-subtitle {
		margin: 10px 0 24px;
		font-size: 15px;
		line-height: 1.4;
	}

	.mm-faq-list {
		gap: 14px;
	}

	.mm-faq-question {
		font-size: 16px;
		padding: 16px 18px;
	}

	.mm-faq-toggle {
		min-width: 28px;
		min-height: 28px;
		font-size: 28px;
	}

	.mm-faq-answer {
		padding: 0 18px 18px;
		font-size: 14px;
	}
}
