/**
 * Contact Hero Block Front-end CSS
 */

/* Background Colors - Named Colors */
.ch-block.ch-bg-dark-blue,
.ch-bottom.ch-bg-dark-blue{
	background-color: #0F293E;
}

.ch-block.ch-bg-dark-brown,
.ch-bottom.ch-bg-dark-brown {
	background-color: #290B0B;
}


.ch-block.ch-bg-burgundy,
.ch-bottom.ch-bg-burgundy {
	background-color: #800020;
}

.ch-block.ch-bg-gold,
.ch-bottom.ch-bg-gold {
	background-color: #B8860B;
}

.ch-block.ch-bg-copper,
.ch-bottom.ch-bg-copper {
	background-color: #B87333;
}

.ch-block.ch-bg-periwinkle,
.ch-bottom.ch-bg-periwinkle {
	background-color: #CCCCFF;
}

.ch-block.ch-bg-deep-blue,
.ch-bottom.ch-bg-deep-blue {
	background-color: #00008B;
}

.ch-block.ch-bg-dark-red,
.ch-bottom.ch-bg-dark-red {
	background-color: #8B0000;
}


.ch-block.ch-bg-white,
.ch-bottom.ch-bg-white {
	background-color: #FFFFFF;
}

.ch-block.ch-bg-black,
.ch-bottom.ch-bg-black {
	background-color: #000000;
}

.ch-block.ch-bg-pale-white,
.ch-bottom.ch-bg-pale-white {
	background-color: #F8F8F8;
}

/* Text Colors */
.ch-block.ch-text-white,
.ch-block.ch-text-white h1,
.ch-block.ch-text-white h2,
.ch-block.ch-text-white h3,
.ch-block.ch-text-white h4,
.ch-block.ch-text-white h5,
.ch-block.ch-text-white h6,
.ch-block.ch-text-white p,
.ch-block.ch-text-white .ch-heading,
.ch-block.ch-text-white .ch-description {
	color: #FFFFFF;
}

.ch-block.ch-text-black,
.ch-block.ch-text-black h1,
.ch-block.ch-text-black h2,
.ch-block.ch-text-black h3,
.ch-block.ch-text-black h4,
.ch-block.ch-text-black h5,
.ch-block.ch-text-black h6,
.ch-block.ch-text-black p,
.ch-block.ch-text-black .ch-heading,
.ch-block.ch-text-black .ch-description {
	color: #000000;
}

.ch-block.ch-text-dark-blue,
.ch-block.ch-text-dark-blue h1,
.ch-block.ch-text-dark-blue h2,
.ch-block.ch-text-dark-blue h3,
.ch-block.ch-text-dark-blue h4,
.ch-block.ch-text-dark-blue h5,
.ch-block.ch-text-dark-blue h6,
.ch-block.ch-text-dark-blue p,
.ch-block.ch-text-dark-blue .ch-heading,
.ch-block.ch-text-dark-blue .ch-description {
	color: #0F293E;
}

/* Title and Description Styles */
.ch-block .ch-heading {
	font-family: 'Hedvig Letters Serif', serif;
	font-size: 64px;
	line-height: 64px;
	letter-spacing: -1.92px;
	margin-bottom: 24px;
	font-weight: 500;
}

.ch-block .ch-description {
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: -0.48px;
	margin-bottom: 40px;
}

/* Eyebrow Styles */
.ch-block .ch-eyebrow {
	font-size: 18px;
	line-height: 22px;
	letter-spacing: 6.72px;
	margin-bottom: 24px;
	display: block;
	font-family: 'DM Sans', sans-serif;
}

/* Eyebrow style variations */
.ch-block .ch-eyebrow-style-default {
	font-weight: 400;
	text-transform: uppercase;
}

.ch-block .ch-eyebrow-style-bold {
	font-weight: 700;
	text-transform: uppercase;
}

.ch-block .ch-eyebrow-style-elegant {
	font-style: italic;
}

/* Button Styles */
.ch-block .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.ch-bg-image{
	height: 100%;
}

.ch-container{
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 30px;
	padding-left: 30px;
	max-width: 1440px;
}

@media (max-width: 1500px) {
	.ch-container {
		max-width: 1200px !important;
	}
}

@media (max-width: 1500px) {
	.ch-block .ch-description {
		font-size: 16px !important;
	}

	.ch-block .ch-eyebrow {
		font-size: 16px !important;
	}

	.ch-block .wp-block-button.is-style-default .wp-block-button__link {
		font-size: 16px !important;
	}

	.ch-block .wp-block-button.is-style-solid .wp-block-button__link {
		font-size: 16px !important;
	}

	.ch-block .wp-block-button.is-style-arrow .wp-block-button__link {
		font-size: 16px !important;
	}
}

/* Button Style 1: Default (Blue Background) */
.ch-block .wp-block-button.is-style-default .wp-block-button__link {
	background-color: #A6B8E3;
	color: #000000;
	font-family: 'Hedvig Letters Serif', serif;
	font-size: 18px;
	line-height: 21px;
	font-weight: 400;
	padding: 10px 20px;
	border-radius: 5px;
	text-decoration: none;
	transition: all 0.3s ease;
	display: inline-block;
	width: fit-content;
	align-self: center;
}

.ch-block .wp-block-button.is-style-default .wp-block-button__link:hover {
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.30), 0 1px 3px 0 rgba(0, 0, 0, 0.15);
	transition: 300ms ease-in;
	background-color: #788FC6;
}

/* Button Style 2: Solid (Brown Background) */
.ch-block .wp-block-button.is-style-solid .wp-block-button__link {
	background-color: #AA632C;
	color: #FFFFFF;
	font-family: 'Hedvig Letters Serif', serif;
	font-size: 18px;
	line-height: 21px;
	font-weight: 400;
	padding: 10px 20px;
	border-radius: 5px;
	text-decoration: none;
	transition: all 0.3s ease;
	display: inline-block;
	width: fit-content;
	align-self: center;
	border: none;
	cursor: pointer;
	text-align: center;
}

.ch-block .wp-block-button.is-style-solid .wp-block-button__link:hover {
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.30), 0 1px 3px 0 rgba(0, 0, 0, 0.15);
	transition: 300ms ease-in;
}

/* Button Style 3: Arrow */
.ch-block .wp-block-button.is-style-arrow .wp-block-button__link {
	background-color: transparent;
	color: inherit;
	font-family: 'Hedvig Letters Serif', serif;
	font-size: 18px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	font-weight: 400;
	position: relative;
	border-radius: 0;
}

.ch-block .wp-block-button.is-style-arrow .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 29px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='16' viewBox='0 0 29 16' fill='none'%3E%3Cpath d='M28.7071 8.70711C29.0976 8.31659 29.0976 7.68342 28.7071 7.2929L22.3431 0.928934C21.9526 0.53841 21.3195 0.53841 20.9289 0.928934C20.5384 1.31946 20.5384 1.95262 20.9289 2.34315L26.5858 8L20.9289 13.6569C20.5384 14.0474 20.5384 14.6805 20.9289 15.0711C21.3195 15.4616 21.9526 15.4616 22.3431 15.0711L28.7071 8.70711ZM-8.74228e-08 9L28 9L28 7L8.74228e-08 7L-8.74228e-08 9Z' fill='%23AA622C'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	margin-left: 10px;
	transition: transform 0.3s ease;
}

.ch-block .wp-block-button.is-style-arrow .wp-block-button__link:hover::after {
	transform: translateX(5px);
}

.ch-bg-image-cont{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	height: 100%;
}

/* Bottom Section Styles */
.ch-bottom {
	width: 100%;
	min-height: 195px;
}

.ch-bottom-content {
	display: flex;
	padding: 96px;
	align-items: flex-start;
	gap: 32px;
	background: linear-gradient(90deg, #341010 0%, #AA632C 100%);
}

/* Form Container Styling */
.cf7-contact-form {
	color: #FFF;
	font-family: "DM Sans", sans-serif;
	width: 100%;
}

/* Radio Button Group Layout */
.cf7-radio-group {
	margin-bottom: 24px;
}

.cf7-radio-group .wpcf7-form-control.wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: center;
}

/* Individual Radio Button Items */
.cf7-radio-group .wpcf7-list-item {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	position: relative;
}

/* Hide the default radio input */
.cf7-radio-group .wpcf7-list-item input[type="radio"] {
	opacity: 0 !important;
	position: absolute !important;
	width: 20px;
	height: 20px;
	left: 0;
	margin: 0 !important;
	cursor: pointer;
	z-index: 10;
}

/* Style the label */
.cf7-radio-group .wpcf7-list-item .wpcf7-list-item-label {
	position: relative;
	padding-left: 30px;
	cursor: pointer;
	color: #FFF;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: -0.48px;
	display: flex;
	align-items: center;
}

/* Custom radio button appearance - default/unchecked state */
.cf7-radio-group .wpcf7-list-item .wpcf7-list-item-label:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='9.5' stroke='white'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* Custom radio button appearance - checked state using class */
.cf7-radio-group .wpcf7-list-item.radio-checked .wpcf7-list-item-label:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='9.5' stroke='white'/%3E%3Ccircle cx='10' cy='10' r='5' fill='white'/%3E%3C/svg%3E") !important;
}

/* Fallback - also target the :checked state in case it works */
.cf7-radio-group .wpcf7-list-item input[type="radio"]:checked ~ .wpcf7-list-item-label:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='9.5' stroke='white'/%3E%3Ccircle cx='10' cy='10' r='5' fill='white'/%3E%3C/svg%3E") !important;
}

/* Form Labels */
.cf7-form-group label {
	display: block;
	color: #FFF;
	font-family: "Hedvig Letters Serif", serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	margin-bottom: 8px;
}

/* Input Fields */
.cf7-form-group input[type="text"],
.cf7-form-group input[type="tel"],
.cf7-form-group input[type="email"] {
	border-radius: 5px;
	border: 1px solid #AA622C;
	background: #FFF;
	width: 100%;
	padding: 10px 12px;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	color: #000;
	line-height: 22px;
	box-sizing: border-box;
}

/* Fix for Tailwind grid classes in the form */
.cf7-form-row.grid {
	display: grid;
	gap: 32px;
}

.cf7-form-row.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3 {
	grid-template-columns: 1fr 1fr 1fr;
}

.cf7-form-row.grid.grid-cols-1.md\:grid-cols-2 {
	grid-template-columns: 1fr 1fr;
}

/* Privacy Policy Checkbox */
.cf7-acceptance {
	margin-bottom: 32px;
}

.cf7-acceptance .wpcf7-list-item {
	margin: 0;
	display: flex;
	align-items: flex-start;
}

.cf7-acceptance input[type="checkbox"] {
	opacity: 0;
	position: absolute;
}

.cf7-acceptance .wpcf7-list-item-label {
	position: relative;
	padding-left: 26px;
	cursor: pointer;
	color: #FFF;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: -0.48px;
}

.cf7-acceptance .wpcf7-list-item-label:before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Crect x='0.5' y='0.5' width='15' height='15' stroke='white'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

.cf7-acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Crect x='0.5' y='0.5' width='15' height='15' stroke='white'/%3E%3Cpath d='M3.5 8L6.5 11L12.5 5' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* Submit Button */
.cf7-submit .wpcf7-submit {
	display: flex;
	padding: 10px 20px;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	background: #FFF;
	color: #000;
	text-align: center;
	font-family: "Hedvig Letters Serif", serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
}

.cf7-submit .wpcf7-submit:hover {
	background: #E6E6E6;
}

/* Form Response Messages */
.wpcf7-response-output {
	margin: 32px 0 0 0 !important;
	padding: 12px !important;
	border-radius: 5px;
	color: #FFF;
	border: 1px solid #FFF !important;
	font-family: "DM Sans", sans-serif;
	font-size: 14px;
}

/* Spinner */
.wpcf7-spinner {
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateY(-50%);
	background-color: #FFF;
}

/* Error Messages */
.wpcf7-not-valid-tip {
	color: #FF9494 !important;
	font-family: "DM Sans", sans-serif;
	font-size: 14px !important;
	margin-top: 4px;
}

/* Fix for line breaks in radio buttons */
.cf7-radio-group br {
	display: none;
}

/* Fix for line breaks in form groups */
.cf7-form-group br {
	display: none;
}

/* Responsive Styles */
@media (max-width: 1023px) {
	.ch-cont {
		flex-direction: column;
		padding-top: 60px !important;
		padding-bottom: 60px !important;
	}

	.ch-block .ch-flex-grid {
		flex-direction: column;
	}

	.ch-bg-image-cont {
		position: relative;
		width: 100%;
		min-height: 390px !important;
		margin-bottom: 0 !important;
		order: -1;
	}

	.ch-bg-image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.ch-copy {
		align-items: flex-start;
		width: 100%;
	}

	.ch-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ch-block .ch-heading {
		/* Keep font size the same as desktop per requirements */
		/* font-size: 64px; */
		line-height: 1.1;
	}

	.ch-block .ch-description {
		/* Keep font size the same as desktop per requirements */
		/* font-size: 18px; */
	}

	.ch-bottom-content {
		flex-direction: column;
		padding: 48px 24px;
	}

	/* Form responsive styles */
	.cf7-form-row.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3 {
		grid-template-columns: 1fr;
	}

	.cf7-form-row.grid.grid-cols-1.md\:grid-cols-2 {
		grid-template-columns: 1fr;
	}

	/* Responsive radio buttons */
	.cf7-radio-group .wpcf7-form-control.wpcf7-radio {
		flex-direction: column;
		gap: 16px;
		align-items: flex-start;
	}
}

@media (max-width: 680px) {
	.ch-bottom-content{
		padding: 60px !important;
	}
}
