/* ─── Contact Form 7 - Dark Theme Styles (AOS Custom) ─── */

.aos-contact-form {
	max-width: 700px;
	margin: 0 auto;
	font-family: var(--wp--preset--font-family--sans-serif);
	color: #F5F6F8; /* Light base color */
}

/* Headings and Intro Text */
.aos-contact-form h3 {
	color: #FFFFFF !important;
	font-size: 1.8rem;
	margin-bottom: 12px;
	text-align: center;
}

.aos-contact-form > p {
	color: rgba(255, 255, 255, 0.8) !important;
	font-size: 0.95rem;
	text-align: center;
	margin-bottom: 32px;
	line-height: 1.6;
}

/* Form Sections */
.aos-contact-form .form-section {
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
}

.aos-contact-form h4 {
	color: var(--wp--preset--color--primary-alt-accent, #FF5E5E) !important;
	font-size: 1.1rem;
	font-weight: 600;
	margin-top: 0;
	margin-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 8px;
}

/* Reduce default paragraph margins */
.aos-contact-form p {
	margin-bottom: 16px;
}

.aos-contact-form p:last-child {
	margin-bottom: 0;
}

/* Labels */
.aos-contact-form label,
.aos-contact-form .form-label {
	display: block;
	color: #FFFFFF !important;
	font-size: 0.95rem;
	font-weight: 500;
	margin-bottom: 6px;
	letter-spacing: 0.5px;
}

/* Checkboxes and Radio Buttons */
.aos-contact-form .wpcf7-list-item {
	display: inline-block;
	margin: 0 16px 8px 0;
}

.aos-contact-form .wpcf7-list-item-label {
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 0.95rem;
	cursor: pointer;
	margin-left: 6px;
	vertical-align: middle;
}

.aos-contact-form input[type="radio"],
.aos-contact-form input[type="checkbox"] {
	accent-color: var(--wp--preset--color--primary-alt-accent, #FF5E5E);
	transform: scale(1.1);
	margin-top: -2px;
	cursor: pointer;
}

/* Form Controls (Inputs, Textareas, Selects) */
.aos-contact-form .wpcf7-form-control.wpcf7-text,
.aos-contact-form .wpcf7-form-control.wpcf7-textarea,
.aos-contact-form .wpcf7-form-control.wpcf7-select {
	width: 100%;
	padding: 12px 16px;
	background-color: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: 6px;
	color: #FFFFFF !important;
	font-size: 1rem;
	transition: all var(--transition-fast, 0.3s ease) !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
	margin-top: 4px;
}

.aos-contact-form .wpcf7-form-control.wpcf7-textarea {
	resize: vertical;
	min-height: 100px;
}

/* Select specifically */
.aos-contact-form select.wpcf7-form-control {
	appearance: none;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>');
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
}

.aos-contact-form select.wpcf7-form-control option {
	background-color: #222; /* Dark background for dropdown options */
	color: #FFF;
}

/* Placeholder Text */
.aos-contact-form .wpcf7-form-control::placeholder {
	color: rgba(255, 255, 255, 0.35) !important;
	opacity: 1;
}

/* Focus State */
.aos-contact-form .wpcf7-form-control.wpcf7-text:focus,
.aos-contact-form .wpcf7-form-control.wpcf7-textarea:focus,
.aos-contact-form .wpcf7-form-control.wpcf7-select:focus {
	outline: none !important;
	border-color: var(--wp--preset--color--primary-alt-accent, #FF5E5E) !important;
	background-color: rgba(255, 255, 255, 0.08) !important;
	box-shadow: 0 0 0 3px rgba(255, 94, 94, 0.2) !important; /* Soft red glow */
}

/* Privacy Agreement Section */
.aos-contact-form .privacy-confirm {
	background: transparent;
	border: none;
	padding: 0;
	margin-bottom: 24px;
	text-align: center;
	color: rgba(255, 255, 255, 0.85);
}

.aos-contact-form .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.aos-contact-form .wpcf7-acceptance .wpcf7-list-item-label {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.7) !important;
	margin-left: 0;
}

/* 只有链接文字应用浅色和悬浮变红 */
.aos-contact-form .privacy-confirm a {
	color: rgba(255, 255, 255, 0.85) !important; /* 浅色 */
	transition: color 0.2s ease-in-out;
	text-decoration: none;
}

.aos-contact-form .privacy-confirm a:hover {
	color: red !important;
}

/* Submit Button */
.aos-contact-form .form-submit {
	text-align: center;
}

.aos-contact-form .wpcf7-submit {
	display: inline-block;
	min-width: 200px;
	padding: 16px 48px !important;
	background-color: var(--wp--preset--color--primary-alt-accent, #FF5E5E) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 30px !important; /* Pill shape for CTA */
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: all 0.3s ease-in-out !important;
	box-shadow: 0 4px 12px rgba(255, 94, 94, 0.3) !important;
}

.aos-contact-form .wpcf7-submit:hover,
.aos-contact-form .wpcf7-submit:focus {
	background-color: #E04D4D !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(255, 94, 94, 0.4) !important;
}

.aos-contact-form .wpcf7-submit:active {
	transform: translateY(0);
}

/* Error/Success Messages */
.aos-contact-form .wpcf7-response-output {
	border-radius: 8px !important;
	padding: 16px !important;
	margin-top: 24px !important;
	font-size: 0.95rem;
	border: none !important;
	text-align: center;
}

.aos-contact-form .wpcf7 form.sent .wpcf7-response-output {
	background-color: rgba(76, 175, 80, 0.1) !important;
	color: #4CAF50 !important;
	border: 1px solid rgba(76, 175, 80, 0.3) !important;
}

.aos-contact-form .wpcf7 form.invalid .wpcf7-response-output,
.aos-contact-form .wpcf7 form.unaccepted .wpcf7-response-output {
	background-color: rgba(255, 94, 94, 0.1) !important;
	color: #FF5E5E !important;
	border: 1px solid rgba(255, 94, 94, 0.3) !important;
}

.aos-contact-form .wpcf7-not-valid-tip {
	color: #FF5E5E !important;
	font-size: 0.85rem !important;
	margin-top: 4px;
	display: block;
}

.aos-contact-form .wpcf7-spinner {
	background-color: var(--wp--preset--color--primary-alt-accent, #FF5E5E) !important;
}

/* ─── Mobile Responsiveness ─── */
@media (max-width: 768px) {
	.aos-contact-form .form-section {
		padding: 16px 12px;
	}
	
	.aos-contact-form h3 {
		font-size: 1.5rem;
	}
	
	.aos-contact-form .wpcf7-list-item {
		display: block;
		margin: 0 0 12px 0;
	}
	
	.aos-contact-form .wpcf7-submit {
		width: 100%;
		padding: 16px 24px !important;
	}
}
