/**
 * BHARAT-EU Site Styles
 * Contact page + newsletter
 */

.bharat-contact-page {
	--bc-navy: var(--bharat-navy);
	--bc-teal: var(--bharat-teal);
	--bc-green: var(--bharat-green);
	--bc-orange: var(--bharat-orange);
	--bc-text: var(--bharat-text);
	--bc-muted: var(--bharat-muted);
	--bc-light: var(--bharat-light);
	--bc-cream: var(--bharat-cream);
	--bc-border: var(--bharat-border);
	--bc-white: var(--bharat-white);
}

.bharat-contact-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 15%, rgba(26, 123, 56, .12), transparent 28%),
		linear-gradient(135deg, #FEF2DE 0%, #FFFFFF 70%);
}

.bharat-contact-title {
	max-width: 850px;
	margin: 0 0 24px;
	color: var(--bc-navy);
	font-size: clamp(42px, 6vw, 68px);
	line-height: 1.04;
	letter-spacing: -.035em;
}

.bharat-contact-lead {
	max-width: 800px;
	margin: 0;
	color: var(--bc-text);
	font-size: 18px;
	line-height: 1.75;
}

.bharat-contact-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.bharat-contact-card {
	position: relative;
	min-height: 250px;
	padding: 32px;
	border: 1px solid var(--bc-border);
	border-radius: 22px;
	background: var(--bc-white);
	box-shadow: 0 10px 32px rgba(11, 50, 86, .06);
	transition: .25s ease;
}

.bharat-contact-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 42px rgba(11, 50, 86, .11);
}

.bharat-contact-icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 24px;
	border-radius: 16px;
	background: rgba(25, 128, 155, .10);
	color: var(--bc-teal);
}

.bharat-contact-icon svg {
	width: 26px;
	height: 26px;
}

.bharat-contact-card h3 {
	margin: 0 0 10px;
	color: var(--bc-navy);
	font-size: 23px;
}

.bharat-contact-card p {
	margin: 0 0 20px;
	color: var(--bc-text);
	line-height: 1.65;
}

.bharat-contact-card a {
	color: var(--bc-teal);
	font-weight: 700;
	text-decoration: none;
}

.bharat-contact-card a:hover {
	color: var(--bc-navy);
}

.bharat-contact-form-area {
	background: var(--bc-light);
}

.bharat-contact-form-heading {
	max-width: 730px;
	margin: 0 auto 45px;
	text-align: center;
}

.bharat-contact-form-heading h2 {
	margin: 0 0 18px;
	color: var(--bc-navy);
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.1;
}

.bharat-contact-form-heading p {
	margin: 0;
	color: var(--bc-text);
	font-size: 17px;
	line-height: 1.7;
}

.bharat-kadence-form-wrap {
	max-width: 900px;
	margin: 0 auto;
	padding: 42px;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 16px 45px rgba(11, 50, 86, .08);
}

.bharat-kadence-form-wrap input:not([type="checkbox"]):not([type="radio"]),
.bharat-kadence-form-wrap textarea,
.bharat-kadence-form-wrap select {
	border: 1px solid #D6E0E3 !important;
	border-radius: 10px !important;
	background: #FAFCFB !important;
}

/* Contact form consent checkbox fix.
 * The previous generic input rule also styled checkboxes as text fields,
 * which could make the Kadence consent control difficult or impossible to click.
 */
.bharat-kadence-form-wrap input[type="checkbox"] {
	-webkit-appearance: checkbox !important;
	appearance: checkbox !important;
	display: inline-block !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	margin: 2px 9px 0 0 !important;
	padding: 0 !important;
	border-radius: 3px !important;
	background: #fff !important;
	accent-color: #19809B;
	cursor: pointer !important;
	pointer-events: auto !important;
	opacity: 1 !important;
	vertical-align: top !important;
	box-sizing: border-box !important;
}

.bharat-kadence-form-wrap .kb-checkbox-item,
.bharat-kadence-form-wrap .kb-form-field-checkbox,
.bharat-kadence-form-wrap .kadence-blocks-form-field.checkbox {
	position: relative;
	z-index: 2;
}

.bharat-kadence-form-wrap .kb-checkbox-item label,
.bharat-kadence-form-wrap .kb-form-field-checkbox label,
.bharat-kadence-form-wrap .kadence-blocks-form-field.checkbox label,
.bharat-kadence-form-wrap label[for] {
	cursor: pointer;
}

.bharat-newsletter-section {
	max-width: 1550px;
	margin: 0 auto;
	padding: 56px 74px;
	border-radius: 32px;
	background:
		radial-gradient(circle at 92% 12%, rgba(233, 144, 3, .15), transparent 28%),
		linear-gradient(115deg, #173B62 0%, #265A78 55%, #5D8580 100%);
	overflow: hidden;
}

.bharat-newsletter-section .kt-row-column-wrap {
	align-items: center;
	gap: 56px;
}

.bharat-newsletter-copy h2 {
	margin: 20px 0 26px;
	color: #fff;
	font-size: clamp(42px, 5vw, 64px);
	line-height: 1.03;
	letter-spacing: -.03em;
}

.bharat-newsletter-copy p {
	max-width: 650px;
	margin: 0;
	color: rgba(255,255,255,.94);
	font-size: 18px;
	line-height: 1.65;
}

.bharat-newsletter-copy .bharat-contact-eyebrow {
	color: #E4EFD8;
}

.bharat-newsletter-panel {
	padding: 34px 40px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 24px;
	background: rgba(255,255,255,.07);
}

.bharat-newsletter-panel-head h3 {
	margin: 0 0 10px;
	color: #fff;
	font-size: 25px;
	line-height: 1.25;
}

.bharat-newsletter-panel-head p {
	margin: 0 0 26px;
	color: rgba(255,255,255,.90);
	font-size: 16px;
	line-height: 1.55;
}

.bharat-newsletter-form,
.bharat-newsletter-form form {
	color: #fff;
}

.bharat-newsletter-form label,
.bharat-newsletter-form .kb-form-field-label {
	color: #fff !important;
}

.bharat-newsletter-form input[type="email"],
.bharat-newsletter-form input[type="text"] {
	min-height: 52px;
	padding: 12px 16px !important;
	border: 1px solid rgba(255,255,255,.30) !important;
	border-radius: 10px !important;
	background: rgba(255,255,255,.97) !important;
	color: #173B62 !important;
}

.bharat-newsletter-form input::placeholder {
	color: #7A8490 !important;
	opacity: 1;
}

.bharat-newsletter-form .kb-checkbox-item,
.bharat-newsletter-form .kb-checkbox-item label,
.bharat-newsletter-form .kb-checkbox-item span,
.bharat-newsletter-form .kb-form-field-checkbox,
.bharat-newsletter-form .kb-form-field-checkbox label,
.bharat-newsletter-form .kb-form-field-checkbox span,
.bharat-newsletter-form .kadence-blocks-form-field.checkbox,
.bharat-newsletter-form .kadence-blocks-form-field.checkbox label,
.bharat-newsletter-form input[type="checkbox"] + label,
.bharat-newsletter-form input[type="checkbox"] ~ label {
	color: #ffffff !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

.bharat-newsletter-form .kb-checkbox-item *,
.bharat-newsletter-form .kb-form-field-checkbox *,
.bharat-newsletter-form .kadence-blocks-form-field.checkbox * {
	color: #ffffff !important;
}

.bharat-newsletter-form .kb-checkbox-item a,
.bharat-newsletter-form .kb-form-field-checkbox a,
.bharat-newsletter-form .kadence-blocks-form-field.checkbox a,
.bharat-newsletter-form input[type="checkbox"] ~ label a {
	color: #ffffff !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bharat-newsletter-form .kb-checkbox-item a:hover,
.bharat-newsletter-form .kb-form-field-checkbox a:hover,
.bharat-newsletter-form .kadence-blocks-form-field.checkbox a:hover,
.bharat-newsletter-form input[type="checkbox"] ~ label a:hover {
	color: #E99003 !important;
}

.bharat-newsletter-form input[type="checkbox"] {
	accent-color: #E99003;
}

.bharat-newsletter-form button,
.bharat-newsletter-form .kb-button,
.bharat-newsletter-form input[type="submit"] {
	min-height: 50px;
	padding: 12px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #19809B !important;
	color: #fff !important;
	font-weight: 700 !important;
	transition: .25s ease;
}

.bharat-newsletter-form button:hover,
.bharat-newsletter-form .kb-button:hover,
.bharat-newsletter-form input[type="submit"]:hover {
	background: #E99003 !important;
	color: #fff !important;
}


/* =========================================================
   CONTACT PAGE — v2.7.1
   Revised layout from updated project brief.
   ========================================================= */

/* The revised brief asks for no explanatory paragraph under the title. */
.bharat-contact-hero .bharat-contact-hero-inner {
	max-width: 900px;
}

.bharat-contact-hero {
	min-height: 360px;
	display: flex;
	align-items: center;
}

.bharat-contact-hero .bharat-container {
	width: 100%;
}

/* Main contact directory */
.bharat-contact-directory-section {
	background: #fff;
}

.bharat-contact-directory {
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
	gap: 28px;
	align-items: stretch;
}

.bharat-contact-primary,
.bharat-contact-people {
	border: 1px solid var(--bc-border);
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(11, 50, 86, .07);
}

.bharat-contact-primary {
	position: relative;
	overflow: hidden;
	padding: 38px;
	background:
		radial-gradient(circle at 92% 12%, rgba(25,128,155,.10), transparent 34%),
		linear-gradient(145deg, #FEF2DE 0%, #FFFFFF 72%);
}

.bharat-contact-primary::after {
	content: "";
	position: absolute;
	right: -65px;
	bottom: -85px;
	width: 220px;
	height: 220px;
	border: 26px solid rgba(233,144,3,.08);
	border-radius: 50%;
	pointer-events: none;
}

.bharat-contact-primary > * {
	position: relative;
	z-index: 1;
}

.bharat-contact-primary h2,
.bharat-contact-people h2 {
	margin: 0 0 18px;
	color: var(--bc-navy);
	font-size: clamp(30px, 3vw, 42px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.bharat-contact-primary p,
.bharat-contact-people > p {
	margin: 0;
	color: var(--bc-text);
	line-height: 1.7;
}

.bharat-contact-email {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 28px 0 22px;
	color: var(--bc-teal);
	font-size: clamp(21px, 2vw, 28px);
	font-weight: 800;
	text-decoration: none;
	word-break: break-word;
}

.bharat-contact-email:hover {
	color: var(--bc-navy);
}

.bharat-contact-email-icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	border-radius: 14px;
	background: rgba(25,128,155,.10);
	color: var(--bc-teal);
	font-size: 20px;
}

.bharat-contact-social-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.bharat-contact-social-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid rgba(11,50,86,.10);
	border-radius: 999px;
	background: rgba(255,255,255,.75);
	color: var(--bc-navy);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: .25s ease;
}

.bharat-contact-social-link:hover {
	transform: translateY(-2px);
	border-color: rgba(25,128,155,.30);
	color: var(--bc-teal);
}

.bharat-contact-people {
	padding: 38px;
}

.bharat-contact-person-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 26px;
}

.bharat-contact-person {
	position: relative;
	min-height: 180px;
	padding: 26px;
	border: 1px solid rgba(11,50,86,.09);
	border-radius: 20px;
	background: #FAFCFB;
	transition:
		transform .28s ease,
		box-shadow .28s ease,
		border-color .28s ease;
}

.bharat-contact-person:hover {
	transform: translateY(-4px);
	border-color: rgba(25,128,155,.24);
	box-shadow: 0 14px 30px rgba(11,50,86,.08);
}

.bharat-contact-person-role {
	display: inline-flex;
	margin-bottom: 16px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(26,123,56,.09);
	color: var(--bc-green);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.bharat-contact-person h3 {
	margin: 0 0 7px;
	color: var(--bc-navy);
	font-size: 24px;
	line-height: 1.2;
}

.bharat-contact-person p {
	margin: 0;
	color: var(--bc-muted);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.bharat-contact-person-note {
	display: block;
	margin-top: 16px;
	color: var(--bc-text);
	font-size: 14px;
	line-height: 1.55;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
}

/* Form area: keep the Kadence form, but align it with the site language. */
.bharat-contact-form-area {
	padding-top: 82px;
	padding-bottom: 90px;
}

.bharat-contact-form-heading {
	max-width: 780px;
}

.bharat-contact-form-heading .bharat-contact-eyebrow {
	margin-bottom: 14px;
}

/* Staggered reveal for contact directory */
.bharat-contact-person.bharat-reveal {
	opacity: 0;
	transform: translateY(20px);
}

.bharat-contact-person.bharat-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Responsive */
@media (max-width: 980px) {
	.bharat-contact-directory {
		grid-template-columns: 1fr;
	}

	.bharat-contact-person-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 650px) {
	.bharat-contact-hero {
		min-height: 300px;
	}

	.bharat-contact-primary,
	.bharat-contact-people {
		padding: 28px 22px;
		border-radius: 22px;
	}

	.bharat-contact-person-grid {
		grid-template-columns: 1fr;
	}

	.bharat-contact-person {
		min-height: 0;
	}

	.bharat-contact-email {
		font-size: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bharat-contact-person.bharat-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.bharat-contact-social-link,
	.bharat-contact-person {
		transition: none !important;
	}
}
