/* 联系表单样式 - 可复用于首页和关于我们页面 */
#contact {
	padding: 4rem 0;
}

#contact .contact-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
}

#contact .contact-form .form-group {
	margin-bottom: 1.2rem;
}

#contact .contact-form label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 500;
	color: #333;
}

#contact .contact-form .required {
	color: #e74c3c;
}

#contact .contact-form input,
#contact .contact-form textarea,
#contact .contact-form select {
	width: 100%;
	padding: 0.8rem 1rem;
	border: 1px solid #ddd;
	border-radius: 5px;
	transition: border-color 0.3s;
}

#contact .contact-form input:focus,
#contact .contact-form select:focus,
#contact .contact-form textarea:focus {
	border-color: var(--primary-color);
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 116, 217, 0.2);
}

#contact .contact-form textarea {
	min-height: 150px;
	resize: vertical;
}

/* 验证码样式 - 保持原有水平布局 */
#contact .captcha-group .captcha-container {
	display: flex;
	gap: 1rem;
	align-items: center;
}

#contact .captcha-container input {
	width: 250px !important;
	flex-shrink: 0;
}

/* 强制验证码错误提示显示在下一行 - 使用flex布局强制换行 */
#contact .captcha-group {
	display: flex !important;
	flex-direction: column !important;
}

#contact .captcha-group .captcha-container {
	display: flex !important;
	gap: 1rem !important;
	align-items: center !important;
	width: 100% !important;
	order: 1 !important;
}

/* 强制错误提示在下一行 */
#contact .captcha-group #error-captcha {
	display: none !important;
	width: 100% !important;
	margin-top: 0.5rem !important;
	order: 2 !important;
	flex-basis: 100% !important;
}

#contact .captcha-group #error-captcha.d-block {
	display: block !important;
	width: 100% !important;
}

#contact .captcha-img {
	position: relative;
	height: 40px;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

#contact .captcha-img img {
	border-radius: 4px;
	border: 1px solid #ddd;
	height: 40px;
	width: auto;
}

#contact .refresh-captcha {
	position: absolute;
	right: -35px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: var(--primary-color);
	cursor: pointer;
	font-size: 1.2rem;
	transition: all 0.3s;
	padding: 5px;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#contact .refresh-captcha:hover {
	color: #005bb5;
	transform: translateY(-50%) rotate(180deg);
}

/* 错误提示样式 - 与系统保持一致 */
#contact .invalid-feedback {
	display: none;
	width: 100%;
	margin-top: 0.25rem;
	font-size: 0.875em;
	color: #dc3545;
}

#contact .invalid-feedback.d-block {
	display: block;
}

#contact .is-invalid {
	border-color: #dc3545;
	padding-right: calc(1.5em + 0.75rem);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath d='m5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(0.375em + 0.1875rem) center;
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

#contact .is-invalid:focus {
	border-color: #dc3545;
	box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

#contact .contact-info {
	background: var(--primary-color);
	color: #fff;
	padding: 2rem;
	border-radius: 5px;
}

#contact .contact-info h3 {
	margin-bottom: 2rem;
	font-size: 1.8rem;
}

#contact .contact-info ul li {
	margin-bottom: 1rem;
}

#contact .contact-info ul li i {
	margin-right: 0.5rem;
}

#contact .contact-info .social {
	margin-top: 2rem;
}

#contact .contact-info .social a {
	display: inline-block;
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	text-align: center;
	line-height: 40px;
	margin-right: 10px;
	border-radius: 50%;
	transition: all 0.3s;
}

#contact .contact-info .social a:hover {
	background: var(--dark-color);
	color: #fff;
}

#contact .contact-info .qrcode {
	margin-top: 2rem;
	text-align: center;
}

#contact .contact-info .qrcode img {
	width: 150px;
	border: 5px solid #fff;
}

/* 移动端验证码样式调整 */
@media (max-width: 576px) {
	#contact .captcha-group .captcha-container {
		flex-direction: column;
		gap: 0.5rem;
		align-items: flex-start;
	}
	
	#contact .captcha-container input {
		width: 100% !important;
	}
	
	#contact .captcha-img {
		width: 100%;
		justify-content: flex-start;
	}
	
	#contact .refresh-captcha {
		right: -35px;
	}
}

/* 响应式设计 */
@media (max-width: 992px) {
	#contact .contact-content {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

/* 关于我们页面特定样式调整 */
.aboutus-page #contact {
	padding: 4rem 0;
}

/* 产品选择容器样式 */
#contact .product-select-container {
	position: relative;
}

#contact .product-select-container select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
	background-position: right 0.5rem center;
	background-repeat: no-repeat;
	background-size: 1.5em 1.5em;
	padding-right: 2.5rem;
}

/* 联系提示文本样式 */
#contact .contact-note {
	margin-bottom: 1rem;
}

#contact .contact-note .form-text {
	font-size: 0.875rem;
	color: #6c757d;
	margin-bottom: 0.5rem;
}