/* Contact section block — intro + 3-block info card on the left, 6-field dummy form on the right.
   Reuses global primitives: .rw-field*, .rw-btn, .rw-eyebrow, --rw-* tokens.
   Note: .rw-field rules currently live in blockstudio/blocks/contact-form/style.css and apply globally.
   Do NOT redefine them here. */

.rw-block-contact-section {
	position: relative;
	background: var(--rw-color-bg-gray, #F4F4F4);
	overflow: hidden;
	isolation: isolate;
}

/* ===== Layout: 2 columns; left col stacks intro (top) + info (bottom); form spans both rows. ===== */
.rw-block-contact-section__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-areas:
		"intro form"
		"info  form";
	gap: 3rem;
	align-items: stretch;
}
.rw-block-contact-section__intro { grid-area: intro; }
.rw-block-contact-section__info  { grid-area: info; margin-top: auto; }
.rw-block-contact-section__form  { grid-area: form; }

/* ===== Intro ===== */
.rw-block-contact-section__intro {
	display: flex;
	flex-direction: column;
	gap: var(--rw-space-md, 1.5rem);
	max-width: 33.5rem;
}
.rw-block-contact-section__heading {
	font-family: var(--rw-font-text);
	font-weight: 700;
	font-size: var(--rw-h2-size);
	line-height: var(--rw-h2-line);
	letter-spacing: var(--rw-h2-tracking);
	color: var(--rw-color-primary-green);
	margin: 0;
}
.rw-block-contact-section__desc {
	font-family: var(--rw-font-text);
	font-size: var(--rw-p1-size);
	line-height: var(--rw-p1-line);
	color: var(--rw-color-grey-01);
	opacity: 0.8;
	margin: 0;
}

/* ===== Info card (3 stacked text blocks, no photo) ===== */
.rw-block-contact-section__info {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 2rem;
	background: #D9D9DD;
	border-radius: var(--rw-radius-lg, 10px);
	max-width: 26.5rem;
	width: 100%;
}
.rw-block-contact-section__info-block {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-family: var(--rw-font-text);
	color: var(--rw-color-primary-green);
}
.rw-block-contact-section__info-heading {
	margin: 0 0 1rem 0;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.5rem;
	letter-spacing: -0.012em;
}
.rw-block-contact-section__info-heading--small {
	font-size: 1rem;
	line-height: 1.5rem;
	letter-spacing: -0.012em;
	margin: 0;
}
.rw-block-contact-section__info-line {
	margin: 0;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.5rem;
	letter-spacing: -0.012em;
}
.rw-block-contact-section__info-line--strong {
	font-weight: 700;
}
.rw-block-contact-section__info-line--italic {
	font-style: italic;
}
/* Phone / email links: underline by default, retreats on hover (matches footer my.robotwin.app pattern). */
.rw-block-contact-section__info-line a {
	color: inherit;
	text-decoration: none;
	word-break: break-word;
	position: relative;
	display: inline-block;
}
.rw-block-contact-section__info-line a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(1);
	transform-origin: left center;
	transition: transform .4s ease;
}
.rw-block-contact-section__info-line a:hover::after {
	transform: scaleX(0);
	transform-origin: right center;
}

/* ===== Form card ===== */
.rw-block-contact-section__form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 2.5rem;
	background: #FFFFFF;
	border-radius: var(--rw-radius-lg, 10px);
	width: 100%;
	max-width: 40.5rem;
	margin-left: auto;
}

/* Field type scale scoped to contact-section: labels/inputs/placeholders 18px. */
.rw-block-contact-section .rw-field label,
.rw-block-contact-section .rw-field input,
.rw-block-contact-section .rw-field select,
.rw-block-contact-section .rw-field textarea,
.rw-block-contact-section .rw-field input::placeholder,
.rw-block-contact-section .rw-field textarea::placeholder {
	font-size: 18px;
	line-height: 1.4;
}

/* ===== CF7 bridge: hidden CF7 form + status notice ===== */
.rw-block-contact-section__cf7 { display: none !important; }

.rw-block-contact-section__notice {
	margin-top: -0.5rem;
	padding: 0.875rem 1.125rem;
	border-radius: var(--rw-radius-sm);
	font-family: var(--rw-font-text);
	font-size: 1rem;
	line-height: 1.4;
}
.rw-block-contact-section__notice--success {
	background: #E6F4EA;
	color: #1B5E3F;
	border: 1px solid #B7DFC5;
}
.rw-block-contact-section__notice--error {
	background: #FDECEC;
	color: #8A1F1F;
	border: 1px solid #F5C2C2;
}
.rw-block-contact-section__submit[aria-busy="true"] {
	opacity: 0.7;
	cursor: progress;
}

/* 2-column row for product + application selects */
.rw-block-contact-section__row-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

/* ===== Consents group: stack the two consent labels with tight 8px gap ===== */
.rw-block-contact-section__consents {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

/* ===== Privacy consent checkbox ===== */
.rw-block-contact-section__consent {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	cursor: pointer;
	font-family: var(--rw-font-text);
	font-weight: 500;
	font-size: 0.875rem;
	line-height: 1.5rem;
	letter-spacing: -0.012em;
	color: var(--rw-color-primary-green);
}
.rw-block-contact-section__consent input[type="checkbox"] {
	flex: none;
	width: 16px;
	height: 16px;
	margin: 0;
	border: 1px solid var(--rw-color-border, rgba(70, 75, 80, 0.3));
	border-radius: 2px;
	background: #FFFFFF;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	display: inline-grid;
	place-content: center;
}
.rw-block-contact-section__consent input[type="checkbox"]:checked {
	background: var(--rw-color-primary-green);
	border-color: var(--rw-color-primary-green);
}
.rw-block-contact-section__consent input[type="checkbox"]:checked::after {
	content: "";
	width: 9px;
	height: 5px;
	border-left: 2px solid #FFFFFF;
	border-bottom: 2px solid #FFFFFF;
	transform: rotate(-45deg) translate(1px, -1px);
}
.rw-block-contact-section__consent input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--rw-color-primary-green);
	outline-offset: 2px;
}
/* Privacy policy link: same animated underline as info-line links. */
.rw-block-contact-section__consent-text a {
	color: inherit;
	text-decoration: none;
	position: relative;
	display: inline-block;
}
.rw-block-contact-section__consent-text a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(1);
	transform-origin: left center;
	transition: transform .4s ease;
}
.rw-block-contact-section__consent-text a:hover::after {
	transform: scaleX(0);
	transform-origin: right center;
}

/* ===== Submit button (overrides .rw-btn defaults) ===== */
.rw-block-contact-section__submit {
	width: 100%;
	height: auto;
	padding: 0.875rem 1.5rem;
	border-radius: var(--rw-radius-sm, 6px);
	background: var(--rw-color-primary-yellow, #FFCE03);
	color: var(--rw-color-ink-deep, #071438);
	font-family: var(--rw-font-text);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1;
	justify-content: center;
}

/* ===== Responsive ===== */
@media (max-width: 767px) {
	.rw-block-contact-section__grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"intro"
			"form"
			"info";
		gap: 3.5rem;
		align-items: start;
	}
	.rw-block-contact-section__intro {
		max-width: none;
		align-items: center;
		text-align: center;
	}
	.rw-block-contact-section__heading,
	.rw-block-contact-section__desc {
		text-align: center;
	}
	.rw-block-contact-section__info {
		max-width: none;
		padding: 2rem;
	}
	.rw-block-contact-section__form {
		max-width: none;
		margin-left: 0;
		padding: 1.5rem;
	}
	.rw-block-contact-section__row-2 {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}
