/*
 Theme Name:   Blocksy Child
 Theme URI:    https://creative-themes.com/blocksy/
 Description:  Blocksy Child theme — EarthG Infra
 Author:       Creative Themes
 Author URI:   https://creative-themes.com/
 Template:     blocksy
 Version:      1.1.0
 Text Domain:  blocksy-child
*/

/* ==========================================================================
   EarthG overrides on top of the design stylesheet
   ========================================================================== */

/* ---------- Header nav: wp_nav_menu outputs <li><a> ---------- */
.site-header .brand img { height: clamp(52px, 7vw, 64px); width: auto; display: block; }
.site-header .custom-logo { height: clamp(52px, 7vw, 64px); width: auto; }

.nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 1.4rem;
}
.nav li { position: relative; margin: 0; padding: 0; }
.nav li.current-menu-item > a,
.nav li.current_page_item > a {
	color: var(--brand-cyan);
}
.nav li.current-menu-item > a::after,
.nav li.current_page_item > a::after {
	transform: scaleX(1);
}
.nav li:hover > ul {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.nav ul ul {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 210px;
	background: var(--navy-950);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 10px;
	box-shadow: var(--shadow-md);
	flex-direction: column;
	gap: 0;
	padding: .45rem 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: .18s ease;
	z-index: 60;
}
.nav ul ul li { display: block; }
.nav ul ul a {
	display: block;
	padding: .55rem 1rem;
	border-bottom: 0 !important;
	font-size: .95rem;
}

/* Neutralize Blocksy container padding — EarthG sections manage their own spacing */
.ct-container,
.ct-container-full,
.ct-container-narrow {
	padding-top: 0;
	padding-bottom: 0;
}

/* CF7 renders <p> wrappers and <br> after labels — align with design markup */
.wpcf7 .field p { margin: 0; }
.wpcf7 .field label + br { display: none; }
.wpcf7 .field > p > label { margin-bottom: .35rem; }

/* Hide Blocksy default page title/hero on pages built with Elementor */
body.elementor-page .ct-container > .entry-header,
body.elementor-page .ct-container-full > .entry-header {
	display: none;
}

/* ---------- CF7 form mapped to the EarthG design ---------- */
.wpcf7 .earthg-cf7-wrap { display: grid; gap: 1.1rem; }
.wpcf7 form { display: block; margin: 0; padding: 0; }
.wpcf7 .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.wpcf7 .field { margin: 0; }
.wpcf7 .field label {
	display: block;
	font-weight: 600;
	font-size: .95rem;
	margin-bottom: .35rem;
	color: var(--navy-900);
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	padding: 0.8rem 1rem;
	font: inherit;
	font-size: 1rem;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--ink);
	transition: border-color .15s ease, box-shadow .15s ease;
	box-shadow: none;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: var(--pdf-blue);
	box-shadow: 0 0 0 3px rgba(0,108,201,.18);
}
.wpcf7 textarea { resize: vertical; min-height: 140px; }
.wpcf7-submit { border: 0; cursor: pointer; align-self: flex-start; }
.wpcf7 input[type="submit"].wpcf7-submit,
.wpcf7 input[type="submit"].earthg-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	width: auto;
	padding: 0.85em 1.6em;
	border-radius: 999px;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1;
	border: 2px solid transparent;
	background: var(--grad-brand-diag);
	color: var(--white);
	box-shadow: 0 10px 24px -8px rgba(0,108,201,.45);
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.wpcf7 input[type="submit"].wpcf7-submit:hover,
.wpcf7 input[type="submit"].earthg-submit:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-lg);
	filter: brightness(1.08);
}
.wpcf7 .earthg-submit-field { display: flex; flex-direction: column; align-items: flex-start; }
.wpcf7 .form-note { font-size: .9rem; color: var(--ink-soft); margin: 0; }
.wpcf7 .wpcf7-response-output {
	margin: 0;
	padding: 1rem 1.2rem;
	border-radius: var(--radius-sm);
	font-weight: 600;
	border: 1px solid transparent;
}
.wpcf7 form.sent .wpcf7-response-output {
	background: #e7f6ee;
	border-color: #b7e3c7;
	color: #14653a;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	background: #fdecea;
	border-color: #f5c6c2;
	color: #b3261e;
}
.wpcf7 .wpcf7-not-valid-tip {
	color: #b3261e;
	font-size: .86rem;
	margin-top: .3rem;
}
.wpcf7 .field input.wpcf7-not-valid,
.wpcf7 .field textarea.wpcf7-not-valid,
.wpcf7 .field select.wpcf7-not-valid {
	border-color: #b3261e;
}
.wpcf7-spinner { margin: 0; }
.wpcf7 input[type="submit"].btn-primary { width: auto; padding: 0.85em 1.6em; border: 0; }

@media (max-width: 900px) {
	.nav ul { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
	.nav ul ul {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0 0 0 1rem;
	}
}
@media (max-width: 767px) {
	.wpcf7 .form-grid { grid-template-columns: 1fr; }
}


.section-head h2{
	display: block;
}