/**
 * SUNMORTAR — public intake forms and document verification.
 *
 * Inherits every token from frontend.css. Scoped under `.sunmv` so the
 * theme cannot win a specificity tie.
 *
 * @package SUNMORTAR_EV
 */

.sunmv .sunmv-stage--form {
	max-width: 46rem;
}

.sunmv .sunmv-intake {
	padding: clamp(22px, 4cqi, 46px);
}

.sunmv .sunmv-intake__head {
	margin-bottom: clamp(20px, 3cqi, 30px);
}

.sunmv .sunmv-intake__title {
	margin: 0 0 10px;
	font-family: var(--sun-font-display);
	font-size: clamp(25px, 4.4cqi, 38px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--sun-ink);
	text-wrap: balance;
}

.sunmv .sunmv-intake__sub {
	margin: 0;
	max-width: 52ch;
	font-size: 16px;
	line-height: 1.6;
	color: var(--sun-ink-2);
	text-wrap: pretty;
}

.sunmv .sunmv-intake__empty {
	margin: 0;
	padding: 26px;
	text-align: center;
	border-radius: var(--sun-r-md);
	border: 1px dashed var(--sun-hairline);
	color: var(--sun-ink-3);
}

/* --- Fields ---------------------------------------------------------- */

.sunmv .sunmv-intake__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px 20px;
}

@container sunmv (min-width: 34rem) {
	.sunmv .sunmv-intake__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sunmv .sunmv-field { min-width: 0; }
.sunmv .sunmv-field--full { grid-column: 1 / -1; }

.sunmv .sunmv-field__label {
	display: block;
	margin-bottom: 8px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--sun-ink-2);
}

.sunmv .sunmv-req { color: var(--sun-no); }

.sunmv .sunmv-field__help {
	margin: 7px 0 0;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--sun-ink-3);
}

.sunmv .sunmv-input--mono {
	font-family: var(--sun-font-mono);
	font-variant-numeric: tabular-nums slashed-zero;
	letter-spacing: 0.08em;
}

/* The honeypot must be unreachable for people and invisible to the eye,
   while still being a real, focusable field for a naive bot. */
.sunmv .sunmv-trap {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sunmv .sunmv-daycount {
	margin: 0;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--sun-ink-3);
	min-height: 21px;
}

.sunmv .sunmv-daycount.is-live { color: var(--sun-amber-deep); }

/* --- Submit bar ------------------------------------------------------ */

.sunmv .sunmv-intake__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 18px;
	margin-top: clamp(20px, 3cqi, 28px);
	padding-top: 20px;
	border-top: 1px solid var(--sun-hairline);
}

.sunmv .sunmv-intake__note {
	flex: 1 1 16rem;
	margin: 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--sun-ink-3);
}

.sunmv .sunmv-intake__note a {
	color: var(--sun-amber-deep);
	font-weight: 600;
	text-decoration: none;
}

.sunmv .sunmv-intake__note a:hover { text-decoration: underline; }

/* --- Outcome --------------------------------------------------------- */

.sunmv .sunmv-outcome {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-top: 22px;
	padding: 20px 22px;
	border-radius: var(--sun-r-md);
	animation: sunmv-seat 0.34s var(--sun-ease) both;
}

.sunmv .sunmv-outcome--ok {
	background: color-mix(in srgb, var(--sun-ok) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--sun-ok) 32%, transparent);
}

.sunmv .sunmv-outcome--no {
	background: color-mix(in srgb, var(--sun-no) 11%, transparent);
	border: 1px solid color-mix(in srgb, var(--sun-no) 30%, transparent);
}

.sunmv .sunmv-outcome__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
}

.sunmv .sunmv-outcome__icon svg { width: 21px; height: 21px; fill: #fff; }

.sunmv .sunmv-outcome--ok .sunmv-outcome__icon { background: var(--sun-ok); }
.sunmv .sunmv-outcome--no .sunmv-outcome__icon { background: var(--sun-no); }

.sunmv .sunmv-outcome__body { min-width: 0; }

.sunmv .sunmv-outcome__body strong {
	display: block;
	margin-bottom: 4px;
	font-size: 17px;
	color: var(--sun-ink);
}

.sunmv .sunmv-outcome__body p {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--sun-ink-2);
}

/* The footer link pills live in frontend.css — they render on the public
   validation panel, where this stylesheet is not loaded. */

/* ====================================================================
 * Printable permit
 * ================================================================= */

.sunmv .hr-letter {
	max-width: 21cm;
	margin-inline: auto;
	padding: clamp(24px, 4vw, 42px);
	border-radius: var(--sun-r-lg);
	background: #fff;
	color: #16140f;
	border: 1px solid var(--sun-hairline);
	box-shadow: var(--sun-glass-shadow);
	font-size: 15.5px;
	line-height: 1.7;
}

.sunmv .hr-letter__head {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 16px;
	margin-bottom: 26px;
	border-bottom: 2px solid #16140f;
}

.sunmv .hr-letter__logo { height: 52px; width: auto; max-width: 200px; object-fit: contain; }

.sunmv .hr-letter__org { display: flex; flex-direction: column; }
.sunmv .hr-letter__org strong { font-size: 18px; letter-spacing: 0.02em; }
.sunmv .hr-letter__org span { font-size: 13.5px; color: #6b6455; }

.sunmv .hr-letter__title {
	margin: 0;
	text-align: center;
	font-family: var(--sun-font-display);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-underline-offset: 5px;
}

.sunmv .hr-letter__number {
	margin: 4px 0 26px;
	text-align: center;
	font-family: var(--sun-font-mono);
	font-size: 14px;
	color: #6b6455;
}

.sunmv .hr-letter__lead { margin: 0 0 14px; }

.sunmv .hr-letter__table {
	margin: 0 0 18px;
	border-collapse: collapse;
}

.sunmv .hr-letter__table th {
	width: 9.5rem;
	padding: 4px 0;
	text-align: start;
	font-weight: 500;
	vertical-align: top;
}

.sunmv .hr-letter__table th::after { content: ":"; float: inline-end; padding-inline-end: 12px; }
.sunmv .hr-letter__table td { padding: 4px 0; font-weight: 700; }

.sunmv .hr-letter__sign {
	display: flex;
	justify-content: flex-end;
	margin-top: 34px;
}

.sunmv .hr-letter__signblock { text-align: center; min-width: 15rem; }
.sunmv .hr-letter__place { margin: 0; font-size: 14.5px; }
.sunmv .hr-letter__role { margin: 2px 0 8px; font-size: 14.5px; }

.sunmv .hr-letter__qr {
	display: grid;
	place-items: center;
	padding: 8px;
	margin: 0 auto 8px;
	width: max-content;
	background: #fff;
	border: 1px solid #ddd7c9;
	border-radius: 8px;
}

.sunmv .hr-letter__qr canvas { display: block; image-rendering: pixelated; }

.sunmv .hr-letter__name { margin: 0; font-size: 15.5px; text-decoration: underline; text-underline-offset: 4px; }

.sunmv .hr-letter__hint {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.5;
	color: #6b6455;
}

.sunmv .hr-letter__hint code {
	font-family: var(--sun-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.04em;
}

.sunmv .hr-clamp {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media print {
	.sunmv .hr-noprint,
	.sunmv .hr-side,
	.sunmv .hr-head { display: none !important; }

	.sunmv .hr-letter {
		max-width: none;
		border: 0;
		box-shadow: none;
		border-radius: 0;
		padding: 0;
	}
}
