/*
 * MVM Signups — front end
 * Built for the Podcastin' Pro theme on mountainveteran.com.
 *
 * Everything is scoped to .mvms-wrap so nothing leaks into the theme.
 * Podcastin' Pro forces white text and its own fonts on content, so colors,
 * fonts, and sizes here use !important (same approach as the .post-wrap fixes).
 *
 * Palette (MVM brand):
 *   page bg  rgb(26,43,40)   #1a2b28   dark green
 *   card     rgb(36,58,54)   #243a36   Key Takeaways green
 *   gold     rgb(139,105,20) #8b6914   rules, borders, buttons
 *   gold txt #d9b44a                   gold that's readable on dark green
 *   cream    #fdf8ef                   fields, light cards
 *   CTA      #f0f5f0 / #7a9e7a / #2d5a2d / #2c3e2c  success box
 */

/* ---------- Tokens ---------- */

.mvms-wrap {
	--mvms-card: rgb(36, 58, 54);
	--mvms-card-2: rgb(30, 49, 46);
	--mvms-text: #ffffff;
	--mvms-muted: #c7d2ce;
	--mvms-gold: rgb(139, 105, 20);
	--mvms-gold-hover: rgb(160, 122, 26);
	--mvms-gold-text: #d9b44a;
	--mvms-field-bg: #fdf8ef;
	--mvms-field-text: #1a1a1a;
	--mvms-field-border: rgb(139, 105, 20);
	--mvms-line: rgba(217, 180, 74, 0.28);
	--mvms-task-bg: rgba(255, 255, 255, 0.04);
	--mvms-task-border: rgba(217, 180, 74, 0.35);
	--mvms-bar-bg: rgba(255, 255, 255, 0.14);
	--mvms-danger: #8b1a1a;
	--mvms-base: 21px;

	box-sizing: border-box;
	margin: 1.5em 0 !important;
	max-width: 100%;
}

.mvms-wrap.mvms-style-light {
	--mvms-card: #fdf8ef;
	--mvms-card-2: #f6efdf;
	--mvms-text: #1a1a1a;
	--mvms-muted: #555555;
	--mvms-gold-text: #6e5310;
	--mvms-field-bg: #ffffff;
	--mvms-line: rgba(139, 105, 20, 0.35);
	--mvms-task-bg: #ffffff;
	--mvms-task-border: rgba(139, 105, 20, 0.4);
	--mvms-bar-bg: rgba(139, 105, 20, 0.15);
}

.mvms-wrap *,
.mvms-wrap *::before,
.mvms-wrap *::after {
	box-sizing: border-box;
}

/* ---------- Typography (matches converted MVM posts: Roboto, 21px body) ---------- */

.mvms-wrap.mvms-font-roboto,
.mvms-wrap.mvms-font-roboto p,
.mvms-wrap.mvms-font-roboto li,
.mvms-wrap.mvms-font-roboto label,
.mvms-wrap.mvms-font-roboto legend,
.mvms-wrap.mvms-font-roboto span,
.mvms-wrap.mvms-font-roboto summary,
.mvms-wrap.mvms-font-roboto h3,
.mvms-wrap.mvms-font-roboto input,
.mvms-wrap.mvms-font-roboto textarea,
.mvms-wrap.mvms-font-roboto button {
	font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif !important;
}

/* :where() keeps these blanket rules low-specificity so the finer rules below win;
   !important still beats the theme's normal declarations. */
.mvms-wrap.mvms-font-roboto :where(.mvms-card, .mvms-card p, .mvms-card li) {
	font-size: var(--mvms-base) !important;
	line-height: 1.6 !important;
}

.mvms-wrap.mvms-font-theme .mvms-card {
	font-size: 1em;
}

/* ---------- Card ---------- */

.mvms-wrap .mvms-card {
	background: var(--mvms-card) !important;
	color: var(--mvms-text) !important;
	border: 1px solid var(--mvms-gold) !important;
	border-top: 4px solid var(--mvms-gold) !important;
	border-radius: 6px !important;
	padding: 1.35em 1.5em 1.5em !important;
	margin: 0 0 1.5em !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
	text-align: left !important;
}

.mvms-wrap.mvms-style-light .mvms-card {
	box-shadow: none;
}

/* Text colors — !important because Podcastin' Pro forces its own content colors. */
.mvms-wrap :where(.mvms-card p, .mvms-card li, .mvms-card span, .mvms-card strong, .mvms-card em, .mvms-card label, .mvms-card legend, .mvms-card summary, .mvms-card h3) {
	color: var(--mvms-text) !important;
}

.mvms-wrap :where(.mvms-card p) {
	margin: 0 0 0.8em !important;
	padding: 0 !important;
}

.mvms-wrap .mvms-card a:not(.mvms-button) {
	color: var(--mvms-gold-text) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.mvms-wrap .mvms-kicker {
	color: var(--mvms-gold-text) !important;
	font-size: 0.68em !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	margin: 0 0 0.35em !important;
	line-height: 1.3 !important;
}

.mvms-wrap .mvms-card h3.mvms-title {
	font-size: 31px !important; /* MVM h3 */
	font-weight: 500 !important;
	line-height: 1.2 !important;
	margin: 0 0 0.5em !important;
	padding: 0 !important;
	border: 0 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.mvms-wrap.mvms-font-theme .mvms-card h3.mvms-title {
	font-size: 1.5em !important;
}

/* When / Where list */
.mvms-wrap .mvms-meta {
	list-style: none !important;
	margin: 0 0 1em !important;
	padding: 0 !important;
}

.mvms-wrap .mvms-meta li {
	margin: 0 0 0.3em !important;
	padding: 0 !important;
	display: flex;
	gap: 0.75em;
	align-items: baseline;
	background: none !important;
}

.mvms-wrap .mvms-meta li::before {
	content: none !important;
}

.mvms-wrap .mvms-label {
	flex: 0 0 4.6em;
	color: var(--mvms-gold-text) !important;
	font-size: 0.72em !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
}

.mvms-wrap .mvms-value {
	flex: 1;
}

.mvms-wrap .mvms-desc {
	margin: 0 0 1em !important;
}

.mvms-wrap .mvms-desc p:last-child {
	margin-bottom: 0 !important;
}

/* Gold rule — same as .pw-hr in posts */
.mvms-wrap .mvms-rule {
	height: 0 !important;
	border: 0 !important;
	border-top: 2px solid var(--mvms-gold) !important;
	margin: 1.1em 0 1.2em !important;
	background: none !important;
}

/* ---------- Capacity bar ---------- */

.mvms-wrap .mvms-capacity {
	margin: 0.4em 0 0.2em !important;
}

.mvms-wrap .mvms-bar {
	height: 10px;
	border-radius: 999px;
	background: var(--mvms-bar-bg);
	overflow: hidden;
}

.mvms-wrap .mvms-bar span {
	display: block;
	height: 100%;
	background: var(--mvms-gold) !important;
	border-radius: 999px;
}

.mvms-wrap .mvms-card .mvms-spots {
	font-size: 0.8em !important;
	color: var(--mvms-muted) !important;
	margin: 0.45em 0 0 !important;
}

.mvms-wrap .mvms-capacity.is-full .mvms-spots {
	color: var(--mvms-gold-text) !important;
	font-weight: 700 !important;
}

.mvms-wrap .mvms-card .mvms-closed {
	font-style: italic !important;
	color: var(--mvms-muted) !important;
	margin: 0 !important;
}

/* ---------- Collapsible form ---------- */

.mvms-wrap details.mvms-toggle {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

.mvms-wrap details.mvms-toggle > summary {
	display: inline-flex !important;
	align-items: center;
	gap: 0.5em;
	cursor: pointer;
	list-style: none !important;
	background: var(--mvms-gold) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 0.86em !important;
	padding: 0.6em 1.2em !important;
	border-radius: 4px !important;
	user-select: none;
}

.mvms-wrap details.mvms-toggle > summary::-webkit-details-marker {
	display: none;
}

.mvms-wrap details.mvms-toggle > summary::after {
	content: '▾';
	font-size: 0.9em;
	transition: transform 0.15s ease;
}

.mvms-wrap details.mvms-toggle[open] > summary {
	margin-bottom: 1.1em !important;
}

.mvms-wrap details.mvms-toggle[open] > summary::after {
	transform: rotate(180deg);
}

.mvms-wrap details.mvms-toggle > summary:hover {
	background: var(--mvms-gold-hover) !important;
}

/* ---------- Form ---------- */

.mvms-wrap .mvms-form {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}

.mvms-wrap .mvms-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1.1em;
}

.mvms-wrap .mvms-card .mvms-field {
	margin: 0 0 0.9em !important;
}

.mvms-wrap .mvms-card .mvms-field label {
	display: block !important;
	font-size: 0.78em !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	margin: 0 0 0.3em !important;
	line-height: 1.35 !important;
}

.mvms-wrap .mvms-card .mvms-req {
	color: var(--mvms-gold-text) !important;
}

.mvms-wrap .mvms-card .mvms-opt {
	color: var(--mvms-muted) !important;
	font-weight: 400 !important;
}

.mvms-wrap .mvms-card input[type="text"],
.mvms-wrap .mvms-card input[type="email"],
.mvms-wrap .mvms-card input[type="tel"],
.mvms-wrap .mvms-card input[type="number"],
.mvms-wrap .mvms-card textarea {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--mvms-field-bg) !important;
	color: var(--mvms-field-text) !important;
	-webkit-text-fill-color: var(--mvms-field-text) !important;
	border: 1px solid var(--mvms-field-border) !important;
	border-radius: 4px !important;
	padding: 0.55em 0.7em !important;
	font-size: 18px !important;
	line-height: 1.4 !important;
	height: auto !important;
	min-height: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	outline: none;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.mvms-wrap .mvms-card input::placeholder,
.mvms-wrap .mvms-card textarea::placeholder {
	color: #8a8576 !important;
	-webkit-text-fill-color: #8a8576 !important;
	opacity: 1;
}

.mvms-wrap .mvms-card input:focus,
.mvms-wrap .mvms-card textarea:focus {
	border-color: var(--mvms-gold-text) !important;
	box-shadow: 0 0 0 3px rgba(217, 180, 74, 0.45) !important;
}

.mvms-wrap .mvms-card textarea {
	resize: vertical;
	min-height: 4.5em !important;
}

.mvms-wrap .mvms-card input[type="number"] {
	max-width: 9em !important;
}

/* Honeypot — off-screen, not display:none (some bots skip hidden fields) */
.mvms-wrap .mvms-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* ---------- Volunteer task picker ---------- */

.mvms-wrap fieldset.mvms-tasks {
	border: 0 !important;
	margin: 0 0 1.1em !important;
	padding: 0 !important;
	min-width: 0;
	background: none !important;
}

.mvms-wrap fieldset.mvms-tasks legend {
	font-size: 0.78em !important;
	font-weight: 700 !important;
	padding: 0 !important;
	margin: 0 0 0.5em !important;
	float: none !important;
	width: auto !important;
	border: 0 !important;
}

.mvms-wrap .mvms-card label.mvms-task {
	display: flex !important;
	gap: 0.75em;
	align-items: flex-start;
	background: var(--mvms-task-bg) !important;
	border: 1px solid var(--mvms-task-border) !important;
	border-left: 4px solid var(--mvms-gold) !important;
	border-radius: 4px !important;
	padding: 0.7em 0.9em !important;
	margin: 0 0 0.55em !important;
	cursor: pointer;
	font-size: 1em !important;
	font-weight: 400 !important;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.mvms-wrap .mvms-card label.mvms-task:hover {
	border-color: var(--mvms-gold-text) !important;
}

.mvms-wrap .mvms-card label.mvms-task:has(input:checked) {
	background: rgba(217, 180, 74, 0.14) !important;
	border-color: var(--mvms-gold-text) !important;
}

.mvms-wrap .mvms-card label.mvms-task input[type="radio"] {
	margin: 0.3em 0 0 !important;
	width: 1.1em;
	height: 1.1em;
	flex: 0 0 auto;
	accent-color: rgb(139, 105, 20);
}

.mvms-wrap .mvms-task-body {
	display: flex;
	flex-direction: column;
	gap: 0.15em;
	flex: 1;
	min-width: 0;
}

.mvms-wrap .mvms-card .mvms-task-title {
	font-weight: 700 !important;
	font-size: 0.95em !important;
	line-height: 1.35 !important;
}

.mvms-wrap .mvms-card .mvms-task-desc {
	color: var(--mvms-muted) !important;
	font-size: 0.8em !important;
	line-height: 1.45 !important;
}

.mvms-wrap .mvms-card .mvms-task-spots {
	color: var(--mvms-gold-text) !important;
	font-size: 0.72em !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

.mvms-wrap .mvms-card label.mvms-task.is-full {
	opacity: 0.55;
	cursor: not-allowed;
	border-left-color: var(--mvms-muted) !important;
}

.mvms-wrap .mvms-card label.mvms-task.is-full .mvms-task-spots {
	color: var(--mvms-muted) !important;
}

/* ---------- Buttons ---------- */

.mvms-wrap .mvms-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6em 1.2em;
	margin-top: 0.4em;
}

.mvms-wrap .mvms-card .mvms-button,
.mvms-wrap .mvms-card button.mvms-button {
	display: inline-block !important;
	background: var(--mvms-gold) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 0 !important;
	border-radius: 4px !important;
	padding: 0.65em 1.4em !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	transition: background 0.15s ease, transform 0.05s ease;
}

.mvms-wrap .mvms-card .mvms-button:hover,
.mvms-wrap .mvms-card .mvms-button:focus-visible {
	background: var(--mvms-gold-hover) !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(217, 180, 74, 0.45) !important;
}

.mvms-wrap .mvms-card .mvms-button:active {
	transform: translateY(1px);
}

.mvms-wrap .mvms-card .mvms-button[disabled] {
	opacity: 0.7;
	cursor: wait;
}

.mvms-wrap .mvms-card button.mvms-button-danger {
	background: var(--mvms-danger) !important;
}

.mvms-wrap .mvms-card button.mvms-button-danger:hover {
	background: #a32222 !important;
}

.mvms-wrap .mvms-card .mvms-privacy {
	flex: 1 1 14em;
	font-size: 0.68em !important;
	line-height: 1.45 !important;
	color: var(--mvms-muted) !important;
	font-style: italic !important;
	margin: 0 !important;
}

/* ---------- Notices ---------- */

/* Success: the MVM forest-green CTA box */
.mvms-wrap .mvms-card .mvms-notice {
	border-radius: 6px !important;
	padding: 0.9em 1.1em !important;
	margin: 0 0 1.2em !important;
	outline: none;
}

.mvms-wrap .mvms-card .mvms-notice-ok {
	background: #f0f5f0 !important;
	border: 1px solid #7a9e7a !important;
	border-left: 5px solid #4a7a4a !important;
}

.mvms-wrap .mvms-card .mvms-notice-ok p {
	color: #2c3e2c !important;
}

.mvms-wrap .mvms-card .mvms-notice-ok .mvms-notice-head {
	color: #2d5a2d !important;
}

.mvms-wrap .mvms-card .mvms-notice-error {
	background: #fdf8ef !important;
	border: 1px solid #c9a6a6 !important;
	border-left: 5px solid var(--mvms-danger) !important;
}

.mvms-wrap .mvms-card .mvms-notice-error p {
	color: #3a1a1a !important;
}

.mvms-wrap .mvms-card .mvms-notice-error .mvms-notice-head {
	color: var(--mvms-danger) !important;
}

.mvms-wrap .mvms-card .mvms-notice p {
	font-size: 0.86em !important;
	margin: 0 !important;
}

.mvms-wrap .mvms-card .mvms-notice .mvms-notice-head {
	font-weight: 700 !important;
	font-size: 0.95em !important;
	margin: 0 0 0.2em !important;
}

/* ---------- Empty / standalone ---------- */

.mvms-wrap .mvms-empty p {
	margin: 0 !important;
	font-style: italic !important;
	color: var(--mvms-muted) !important;
}

.mvms-page {
	display: block;
	max-width: 760px;
	margin: 3em auto !important;
	padding: 0 16px;
}

.mvms-wrap .mvms-card .mvms-link {
	font-size: 0.86em !important;
}

/* ---------- Minimal style: layout only, theme colors ---------- */

.mvms-wrap.mvms-style-none .mvms-card {
	--mvms-card: transparent;
	--mvms-text: inherit;
	--mvms-muted: inherit;
	--mvms-gold-text: inherit;
	box-shadow: none;
}

.mvms-wrap.mvms-style-none .mvms-card p,
.mvms-wrap.mvms-style-none .mvms-card li,
.mvms-wrap.mvms-style-none .mvms-card span,
.mvms-wrap.mvms-style-none .mvms-card label,
.mvms-wrap.mvms-style-none .mvms-card legend,
.mvms-wrap.mvms-style-none .mvms-card h3 {
	color: inherit !important;
}

/* ---------- Small screens ---------- */

@media (max-width: 640px) {
	.mvms-wrap {
		--mvms-base: 18px;
	}

	.mvms-wrap .mvms-card {
		padding: 1.1em 1em 1.2em !important;
	}

	.mvms-wrap .mvms-card h3.mvms-title {
		font-size: 26px !important;
	}

	.mvms-wrap .mvms-grid {
		grid-template-columns: 1fr;
	}

	.mvms-wrap .mvms-meta li {
		flex-direction: column;
		gap: 0;
	}

	.mvms-wrap .mvms-label {
		flex: none;
	}

	.mvms-wrap .mvms-card .mvms-button,
	.mvms-wrap details.mvms-toggle > summary {
		width: 100% !important;
		justify-content: center;
		text-align: center !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mvms-wrap * {
		transition: none !important;
	}
}
