.theoasso-contact-form{
	position: relative;
	padding: 96px 32px;
	background: radial-gradient(1200px 420px at 30% 10%, rgba(255,255,255,0.08), transparent 55%),
		linear-gradient(to bottom, rgba(0,0,0,0.92), rgb(0, 0, 0));
	box-sizing: border-box;
	color: #F6F0E4;
	overflow-x: clip;
	margin-block-end: 0;
}

.theoasso-contact-form,
.theoasso-contact-form *{
	box-sizing: border-box;
}

/* Keep the block aligned with page padding (32px) even when alignfull is used */
.theoasso-contact-form.alignfull,
.wp-block-theoasso-contact-form.alignfull{
	/* Let WordPress handle alignfull width/margins; forcing 100vw often creates horizontal overflow */
	width: 100%;
	max-width: none;
}

.theoasso-contact-form__inner{
	max-width: 1100px;
	margin: 0 auto;
}

.theoasso-contact-form__form{
	margin-top: 12px;
}


.theoasso-contact-form__title{
	margin: 0 0 28px;
	font-family: var(--wp--preset--font-family--google-sans-flex);
	font-weight: 400;
	letter-spacing: -0.02em;
	font-size: clamp(40px, 3.2vw + 16px, 64px);
	line-height: 1.05;
	color: inherit;
}

.theoasso-contact-form__missing{
	margin: 0;
	opacity: 0.8;
}

/* Contact Form 7 styling scoped to this block */
.theoasso-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	margin: 0;
	align-items: start;
}

.theoasso-contact-grid__left,
.theoasso-contact-grid__right{
	display: flex;
	flex-direction: column;
	gap: 22px;
}

/* Make the right side as tall as the left side (textarea fills the available height) */
.theoasso-contact-grid{
	align-items: stretch;
}
.theoasso-contact-grid__right{
	height: 100%;
}
.theoasso-contact-grid__right > p,
.theoasso-contact-grid__right > p > label{
	height: 100%;
}
.theoasso-contact-grid__right > p > label{
	display: flex;
	flex-direction: column;
}
.theoasso-contact-grid__right .wpcf7-form-control-wrap{
	flex: 1;
}
.theoasso-contact-grid__right textarea{
	height: 100%;
	min-height: 0;
}

/* CF7 often injects <p> and <br> wrappers – neutralize them for layout */
.theoasso-contact-form .wpcf7-form p{
	margin: 0;
}
.theoasso-contact-form .wpcf7-form br{
	display: none;
}

/* If CF7 outputs fields as <p> direct children, keep them aligned and readable */
.theoasso-contact-form .wpcf7-form > p{
	align-self: stretch;
}

/* Always wrap controls nicely */
.theoasso-contact-form .wpcf7-form .wpcf7-form-control-wrap{
	display: block;
}

.theoasso-contact-form .wpcf7-form label {
	color: inherit;
	font-size: 1.1em;
	margin: 0;
	display: block;
}
.theoasso-contact-form .wpcf7-form input[type="text"],
.theoasso-contact-form .wpcf7-form input[type="email"],
.theoasso-contact-form .wpcf7-form textarea {
	width: 100%;
	display: block;
	background: transparent;
	border: 1px solid rgba(255,255,255,0.28);
	border-radius: 0;
	color: inherit;
	padding: 18px 18px;
	box-shadow: none;
	outline: none;
	font-size: 1.1em;
}

.theoasso-contact-form .wpcf7-form input[type="text"],
.theoasso-contact-form .wpcf7-form input[type="email"]{
	min-height: 62px;
}
.theoasso-contact-form .wpcf7-form textarea {
	min-height: 152px;
	resize: vertical;
}
.theoasso-contact-form .wpcf7-form input::placeholder,
.theoasso-contact-form .wpcf7-form textarea::placeholder {
	color: rgba(246, 240, 228, 0.38);
}
.theoasso-contact-form .wpcf7-form .wpcf7-submit {
	background: #F6F0E4;
	color: #111;
	border: 0;
	border-radius: 999px;
	padding: 12px 26px;
	font-weight: 600;
	cursor: pointer;
	margin-top: 18px;
	justify-self: end;
	font-size: 1.1em;
}

/* Place the submit button bottom-right when it's inside a <p> (default CF7 output) */
.theoasso-contact-form .wpcf7-form p:where(:last-child){
	text-align: right;
}
.theoasso-contact-form .wpcf7-form p .wpcf7-submit{
	display: inline-flex;
}

/* Spinner spacing */
.theoasso-contact-form .wpcf7-form .wpcf7-spinner{
	margin-left: 10px;
}
.theoasso-contact-form .wpcf7-form .wpcf7-submit:hover {
	filter: brightness(0.96);
}

/* Dedicated wrapper for the submit row (your CF7 markup) */
.theoasso-contact-send{
	display: flex;
	justify-content: flex-end;
	margin-top: 22px;
}
.theoasso-contact-send p{
	margin: 0;
}

@media (max-width: 720px){
	.theoasso-contact-form{
		padding: 64px 20px;
	}
	.theoasso-contact-grid{
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.theoasso-contact-grid__left,
	.theoasso-contact-grid__right{
		gap: 18px;
	}
	.theoasso-contact-send{
		justify-content: flex-start;
	}
}