:root {
	--ac-red: #E31E24;
	--ac-red-dark: #B4151A;
	--ac-black: #101012;
	--ac-gray-100: #f4f4f6;
	--ac-gray-200: #e7e7ea;
	--ac-white: #ffffff;
	--ac-radius: 16px;
	--ac-shadow: 0 16px 38px -18px rgba(16, 16, 18, 0.25);
}

.ac-wrap {
	font-family: 'Nunito', -apple-system, BlinkMacSystemFont, sans-serif;
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.ac-wrap *,
.ac-wrap *::before,
.ac-wrap *::after {
	box-sizing: border-box;
}

.ac-form-card {
	background: var(--ac-white);
	border: 1px solid var(--ac-gray-200);
	border-radius: var(--ac-radius);
	box-shadow: var(--ac-shadow);
	padding: 28px 30px 30px;
	position: relative;
	overflow: hidden;
}
.ac-form-card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--ac-red);
}

.ac-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 560px) {
	.ac-field-row { grid-template-columns: 1fr; }
}

.ac-field {
	margin-bottom: 16px;
}
.ac-field label {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ac-black);
	margin-bottom: 6px;
}
.ac-field input,
.ac-field textarea {
	width: 100%;
	font-family: 'Nunito', sans-serif;
	font-size: 14.5px;
	color: var(--ac-black);
	padding: 11px 13px;
	border: 2px solid var(--ac-gray-200);
	border-radius: 10px;
	background: var(--ac-gray-100);
	transition: border-color .16s ease, background .16s ease;
	resize: vertical;
}
.ac-field input[type="file"] {
	padding: 9px 13px;
	background: var(--ac-gray-100);
}
.ac-field input:focus,
.ac-field textarea:focus {
	outline: none;
	border-color: var(--ac-red);
	background: var(--ac-white);
}

.ac-actions {
	margin-top: 6px;
}

.ac-wrap .ac-btn {
	font-family: 'Nunito', sans-serif !important;
	font-weight: 800 !important;
	font-size: 14.5px !important;
	border-radius: 10px !important;
	padding: 13px 26px !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	text-decoration: none !important;
	transition: transform .12s ease, box-shadow .12s ease, background .16s ease, border-color .16s ease, color .16s ease;
}
.ac-wrap .ac-btn-primary,
.ac-wrap .ac-btn-primary:link,
.ac-wrap .ac-btn-primary:visited {
	background: var(--ac-red) !important;
	color: var(--ac-white) !important;
	border: 2px solid var(--ac-red) !important;
	box-shadow: 0 10px 22px -10px rgba(227,30,36,0.55);
}
.ac-wrap .ac-btn-primary:hover,
.ac-wrap .ac-btn-primary:focus {
	background: var(--ac-red-dark) !important;
	border-color: var(--ac-red-dark) !important;
	color: var(--ac-white) !important;
	transform: translateY(-1px);
}
.ac-wrap .ac-btn-primary:disabled {
	opacity: .65;
	cursor: not-allowed;
	transform: none;
}

.ac-response {
	margin-top: 16px;
	font-size: 13.5px;
	font-weight: 700;
	border-radius: 10px;
}
.ac-response.ac-success {
	padding: 13px 15px;
	background: #eaf9ee;
	color: #1c7a34;
	border: 1px solid #bfeecb;
}
.ac-response.ac-error {
	padding: 13px 15px;
	background: #fdeceb;
	color: var(--ac-red-dark);
	border: 1px solid #f6c3c3;
}

@media (max-width: 600px) {
	.ac-form-card { padding: 22px 20px 26px; }
}
