/* ==========================================================
   LUDORUM — CONTACT & ASSISTANCE v1.0.0
   ========================================================== */

.lud-contact {
	--lc-blue:#0B4DBB;
	--lc-blue-dark:#071A33;
	--lc-red:#D72626;
	--lc-yellow:#F5C518;
	--lc-green:#16884B;
	--lc-text:#40556D;
	--lc-muted:#748397;
	--lc-line:#DCE5F0;
	--lc-soft:#F7FAFE;

	position:relative;
	width:min(1180px, calc(100% - 32px));
	margin:34px auto 48px;
	padding:0;
	color:var(--lc-blue-dark);
	font-family:inherit;
}

.lud-contact *,
.lud-contact *::before,
.lud-contact *::after {
	box-sizing:border-box;
}

.lud-contact__accent {
	height:4px;
	border-radius:999px 999px 0 0;
	background:linear-gradient(90deg,var(--lc-blue) 0 33.333%,var(--lc-yellow) 33.333% 66.666%,var(--lc-red) 66.666% 100%);
}

.lud-contact__hero {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:28px 30px;
	border:1px solid var(--lc-line);
	border-top:0;
	border-radius:0 0 18px 18px;
	background:
		radial-gradient(circle at 88% 40%, rgba(245,197,24,.15), transparent 26%),
		linear-gradient(135deg,#FFFFFF 0%,#F8FBFF 100%);
	box-shadow:0 12px 30px rgba(7,26,51,.06);
}

.lud-contact__kicker {
	display:block;
	margin-bottom:7px;
	color:var(--lc-blue);
	font-size:11px;
	font-weight:950;
	letter-spacing:.10em;
}

.lud-contact__hero h1 {
	margin:0 0 8px!important;
	color:var(--lc-blue-dark)!important;
	font-size:clamp(30px,4vw,46px)!important;
	font-weight:950!important;
	line-height:1.04!important;
	letter-spacing:-.035em;
}

.lud-contact__hero p {
	max-width:690px;
	margin:0!important;
	color:var(--lc-muted)!important;
	font-size:14px!important;
	line-height:1.55!important;
}

.lud-contact__hero-badge {
	display:grid;
	flex:0 0 auto;
	place-items:center;
	width:82px;
	height:82px;
	border-radius:22px;
	background:linear-gradient(145deg,#071A33,#0B4DBB);
	box-shadow:0 12px 26px rgba(11,77,187,.18);
	transform:rotate(-5deg);
}

.lud-contact__hero-badge span {
	color:var(--lc-yellow);
	font-size:42px;
	font-weight:950;
}

.lud-contact__layout {
	display:grid;
	grid-template-columns:minmax(0,1.48fr) minmax(300px,.72fr);
	gap:20px;
	margin-top:22px;
	align-items:start;
}

.lud-contact__form-card,
.lud-contact__help-card,
.lud-contact__quick-card {
	border:1px solid var(--lc-line);
	border-radius:16px;
	background:#fff;
	box-shadow:0 10px 24px rgba(7,26,51,.05);
}

.lud-contact__form-card {
	padding:24px;
}

.lud-contact__section-head {
	margin-bottom:20px;
}

.lud-contact__section-head>span {
	display:block;
	margin-bottom:5px;
	color:var(--lc-red);
	font-size:9px;
	font-weight:950;
	letter-spacing:.08em;
}

.lud-contact__section-head h2,
.lud-contact__help-card h2,
.lud-contact__quick-card h2 {
	margin:0 0 6px!important;
	color:var(--lc-blue-dark)!important;
	font-size:22px!important;
	font-weight:950!important;
	line-height:1.15!important;
}

.lud-contact__section-head p {
	margin:0!important;
	color:var(--lc-muted)!important;
	font-size:12px!important;
}

.lud-contact__form {
	display:grid;
	gap:15px;
}

.lud-contact__row {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}

.lud-contact__field {
	display:grid;
	gap:6px;
}

.lud-contact__field label {
	color:var(--lc-blue-dark);
	font-size:12px;
	font-weight:850;
}

.lud-contact__field label span,
.lud-contact__privacy b {
	color:var(--lc-red);
}

.lud-contact__field label em {
	color:var(--lc-muted);
	font-size:10px;
	font-style:normal;
	font-weight:700;
}

.lud-contact__field input,
.lud-contact__field select,
.lud-contact__field textarea {
	width:100%;
	min-height:46px;
	padding:11px 13px;
	border:1px solid #CFDBE9!important;
	border-radius:9px!important;
	outline:0;
	background:#FBFDFF!important;
	color:var(--lc-blue-dark)!important;
	font:inherit!important;
	font-size:13px!important;
	box-shadow:none!important;
	transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.lud-contact__field textarea {
	min-height:180px;
	resize:vertical;
	line-height:1.55;
}

.lud-contact__field input:focus,
.lud-contact__field select:focus,
.lud-contact__field textarea:focus {
	border-color:rgba(11,77,187,.58)!important;
	background:#fff!important;
	box-shadow:0 0 0 3px rgba(11,77,187,.08)!important;
}

.lud-contact__field small {
	color:var(--lc-muted);
	font-size:10px;
}

.lud-contact__upload {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:10px 14px;
	align-items:center;
	padding:13px;
	border:1px dashed #BED0E5;
	border-radius:11px;
	background:linear-gradient(135deg,#FAFCFF,#F6F9FD);
}

.lud-contact__upload-copy strong {
	display:block;
	color:var(--lc-blue-dark);
	font-size:12px;
}

.lud-contact__upload-copy strong span {
	color:var(--lc-muted);
	font-size:10px;
	font-weight:700;
}

.lud-contact__upload-copy small {
	display:block;
	margin-top:2px;
	color:var(--lc-muted);
	font-size:9.5px;
}

.lud-contact__upload input[type="file"] {
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0 0 0 0);
	white-space:nowrap;
}

.lud-contact__upload-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:36px;
	padding:8px 12px;
	border:1px solid rgba(11,77,187,.22);
	border-radius:8px;
	background:#fff;
	color:var(--lc-blue);
	font-size:10px;
	font-weight:900;
	cursor:pointer;
	white-space:nowrap;
}

.lud-contact__filename {
	grid-column:1 / -1;
	color:var(--lc-muted);
	font-size:9.5px;
}

.lud-contact__privacy {
	display:flex;
	align-items:flex-start;
	gap:9px;
	color:var(--lc-text);
	font-size:10px;
	line-height:1.45;
	cursor:pointer;
}

.lud-contact__privacy input {
	flex:0 0 auto;
	margin-top:2px;
}

.lud-contact__status {
	display:none;
	padding:10px 12px;
	border-radius:9px;
	font-size:11px;
	font-weight:750;
}

.lud-contact__status.is-visible {
	display:block;
}

.lud-contact__status.is-success {
	color:#126A3A;
	border:1px solid #B8E2C9;
	background:#EFFAF4;
}

.lud-contact__status.is-error {
	color:#A72020;
	border:1px solid #F1C0C0;
	background:#FFF3F3;
}

.lud-contact__submit {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:9px;
	width:max-content;
	min-width:180px;
	min-height:44px;
	padding:10px 16px!important;
	border:0!important;
	border-radius:9px!important;
	background:linear-gradient(120deg,#07336F,var(--lc-blue))!important;
	color:#fff!important;
	box-shadow:0 8px 18px rgba(11,77,187,.17);
	font-size:11px!important;
	font-weight:900!important;
	cursor:pointer;
	transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;
}

.lud-contact__submit:hover {
	transform:translateY(-1px);
	box-shadow:0 11px 22px rgba(11,77,187,.22);
}

.lud-contact__submit:disabled {
	opacity:.55;
	cursor:not-allowed;
	transform:none;
}

.lud-contact__aside {
	display:grid;
	gap:14px;
}

.lud-contact__help-card,
.lud-contact__quick-card {
	padding:20px;
}

.lud-contact__tip {
	display:grid;
	grid-template-columns:28px minmax(0,1fr);
	gap:10px;
	padding:13px 0;
	border-bottom:1px solid #E7EDF4;
}

.lud-contact__tip>span {
	display:grid;
	place-items:center;
	width:28px;
	height:28px;
	border-radius:8px;
	background:#EAF2FF;
	color:var(--lc-blue);
	font-size:10px;
	font-weight:950;
}

.lud-contact__tip strong {
	display:block;
	color:var(--lc-blue-dark);
	font-size:11px;
	font-weight:900;
}

.lud-contact__tip p {
	margin:3px 0 0!important;
	color:var(--lc-muted)!important;
	font-size:9.5px!important;
	line-height:1.45!important;
}

.lud-contact__notice {
	display:flex;
	gap:10px;
	margin-top:15px;
	padding:13px;
	border:1px solid #F2D57A;
	border-radius:10px;
	background:#FFF8DE;
}

.lud-contact__notice>span {
	display:grid;
	flex:0 0 auto;
	place-items:center;
	width:28px;
	height:28px;
	border-radius:50%;
	background:var(--lc-yellow);
	color:#5D4700;
	font-size:12px;
	font-weight:950;
}

.lud-contact__notice p {
	margin:0!important;
	color:#6E5B15!important;
	font-size:9.5px!important;
	line-height:1.45!important;
}

.lud-contact__notice strong {
	display:block;
	margin-bottom:2px;
	color:#5F4A00;
	font-size:10px;
}

.lud-contact__quick-card a {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	min-height:40px;
	margin-top:7px;
	padding:9px 11px;
	border:1px solid #E0E8F1;
	border-radius:9px;
	background:#FAFCFF;
	color:var(--lc-blue-dark)!important;
	font-size:10px;
	font-weight:850;
	text-decoration:none!important;
}

.lud-contact__quick-card a:hover {
	border-color:rgba(11,77,187,.30);
	background:#F4F8FF;
}

.lud-contact__quick-card a b {
	color:var(--lc-blue);
}

.lud-contact__honeypot {
	position:absolute!important;
	left:-9999px!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
}

@media(max-width:900px) {
	.lud-contact {
		width:min(100% - 24px, 920px);
		margin-top:24px;
	}

	.lud-contact__layout {
		grid-template-columns:1fr;
	}

	.lud-contact__aside {
		grid-template-columns:1fr 1fr;
	}
}

@media(max-width:640px) {
	.lud-contact {
		width:calc(100% - 18px);
		margin:18px auto 30px;
	}

	.lud-contact__hero {
		padding:21px 17px;
		border-radius:0 0 14px 14px;
	}

	.lud-contact__hero-badge {
		width:58px;
		height:58px;
		border-radius:16px;
	}

	.lud-contact__hero-badge span {
		font-size:30px;
	}

	.lud-contact__hero h1 {
		font-size:29px!important;
	}

	.lud-contact__hero p {
		font-size:12px!important;
	}

	.lud-contact__layout {
		margin-top:14px;
		gap:12px;
	}

	.lud-contact__form-card,
	.lud-contact__help-card,
	.lud-contact__quick-card {
		padding:16px;
		border-radius:13px;
	}

	.lud-contact__row {
		grid-template-columns:1fr;
	}

	.lud-contact__upload {
		grid-template-columns:1fr;
	}

	.lud-contact__upload-button {
		width:100%;
	}

	.lud-contact__aside {
		grid-template-columns:1fr;
	}

	.lud-contact__submit {
		width:100%;
	}

	.lud-contact__section-head h2,
	.lud-contact__help-card h2,
	.lud-contact__quick-card h2 {
		font-size:19px!important;
	}
}
