/* ============================================
   AirSolar — Custom Styles
   ============================================ */

/* Contact Form 7 Styling */
.wpcf7 .form-input,
.wpcf7 .form-select,
.wpcf7 .form-textarea {
	width: 100%;
	padding: 1rem 1.25rem;
	background-color: #f8fafc;
	border-radius: 0.75rem;
	border: 1px solid #e2e8f0;
	outline: none;
	transition: all 0.2s;
	font-family: inherit;
	font-size: 1rem;
	margin-bottom: 0.25rem;
}
.wpcf7 .form-input:focus,
.wpcf7 .form-select:focus,
.wpcf7 .form-textarea:focus {
	border-color: #194BA9;
	box-shadow: 0 0 0 2px rgba(25, 75, 169, 0.3);
}
.wpcf7 .form-textarea {
	resize: none;
}
.wpcf7 .submit-btn {
	width: 100%;
	background-color: #194BA9;
	color: white;
	padding: 1.25rem;
	border-radius: 0.75rem;
	font-weight: 700;
	font-size: 1.125rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	border: none;
	cursor: pointer;
	transition: all 0.2s;
	box-shadow: 0 10px 30px rgba(25, 75, 169, 0.3);
}
.wpcf7 .submit-btn:hover {
	background-color: #0e3580;
	box-shadow: 0 15px 40px rgba(25, 75, 169, 0.4);
	transform: translateY(-1px);
}
.wpcf7-not-valid-tip {
	color: #dc2626;
	font-size: 0.75rem;
	margin-top: 0.25rem;
}
.wpcf7 .wpcf7-response-output {
	border-radius: 0.75rem;
	padding: 1rem;
	margin: 1rem 0 0;
}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label {
	font-size: 0.75rem;
	color: #94a3b8;
}

/* Glass navigation */
.glass-nav {
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
}

/* Scroll reveal animations */
.animate-on-scroll {
	opacity: 0;
	transform: translateY(40px);
	transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.animate-on-scroll.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Homepage hero */
.hero-bg {
    background-color: #082B37;
    background-image:
        linear-gradient(to right, rgba(8, 43, 55, 0.80) 0%, rgba(8, 43, 55, 0.55) 50%, rgba(25, 75, 169, 0.45) 100%),
        url('../images/hero-bg.png');
    background-size: cover;
    background-position: center right;
}
