/**
 * Three Column CTA Block Front-end CSS
 */

/* Background Colors - Named Colors */
.three-column-cta-bg-image-cont.bg-dark-blue {
	background-color: #0F293E;
	opacity: 0.9;
}

.three-column-cta-bg-image-cont.bg-dark-brown {
	background-color: #290B0B;
	opacity: 0.9;
}


.three-column-cta-bg-image-cont.bg-burgundy {
	background-color: #800020;
	opacity: 0.9;
}

.three-column-cta-bg-image-cont.bg-gold {
	background-color: #B8860B;
	opacity: 0.9;
}

.three-column-cta-bg-image-cont.bg-copper {
	background-color: #B87333;
	opacity: 0.9;
}

.three-column-cta-bg-image-cont.bg-periwinkle {
	background-color: #CCCCFF;
	opacity: 0.9;
}

.three-column-cta-bg-image-cont.bg-deep-blue {
	background-color: #00008B;
	opacity: 0.9;
}

.three-column-cta-bg-image-cont.bg-dark-red {
	background-color: #8B0000;
	opacity: 0.9;
}


.three-column-cta-bg-image-cont.bg-white {
	background-color: #FFFFFF;
	opacity: 0.9;
}

.three-column-cta-bg-image-cont.bg-black {
	background-color: #000000;
	opacity: 0.9;
}

/* Text Colors */
.three-column-cta.text-white,
.three-column-cta.text-white h1,
.three-column-cta.text-white h2,
.three-column-cta.text-white h3,
.three-column-cta.text-white h4,
.three-column-cta.text-white h5,
.three-column-cta.text-white h6,
.three-column-cta.text-white p,
.three-column-cta.text-white .three-column-cta-title,
.three-column-cta.text-white .three-column-cta-description,
.three-column-cta.text-white .cta-column-title,
.three-column-cta.text-white .cta-column-description,
.three-column-cta.text-white .cta-column-name,
.three-column-cta.text-white .cta-column-address,
.three-column-cta.text-white .cta-column-button {
	color: #FFFFFF;
}

.three-column-cta.text-black,
.three-column-cta.text-black h1,
.three-column-cta.text-black h2,
.three-column-cta.text-black h3,
.three-column-cta.text-black h4,
.three-column-cta.text-black h5,
.three-column-cta.text-black h6,
.three-column-cta.text-black p,
.three-column-cta.text-black .three-column-cta-title,
.three-column-cta.text-black .three-column-cta-description,
.three-column-cta.text-black .cta-column-title,
.three-column-cta.text-black .cta-column-description,
.three-column-cta.text-black .cta-column-name,
.three-column-cta.text-black .cta-column-address,
.three-column-cta.text-black .cta-column-button {
	color: #000000;
}

.three-column-cta.text-dark-blue,
.three-column-cta.text-dark-blue h1,
.three-column-cta.text-dark-blue h2,
.three-column-cta.text-dark-blue h3,
.three-column-cta.text-dark-blue h4,
.three-column-cta.text-dark-blue h5,
.three-column-cta.text-dark-blue h6,
.three-column-cta.text-dark-blue p,
.three-column-cta.text-dark-blue .three-column-cta-title,
.three-column-cta.text-dark-blue .three-column-cta-description,
.three-column-cta.text-dark-blue .cta-column-title,
.three-column-cta.text-dark-blue .cta-column-description,
.three-column-cta.text-dark-blue .cta-column-name,
.three-column-cta.text-dark-blue .cta-column-address,
.three-column-cta.text-dark-blue .cta-column-button {
	color: #0F293E;
}

/* Title and Description Styles */
.three-column-cta .three-column-cta-title,
.three-column-cta .cta-column-title {
	font-family: 'Hedvig Letters Serif', serif;
	font-size: 48px;
	line-height: 42px;
	margin-bottom: 72px;
	font-weight: 400;
	text-align: left;
}

.three-column-cta .three-column-cta-description,
.three-column-cta .cta-column-description {
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	line-height: 22px;
	letter-spacing: -0.48px;
	margin-bottom: 23px;
	text-align: left;
}

/* Updated Three Column CTA Grid Styling */
.three-column-cta .three-column-cta-grid {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
}

/* Mobile layout first */
.three-column-cta .cta-column-item {
	flex: 0 0 100%;
	max-width: 100%;
	padding: 0 69px 30px 0;
	margin-bottom: 30px;
	box-sizing: border-box;
	position: relative;
	transition: opacity 0.3s ease;
	cursor: pointer;
}

/* Hover effects for cards - Fixed: Only fade non-hovered items */
.three-column-cta .three-column-cta-grid:hover .cta-column-item {
	opacity: 0.5;
}

/* The hovered card should maintain full opacity */
.three-column-cta .cta-column-item:hover {
	opacity: 1 !important;
}

/* Mobile horizontal divider */
.three-column-cta .cta-column-with-horizontal-border {
	position: relative;
}

.three-column-cta .cta-column-with-horizontal-border:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: rgba(255, 255, 255, 0.40);
	margin-bottom: 30px;
}

/* Border colors based on text color for horizontal borders */
.three-column-cta.text-white .cta-column-with-horizontal-border:after {
	background-color: rgba(255, 255, 255, 0.40);
}

.three-column-cta.text-black .cta-column-with-horizontal-border:after {
	background-color: rgba(0, 0, 0, 0.40);
}

.three-column-cta.text-dark-blue .cta-column-with-horizontal-border:after {
	background-color: rgba(15, 41, 62, 0.40);
}

.cta-column-button-wrapper{
	margin-bottom: 50px;
}

@media (max-width: 1500px) {
	.three-column-cta .three-column-cta-description,
	.three-column-cta .cta-column-description {
		font-size: 16px !important;
	}

	.three-column-cta .cta-column-address {
		font-size: 16px !important;
	}

	.three-column-cta .wp-block-button .wp-block-button__link,
	.three-column-cta .cta-column-button .wp-block-button__link,
	.three-column-cta .three-column-cta-button .wp-block-button__link {
		font-size: 16px !important;
	}
}

/* Desktop layout with fixed widths for proper spacing */
@media (min-width: 768px) {
	.three-column-cta .three-column-cta-grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 72px;
		width: 100%;
	}

	.cta-column-button-wrapper{
		margin-bottom: 0;
	}

	.three-column-cta .cta-column-item {
		margin: 0 0 30px 0;
		width: 100%;
		max-width: 100%;
	}

	/* Apply vertical border to first and second columns only */
	.three-column-cta .cta-column-with-border {
		position: relative;
	}

	.three-column-cta .cta-column-with-border:after {
		content: '';
		position: absolute;
		top: 0;
		right: -36px; /* Half of the 72px gap */
		height: 100%;
		width: 1px;
		background-color: rgba(255, 255, 255, 0.40);
	}

	/* Remove horizontal borders on desktop */
	.three-column-cta .cta-column-with-horizontal-border:after {
		display: none;
	}
}

/* Border colors based on text color for vertical borders */
.three-column-cta.text-white .cta-column-with-border:after {
	background-color: rgba(255, 255, 255, 0.40);
}

.three-column-cta.text-black .cta-column-with-border:after {
	background-color: rgba(0, 0, 0, 0.40);
}

.three-column-cta.text-dark-blue .cta-column-with-border:after {
	background-color: rgba(15, 41, 62, 0.40);
}

/* Column Item Styling */
.three-column-cta .cta-column-name {
	font-family: 'Hedvig Letters Serif', serif;
	font-size: 24px;
	line-height: 30px;
	font-weight: 400;
	text-align: left;
	margin-bottom: 29px;
}

.three-column-cta .cta-column-address {
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 29px;
	text-align: left;
}

/* Button styling */
.three-column-cta .cta-column-button-wrapper {
	margin-top: 20px;
}

.three-column-cta .cta-column-button {
	background-color: transparent;
	color: inherit;
	padding: 0;
	display: inline-flex;
	align-items: center;
	font-weight: 400;
	position: relative;
	border-radius: 0;
}

.three-column-cta .cta-column-button::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;
}

.three-column-cta .cta-column-button:hover::after {
	transform: translateX(5px);
}

/* Button Styles */
.three-column-cta .wp-block-buttons,
.three-column-cta .cta-column-buttons,
.three-column-cta .three-column-cta-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: flex-start;
}

/* Default Button Style (single button with background) */
.three-column-cta .wp-block-button .wp-block-button__link,
.three-column-cta .cta-column-button .wp-block-button__link,
.three-column-cta .three-column-cta-button .wp-block-button__link {
	background-color: #A6B8E3;
	color: #000;
	font-family: 'DM Sans', sans-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;
}

.three-column-cta .wp-block-button .wp-block-button__link:hover,
.three-column-cta .cta-column-button .wp-block-button__link:hover,
.three-column-cta .three-column-cta-button .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 image container */
.three-column-cta-bg-image-cont{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.three-column-cta-bg-image{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: -2;
	object-fit: cover;
}

/* Container and structure */
.three-column-cta .container {
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0 auto;
	padding: 0 30px;
}

@media (max-width: 768px) {
	.three-column-cta-cont{
		padding-top: 96px !important;
		padding-bottom: 96px !important;
	}
}
