/**
 * Compact contact service desk.
 *
 * A flat Metro-style two-column layout that keeps direct channels visible
 * while giving the message form most of the available width.
 */

.sis-contact-page {
	--sis-contact-emerald: #0b4f3f;
	--sis-contact-emerald-deep: #083b30;
	--sis-contact-gold: #d3aa3d;
	--sis-contact-ink: #18201d;
	--sis-contact-muted: #626c67;
	--sis-contact-cream: #f6f1e7;
	--sis-contact-paper: #fffdf8;
	--sis-contact-line: #dcd5c9;
	--sis-contact-focus: rgb(211 170 61 / 0.48);
	background: var(--sis-contact-cream) !important;
}

.sis-contact-container {
	width: min(calc(100% - 48px), 1320px);
	margin-inline: auto;
}

.sis-contact-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(1.65rem, 3vw, 2.35rem) 0;
	border-block: 1px solid var(--sis-contact-line);
	background:
		linear-gradient(90deg, rgb(246 241 231 / 0.98), rgb(255 253 248 / 0.98)),
		repeating-linear-gradient(45deg, rgb(11 79 63 / 0.035) 0 1px, transparent 1px 12px);
}

.sis-contact-hero::after {
	position: absolute;
	inset-block: 0;
	inset-inline-end: clamp(2rem, 9vw, 9rem);
	width: 5px;
	background: linear-gradient(
		180deg,
		var(--sis-contact-emerald) 0 33.333%,
		var(--sis-contact-gold) 33.333% 66.666%,
		#74262d 66.666% 100%
	);
	content: "";
}

.sis-contact-kicker {
	margin: 0;
	color: var(--sis-contact-emerald);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.sis-contact-hero h1 {
	max-width: 16ch;
	margin: 0.35rem 0 0;
	color: var(--sis-contact-ink) !important;
	font-family: var(--font-display, "Playfair Display", serif);
	font-size: clamp(2.35rem, 4.3vw, 4.25rem);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.sis-contact-intro {
	max-width: 54rem;
	margin: 0.72rem 0 0;
	color: var(--sis-contact-muted);
	font-size: clamp(0.95rem, 1.35vw, 1.08rem);
	line-height: 1.55;
}

.sis-contact-workspace {
	padding: clamp(1rem, 2vw, 1.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.sis-contact-grid {
	display: grid;
	grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.58fr);
	gap: clamp(0.75rem, 1.4vw, 1.15rem);
	align-items: start;
}

.sis-contact-rail,
.sis-contact-form-panel {
	min-width: 0;
	border: 1px solid var(--sis-contact-line);
	border-radius: 0;
	box-shadow: none;
}

.sis-contact-rail {
	display: flex;
	flex-direction: column;
	color: #fff;
	background: var(--sis-contact-emerald-deep);
	border-color: var(--sis-contact-emerald-deep);
}

.sis-contact-rail-heading {
	padding: clamp(1.3rem, 2.3vw, 1.8rem);
	border-bottom: 1px solid rgb(255 255 255 / 0.16);
}

.sis-contact-rail .sis-contact-kicker {
	color: #e7cb85;
}

.sis-contact-rail h2,
.sis-contact-form-panel h2 {
	margin: 0.42rem 0 0;
	font-family: var(--font-display, "Playfair Display", serif);
	font-size: clamp(1.7rem, 2.4vw, 2.35rem);
	font-weight: 700;
	line-height: 1.05;
}

.sis-contact-rail h2 {
	color: #fff !important;
}

.sis-contact-channel-list {
	display: grid;
}

.sis-contact-channel {
	display: grid;
	grid-template-columns: 1.55rem 2.2rem minmax(0, 1fr);
	gap: 0.7rem;
	align-items: center;
	min-width: 0;
	padding: 1rem clamp(1.1rem, 2vw, 1.55rem);
	border-bottom: 1px solid rgb(255 255 255 / 0.14);
	color: #fff !important;
	text-decoration: none;
	transition: background-color 150ms ease, color 150ms ease;
}

.sis-contact-channel:last-child {
	border-bottom: 0;
}

a.sis-contact-channel:hover,
a.sis-contact-channel:focus-visible {
	background: rgb(255 255 255 / 0.09);
	color: #fff !important;
}

a.sis-contact-channel:focus-visible {
	position: relative;
	z-index: 1;
	outline: 3px solid var(--sis-contact-focus);
	outline-offset: -3px;
}

.sis-contact-channel-index {
	color: #e7cb85;
	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.08em;
}

.sis-contact-channel-icon {
	display: grid;
	width: 2.2rem;
	height: 2.2rem;
	place-items: center;
	background: var(--sis-contact-gold);
	color: #17130b;
	font-size: 1.05rem;
}

.sis-contact-channel-copy {
	display: grid;
	gap: 0.18rem;
	min-width: 0;
}

.sis-contact-channel-label {
	color: rgb(255 255 255 / 0.68);
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sis-contact-channel-value {
	overflow-wrap: anywhere;
	color: #fff;
	font-size: 0.91rem;
	font-weight: 700;
	line-height: 1.3;
}

.sis-contact-form-panel {
	padding: clamp(1.35rem, 2.5vw, 2rem);
	background: var(--sis-contact-paper);
}

.sis-contact-form-heading {
	display: grid;
	grid-template-columns: 1fr;
	align-items: end;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--sis-contact-line);
}

.sis-contact-form-panel h2 {
	color: var(--sis-contact-ink) !important;
}

.sis-contact-form-panel form {
	display: grid;
	gap: 1rem;
	margin-top: 1.1rem;
}

.sis-contact-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

.sis-contact-field {
	display: grid;
	gap: 0.42rem;
	min-width: 0;
}

.sis-contact-field-wide {
	grid-column: 1 / -1;
}

.sis-contact-field label,
.sis-contact-recaptcha-label {
	color: var(--sis-contact-ink);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.045em;
}

.sis-approved-interior .sis-contact-field :is(input, textarea) {
	width: 100%;
	min-height: 3rem;
	margin: 0;
	padding: 0.72rem 0.82rem;
	border: 1px solid #cfc6b5;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	color: var(--sis-contact-ink) !important;
	font: inherit;
	font-size: 0.88rem;
	line-height: 1.45;
}

.sis-approved-interior .sis-contact-field textarea {
	min-height: 8.4rem;
	resize: vertical;
}

.sis-approved-interior .sis-contact-field :is(input, textarea):hover {
	border-color: #a99d88;
}

.sis-approved-interior .sis-contact-field :is(input, textarea):focus {
	border-color: var(--sis-contact-emerald);
	outline: 3px solid var(--sis-contact-focus);
	outline-offset: 1px;
	box-shadow: none;
}

.sis-contact-form-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(13rem, 17rem);
	gap: 0.85rem;
	align-items: stretch;
}

.sis-contact-recaptcha {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: 3rem;
	padding: 0.65rem 0.82rem;
	border: 1px solid var(--sis-contact-line);
	background: var(--sis-contact-cream);
}

.sis-contact-recaptcha-label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	letter-spacing: 0.02em;
}

.sis-contact-recaptcha-label .material-symbols-rounded {
	color: var(--sis-contact-emerald);
	font-size: 1.25rem;
}

.sis-contact-recaptcha .g-recaptcha {
	max-width: 100%;
	overflow: hidden;
}

.sis-contact-recaptcha-unavailable,
.sis-contact-recaptcha .somislamic-recaptcha-error {
	margin: 0;
	color: #991b1b;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.45;
}

.sis-approved-interior .sis-contact-form-actions .sis-btn-primary {
	width: 100%;
	min-height: 3rem;
	margin: 0;
	border-radius: 0 !important;
	box-shadow: none;
}

.sis-approved-interior .sis-contact-form-actions .sis-btn-primary:hover,
.sis-approved-interior .sis-contact-form-actions .sis-btn-primary:focus-visible {
	transform: none;
}

.sis-approved-interior .sis-contact-form-actions .sis-btn-primary:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

.sis-contact-notice {
	padding: 0.8rem 0.9rem;
	border: 1px solid var(--sis-contact-line);
	background: #fff;
	color: var(--sis-contact-ink);
	font-size: 0.84rem;
	line-height: 1.45;
}

.sis-contact-notice.hidden {
	display: none;
}

.sis-contact-notice.bg-emerald-900\/40 {
	border-color: #047857 !important;
	background: #ecfdf5 !important;
	color: #065f46 !important;
}

.sis-contact-notice.bg-red-900\/40 {
	border-color: #b91c1c !important;
	background: #fef2f2 !important;
	color: #991b1b !important;
}

.sis-contact-form-panel [data-form-message] {
	margin: 0;
	padding: 0.8rem 0.9rem;
	border: 1px solid var(--sis-contact-line);
	border-radius: 0;
	font-size: 0.84rem;
	line-height: 1.45;
}

.sis-contact-form-panel [data-form-message].bg-emerald-900\/40 {
	border-color: #047857 !important;
	background: #ecfdf5 !important;
	color: #065f46 !important;
}

.sis-contact-form-panel [data-form-message].bg-red-900\/40 {
	border-color: #b91c1c !important;
	background: #fef2f2 !important;
	color: #991b1b !important;
}

@media (max-width: 900px) {
	.sis-contact-grid {
		grid-template-columns: 1fr;
	}

	.sis-contact-channel-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sis-contact-channel {
		grid-template-columns: 1.55rem 2.2rem minmax(0, 1fr);
		border-bottom: 0;
		border-inline-end: 1px solid rgb(255 255 255 / 0.14);
	}

	.sis-contact-channel:last-child {
		border-inline-end: 0;
	}
}

@media (max-width: 680px) {
	.sis-contact-container {
		width: min(calc(100% - 32px), 1320px);
	}

	.sis-contact-hero::after {
		inset-inline-end: 1rem;
		width: 3px;
	}

	.sis-contact-intro {
		max-width: calc(100% - 1.5rem);
	}

	.sis-contact-channel-list,
	.sis-contact-fields,
	.sis-contact-form-actions,
	.sis-contact-form-heading {
		grid-template-columns: 1fr;
	}

	.sis-contact-channel {
		border-bottom: 1px solid rgb(255 255 255 / 0.14);
		border-inline-end: 0;
	}

	.sis-contact-channel:last-child {
		border-bottom: 0;
	}

	.sis-contact-field-wide {
		grid-column: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sis-contact-channel {
		transition: none;
	}
}
