/**
 * Image Carousel Left Block CSS - With Mobile Height Constraints
 */

/* ==========================================
   TEXT COLOR CLASSES
   ========================================== */

.image-carousel-left-text-white,
.image-carousel-left-text-white h1,
.image-carousel-left-text-white h2,
.image-carousel-left-text-white h3,
.image-carousel-left-text-white h4,
.image-carousel-left-text-white h5,
.image-carousel-left-text-white h6,
.image-carousel-left-text-white p,
.image-carousel-left-text-white .image-carousel-left-title,
.image-carousel-left-text-white .image-carousel-left-description {
	color: #FFFFFF;
}

.image-carousel-left-text-black,
.image-carousel-left-text-black h1,
.image-carousel-left-text-black h2,
.image-carousel-left-text-black h3,
.image-carousel-left-text-black h4,
.image-carousel-left-text-black h5,
.image-carousel-left-text-black h6,
.image-carousel-left-text-black p,
.image-carousel-left-text-black .image-carousel-left-title,
.image-carousel-left-text-black .image-carousel-left-description {
	color: #000000;
}

.image-carousel-left-text-dark-blue,
.image-carousel-left-text-dark-blue h1,
.image-carousel-left-text-dark-blue h2,
.image-carousel-left-text-dark-blue h3,
.image-carousel-left-text-dark-blue h4,
.image-carousel-left-text-dark-blue h5,
.image-carousel-left-text-dark-blue h6,
.image-carousel-left-text-dark-blue p,
.image-carousel-left-text-dark-blue .image-carousel-left-title,
.image-carousel-left-text-dark-blue .image-carousel-left-description {
	color: #0F293E;
}

/* ==========================================
   TYPOGRAPHY
   ========================================== */

.image-carousel-left .image-carousel-left-title {
	font-family: 'Hedvig Letters Serif', serif;
	font-size: 48px;
	line-height: 114%;
	margin-bottom: 32px;
	font-weight: 400;
}

.image-carousel-left .image-carousel-left-description {
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	letter-spacing: -0.48px;
	margin-bottom: 48px;
}

/* ==========================================
   BUTTON STYLES
   ========================================== */

.image-carousel-left .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
}

/* Button Style 1: Default (Blue Background) */
.image-carousel-left .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;
}

.image-carousel-left .wp-block-button.is-style-default .wp-block-button__link::after {
	display: none;
}

.image-carousel-left .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) */
.image-carousel-left .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;
}

.image-carousel-left .wp-block-button.is-style-solid .wp-block-button__link::after {
	display: none;
}

.image-carousel-left .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 */
.image-carousel-left .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;
}

.image-carousel-left .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;
}

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

/* ==========================================
   MAIN LAYOUT STYLES (Image on Left with Left Bleed)
   ========================================== */

.image-carousel-left-section {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 120px;
	padding-bottom: 120px;
}

.image-carousel-left-container {
	display: flex;
	margin: 0 auto;
	position: relative;
	gap: 40px;
}

@media (max-width: 1500px) {
	.image-carousel-left-content-wrapper{
		max-width: 453px;
	}
}

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

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

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

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

/* Carousel Column (Left side) */
.image-carousel-left-carousel-column {
	flex: 0 0 calc(50% - 20px);
	position: relative;
	height: 500px;
	overflow: hidden; /* Hide overflow to create bleed effect */
	max-width: calc(50% - 20px);
	display: flex;
	justify-content: flex-start;
	min-height: 500px; /* Ensure minimum height */
}

.image-carousel-left-carousel-track {
	display: flex;
	transition: transform 0.5s ease-in-out;
	height: 100%;
	position: relative;
	flex-direction: row;
	/* Allow track to be wider than container for bleed effect */
	width: 120%;
	visibility: visible !important;
	opacity: 1 !important;
	transform: translateX(0);
}

.image-carousel-left-carousel-slide {
	position: relative;
	height: 100%;
	flex-shrink: 0;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.image-carousel-left-carousel-image {
	height: 100%;
	width: auto;
	display: block !important;
	object-fit: cover;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Mobile image constraints to prevent huge heights */
@media (max-width: 1024px) {
	.image-carousel-left-carousel-image {
		max-height: 350px !important;
	}
}

@media (max-width: 768px) {
	.image-carousel-left-carousel-image {
		max-height: 250px !important;
	}
}

@media (max-width: 480px) {
	.image-carousel-left-carousel-image {
		max-height: 250px !important;
	}
}

/* Content Column (Right side) */
.image-carousel-left-content-column {
	flex: 0 0 calc(50% - 20px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 10;
	padding-left: 100px;
	padding-right: 30px;
	max-width: calc(50% - 20px);
	position: relative;
}

.image-carousel-left-content-wrapper {
	max-width: 536px;
}

/* Navigation */
.image-carousel-left-carousel-navigation {
	display: flex;
	margin-top: 48px;
	gap: 8px;
	position: relative;
	z-index: 20;
}

.image-carousel-left-carousel-prev,
.image-carousel-left-carousel-next {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	transition: opacity 0.3s ease;
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 20;
}

.image-carousel-left-carousel-prev svg,
.image-carousel-left-carousel-next svg {
	width: 45px;
	height: 45px;
}

.image-carousel-left-carousel-prev:disabled,
.image-carousel-left-carousel-next:disabled {
	cursor: default;
	opacity: 0.5;
}

.image-carousel-left-carousel-prev:focus,
.image-carousel-left-carousel-next:focus {
	outline: none;
}

.image-carousel-left-carousel-prev circle,
.image-carousel-left-carousel-next circle {
	fill: rgba(246, 246, 246, 0.80);
	transition: fill 0.3s ease;
}

.image-carousel-left-carousel-prev:hover circle,
.image-carousel-left-carousel-next:hover circle {
	fill: rgba(170, 98, 44, 0.08);
}

/* ==========================================
   RESPONSIVE STYLES (Layout Only)
   ========================================== */

@media (max-width: 1024px) {
	.image-carousel-left-container {
		flex-direction: column;
		padding: 0 30px;
		gap: 20px;
	}

	.image-carousel-left-content-column,
	.image-carousel-left-carousel-column {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
	}

	.image-carousel-left-content-column {
		padding: 40px 0;
		order: 1; /* Text goes on top */
	}

	.image-carousel-left-carousel-column {
		order: 2; /* Carousel goes below */
		height: 350px; /* Reduced from 400px */
		max-height: 350px; /* Add max-height constraint */
		overflow: hidden;
		margin: 0 auto;
		justify-content: center;
	}

	.image-carousel-left-carousel-track {
		width: 100%; /* Reset bleed effect on mobile */
		max-height: 350px; /* Constrain track height */
	}

	.image-carousel-left-carousel-slide {
		max-height: 350px; /* Constrain slide height */
	}

	.image-carousel-left-carousel-image {
		max-height: 350px; /* Constrain image height */
	}

	/* Remove margin between slides on mobile */
	.image-carousel-left-carousel-slide {
		margin-left: 0 !important;
	}

	.image-carousel-left-content-wrapper {
		max-width: 100%;
	}

	.image-carousel-left-section {
		min-height: auto;
		padding: 60px 0;
	}

	/*.image-carousel-left-carousel-navigation {*/
	/*	justify-content: center;*/
	/*}*/

	.image-carousel-left-section {
		padding-top: 0 !important;
		padding-bottom: 70px;
	}
}

@media (max-width: 768px) {

	.image-carousel-left-carousel-navigation{
		margin-top: 24px;
	}

	.image-carousel-left-carousel-column{
		min-height: unset;
	}
	.image-carousel-left .image-carousel-left-title {
		font-size: 42px;
	}

	.image-carousel-left-container {
		padding: 0 20px;
	}

	.image-carousel-left-title {
		font-size: 28px;
	}

	.image-carousel-left-carousel-column {
		height: 250px; /* Reduced from 300px */
		max-height: 250px; /* Add max-height constraint */
	}

	.image-carousel-left-carousel-track {
		max-height: 250px; /* Constrain track height */
	}

	.image-carousel-left-carousel-slide {
		max-height: 250px; /* Constrain slide height */
	}

	.image-carousel-left-carousel-image {
		max-height: 250px; /* Constrain image height */
	}

	/* Remove margin between slides on mobile */
	.image-carousel-left-carousel-slide {
		margin-left: 0 !important;
	}

	.image-carousel-left-content-column {
		padding-bottom: 20px;
	}
}

/* Extra small mobile devices */
@media (max-width: 480px) {
	.image-carousel-left-carousel-column {
		height: 250px; /* Even smaller for very small screens */
		max-height: 250px;
	}

	.image-carousel-left-carousel-track {
		max-height: 250px;
	}

	.image-carousel-left-carousel-slide {
		max-height: 250px;
	}

	.image-carousel-left-carousel-image {
		max-height: 250px;
	}

	/* Remove margin between slides on smallest mobile */
	.image-carousel-left-carousel-slide {
		margin-left: 0 !important;
	}
}

/* Medium screen specific adjustments (maintain desktop-like layout) */
@media (min-width: 769px) and (max-width: 1024px) {
	.image-carousel-left-container {
		flex-direction: row;
	}

	.image-carousel-left-content-column,
	.image-carousel-left-carousel-column {
		flex: 0 0 calc(50% - 20px);
		order: unset;
		max-width: calc(50% - 20px);
	}

	.image-carousel-left-carousel-column {
		height: 450px;
	}

	.image-carousel-left-content-column {
		padding: 0 20px;
	}
}
