/* Extra styles for the legacy (Invetex 1.x) components rendered by inc/legacy-shortcodes.php */

/* Rules from the original site's Additional CSS */
.beam-legacy .bl-sc_services_item .bl-top_post_image img {
	height: 8em;
	width: auto;
}

.beam-legacy .bl-sc_services_style_services-3 .bl-sc_services_item_count {
	display: none;
}

/* Exhibitions carousel (was "Post Carousel Slider for Visual Composer", style 1) */
.beam-carousel {
	position: relative;
	margin: 1em 0 4em;
}

.beam-carousel__track {
	display: flex;
	gap: 30px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.beam-carousel__track::-webkit-scrollbar {
	display: none;
}

.beam-carousel__slide {
	flex: 0 0 calc((100% - (var(--beam-carousel-visible, 3) - 1) * 30px) / var(--beam-carousel-visible, 3));
	scroll-snap-align: start;
	min-width: 0;
}

/* 1.x plugin forced "height: auto" on these images (natural aspect ratio, no cropping) */
.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-image {
	position: relative;
	overflow: hidden;
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-image img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.4s ease;
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-image:hover img {
	transform: scale(1.1);
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-title {
	margin: 15px 0 10px;
	font-size: 18px;
	line-height: 1.2;
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-title a {
	color: #000;
	text-decoration: none;
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-title a:hover {
	color: var(--theme-color-text_link);
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-date {
	display: block;
	font-size: 12px;
	color: #000;
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-para p {
	margin-top: 10px;
	font-size: 14px;
	color: #888;
	text-align: justify;
}

.beam-carousel__arrow {
	position: absolute;
	top: 85px;
	z-index: 2;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: #fff;
	background: #000;
	cursor: pointer;
}

.beam-carousel__arrow::before {
	display: block;
	font-size: 18px;
	line-height: 30px;
	content: "\2039";
}

.beam-carousel__arrow--next::before {
	content: "\203A";
}

.beam-carousel__arrow--prev {
	left: -15px;
}

.beam-carousel__arrow--next {
	right: -20px;
}

.beam-carousel__arrow[disabled] {
	opacity: 0.3;
	cursor: default;
}

@media (max-width: 1023px) {
	.beam-carousel {
		--beam-carousel-visible: 2 !important;
	}
}

@media (max-width: 767px) {
	.beam-carousel {
		--beam-carousel-visible: 1 !important;
	}

	.beam-carousel__arrow--prev {
		left: 0;
	}

	.beam-carousel__arrow--next {
		right: 0;
	}
}

/* Section headings inside Elementor columns */
.beam-legacy .bl-sc_section_inner,
.beam-legacy .bl-sc_services_wrap,
.beam-legacy .bl-sc_clients_wrap {
	width: 100%;
}

/* News list background (from the original Additional CSS ".news-section .post_item") */
.beam-legacy .bl-sc_recent_news .bl-post_item {
	background-color: #fafafa;
	border-radius: 0.5em;
}

/* Buttons like the 1.x .sc_button (filled orange, square) */
.elementor-widget-button .elementor-button {
	padding: 1.15em 2.4em;
	border: 2px solid var(--theme-color-text_link);
	border-radius: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3em;
	color: #fff;
	background-color: var(--theme-color-text_link);
	transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus {
	color: #fff;
	border-color: var(--theme-color-text_dark);
	background-color: var(--theme-color-text_dark);
}

/* trx_button style="border" */
.elementor-widget-button.beam-btn-border .elementor-button {
	color: var(--theme-color-text_dark);
	border-color: var(--theme-color-text_dark);
	background-color: transparent;
}

.elementor-widget-button.beam-btn-border .elementor-button:hover {
	color: #fff;
	background-color: var(--theme-color-text_dark);
}

/* Round "play" button that opens the video popup (1.x sc_button_style_icon) */
.elementor-widget-button.beam-popup-trigger .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.65);
	border-radius: 50%;
	font-size: 15px;
	color: #fff;
	background-color: transparent;
}

.elementor-widget-button.beam-popup-trigger .elementor-button:hover {
	border-color: var(--theme-color-text_link);
	background-color: var(--theme-color-text_link);
}

.elementor-widget-button.beam-popup-trigger .elementor-button-text:empty {
	display: none;
}

/* 1.x "extra_vertical_align" sections were vertically centred inside their column */
.e-con.extra_vertical_align {
	margin-top: auto;
	margin-bottom: auto;
}

/* trx_title style="underline": short accent line under the heading */
.beam-title-underline .elementor-heading-title {
	position: relative;
	padding-bottom: 24px;
}

.beam-title-underline .elementor-heading-title::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 40px;
	height: 1px;
	content: "";
	background-color: var(--theme-color-text_link);
}

.beam-title-underline.beam-title-center .elementor-heading-title::after {
	left: 50%;
	margin-left: -20px;
}

/* Contact boxes (.contact-item from the original Additional CSS) */
.contact-item .elementor-widget-text-editor {
	text-align: center;
}

/* Section subtitle (Lora italic, above the title) */
.beam-legacy .bl-sc_item_subtitle {
	margin: 0 0 0.4em;
	font-family: "Lora", serif;
	font-size: 15px;
	font-style: italic;
	font-weight: 400;
	text-align: center;
	color: var(--theme-color-text_light);
}

/* WPBakery basic grid (News page) */
.beam-posts-grid {
	display: grid;
	grid-template-columns: repeat(var(--beam-grid-columns, 1), minmax(0, 1fr));
	gap: 30px;
}

.beam-posts-grid__image img {
	display: block;
	width: 100%;
	height: auto;
}

.beam-posts-grid__body {
	padding: 20px;
	background-color: #f9f9f9;
}

.beam-posts-grid__title {
	margin: 0 0 0.6em;
	text-align: left;
}

.beam-posts-grid__title a {
	color: var(--theme-color-text_dark);
}

.beam-posts-grid__more {
	display: inline-block;
	padding: 14px 20px;
	border-radius: 5px;
	font-size: 14px;
	line-height: 1;
	color: #fff;
	background-color: #f4524d;
	transition: background-color 0.2s ease;
}

.beam-posts-grid__more:hover,
.beam-posts-grid__more:focus {
	color: #fff;
	background-color: #f22b26;
}

@media (max-width: 767px) {
	.beam-posts-grid {
		grid-template-columns: 1fr;
	}
}

/* [trx_button] inside Revolution Slider layers (1.x sc_button) */
.beam-button {
	display: inline-block;
	padding: 1.3em 2.6em;
	border: 2px solid var(--theme-color-text_link);
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	color: #fff !important;
	background-color: var(--theme-color-text_link);
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.beam-button:hover {
	border-color: #fff;
	color: var(--theme-color-text_dark) !important;
	background-color: #fff;
}

.beam-button--filled2 {
	border-color: #fff;
	color: var(--theme-color-text_dark) !important;
	background-color: #fff;
}

.beam-button--filled2:hover {
	border-color: var(--theme-color-text_link);
	color: #fff !important;
	background-color: var(--theme-color-text_link);
}

/* Pagination dots (1.x testimonials slider) */
.beam-carousel__dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 2em;
}

.beam-carousel__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 1px solid var(--theme-color-text_dark);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.beam-carousel__dot.is-active,
.beam-carousel__dot:hover {
	border-color: var(--theme-color-text_link);
	background-color: var(--theme-color-text_link);
}

/* 1.x margin helper classes kept on converted Elementor containers (16px-root values) */
.e-con.margin_top_hide { margin-top: 0px !important; }
.e-con.margin_top_tiny { margin-top: 8px !important; }
.e-con.margin_top_tiny- { margin-top: -8px !important; }
.e-con.margin_top_small { margin-top: 35.2px !important; }
.e-con.margin_top_small- { margin-top: -35.2px !important; }
.e-con.margin_top_medium { margin-top: 48px !important; }
.e-con.margin_top_medium- { margin-top: -48px !important; }
.e-con.margin_top_large { margin-top: 64px !important; }
.e-con.margin_top_large- { margin-top: -64px !important; }
.e-con.margin_top_huge { margin-top: 96px !important; }
.e-con.margin_top_huge- { margin-top: -96px !important; }
.e-con.margin_right_hide { margin-right: 0px !important; }
.e-con.margin_right_tiny { margin-right: 8px !important; }
.e-con.margin_right_tiny- { margin-right: -8px !important; }
.e-con.margin_right_small { margin-right: 35.2px !important; }
.e-con.margin_right_small- { margin-right: -35.2px !important; }
.e-con.margin_right_medium { margin-right: 48px !important; }
.e-con.margin_right_medium- { margin-right: -48px !important; }
.e-con.margin_right_large { margin-right: 64px !important; }
.e-con.margin_right_large- { margin-right: -64px !important; }
.e-con.margin_right_huge { margin-right: 96px !important; }
.e-con.margin_right_huge- { margin-right: -96px !important; }
.e-con.margin_bottom_hide { margin-bottom: 0px !important; }
.e-con.margin_bottom_tiny { margin-bottom: 8px !important; }
.e-con.margin_bottom_tiny- { margin-bottom: -8px !important; }
.e-con.margin_bottom_small { margin-bottom: 35.2px !important; }
.e-con.margin_bottom_small- { margin-bottom: -35.2px !important; }
.e-con.margin_bottom_medium { margin-bottom: 48px !important; }
.e-con.margin_bottom_medium- { margin-bottom: -48px !important; }
.e-con.margin_bottom_large { margin-bottom: 64px !important; }
.e-con.margin_bottom_large- { margin-bottom: -64px !important; }
.e-con.margin_bottom_huge { margin-bottom: 96px !important; }
.e-con.margin_bottom_huge- { margin-bottom: -96px !important; }
.e-con.margin_left_hide { margin-left: 0px !important; }
.e-con.margin_left_tiny { margin-left: 8px !important; }
.e-con.margin_left_tiny- { margin-left: -8px !important; }
.e-con.margin_left_small { margin-left: 35.2px !important; }
.e-con.margin_left_small- { margin-left: -35.2px !important; }
.e-con.margin_left_medium { margin-left: 48px !important; }
.e-con.margin_left_medium- { margin-left: -48px !important; }
.e-con.margin_left_large { margin-left: 64px !important; }
.e-con.margin_left_large- { margin-left: -64px !important; }
.e-con.margin_left_huge { margin-left: 96px !important; }
.e-con.margin_left_huge- { margin-left: -96px !important; }

/* 1.x responsive spacer helper (.extra_class_margin) on Elementor spacers */
@media(min-width: 1510px) and (max-width: 1642px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 1em !important; } }
@media(min-width: 1440px) and (max-width: 1509px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 0 !important; } }
@media(min-width: 1263px) and (max-width: 1439px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 0 !important; margin-top: -4.5em; } }
@media(min-width: 1136px) and (max-width: 1262px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 2em !important; } }
@media(min-width: 1024px) and (max-width: 1135px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 1em !important; } }
@media(min-width: 960px) and (max-width: 1023px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 1em !important; } }
@media(min-width: 778px) and (max-width: 959px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 0 !important; margin-top: -2em; } }
@media(min-width: 480px) and (max-width: 767px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 0 !important; } }
@media(max-width: 479px) { .elementor-widget-spacer.extra_class_margin .elementor-spacer-inner { height: 0 !important; } }

/* Recent news (news-announce) details measured on the 1.x site */
.beam-legacy .bl-sc_recent_news_style_news-announce .bl-cat_post_info {
	font-size: 9px;
	line-height: 17px;
}

.beam-legacy .bl-cat_post_info .bl-category_link {
	display: inline-block;
	padding: 0 11px;
	border-radius: 10px;
	font-size: 9px;
	font-weight: 500;
	line-height: 17px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #ffffff;
	background-color: #ff7512;
}

.beam-legacy .bl-cat_post_info .bl-category_link:hover {
	color: #ffffff;
	background-color: rgba(255, 117, 18, 0.8);
}

.beam-legacy .bl-sc_recent_news_style_news-announce .bl-post_info {
	font-family: "Lora", serif;
	font-size: 12px;
	font-style: italic;
	line-height: 18px;
	color: #6d7275;
}

.beam-legacy .bl-sc_recent_news_style_news-announce .bl-post_info span {
	font-size: 12px;
	line-height: 18px;
}

.beam-legacy .bl-post_meta_comments {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.beam-legacy .bl-post_meta_comments .beam-icon {
	width: 12px;
	height: 12px;
}

.beam-legacy .bl-post_des .bl-readmore {
	position: relative;
	padding: 0;
	font-size: 13px;
	font-weight: 300;
	line-height: 15px;
	letter-spacing: 0.05em;
	color: #ab9787;
	background: transparent;
}

.beam-legacy .bl-post_des .bl-readmore:after {
	content: "";
	display: inline-block;
	width: 31px;
	height: 1px;
	margin-left: 8px;
	vertical-align: middle;
	background: #e5ded8;
	transition: background-color 0.3s ease;
}

.beam-legacy .bl-post_des .bl-readmore:hover {
	color: #ff7512;
}

.beam-legacy .bl-post_des .bl-readmore:hover:after {
	background: #ff7512;
}

/* "View More News" and other 1.x border buttons */
.elementor-widget-button.beam-btn-border .elementor-button {
	padding: 1.1em 1.9em;
	border: 2px solid #e0e0e0;
	letter-spacing: 0.05em;
	color: #28262b;
}

.elementor-widget-button.beam-btn-border .elementor-button:hover {
	color: #ff7512;
	border-color: #e0e0e0;
	background-color: transparent;
}

/* Exhibitions carousel geometry measured on the 1.x site (slick slides 1/3 wide, padded 0 15px 0 20px) */
.beam-carousel:not(.beam-carousel--dots) {
	margin: 0;
}

.beam-carousel:not(.beam-carousel--dots) .beam-carousel__track {
	gap: 0;
}

.beam-carousel:not(.beam-carousel--dots) .beam-carousel__slide {
	flex-basis: calc(100% / var(--beam-carousel-visible, 3));
	padding: 0 15px 0 20px;
	box-sizing: border-box;
}

.beam-legacy .bl-mega-post-carousel1 {
	margin-bottom: 56px;
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-title {
	margin: 5px 0 10px;
	line-height: 34px;
}

.beam-legacy .bl-mega-post-carousel1 .bl-mega-post-para p {
	margin: 10px 0 0;
}

/* Testimonials geometry measured on the 1.x site: full-width row, 3 slides of 1/3, dots inside the slider */
.post_content .e-con.e-parent:has(.bl-sc_testimonials) > .e-con-inner {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.post_content .e-con.e-parent:has(.bl-sc_testimonials) > .e-con-inner > .e-con:first-child {
	padding-top: 35px !important;
}

.beam-carousel--dots {
	margin: 0;
}

.beam-carousel--dots .beam-carousel__track {
	gap: 0;
}

.beam-carousel--dots .beam-carousel__slide {
	flex-basis: calc(100% / var(--beam-carousel-visible, 3));
	padding-bottom: 61.6px;
	box-sizing: border-box;
}

.beam-carousel--dots .beam-carousel__dots {
	position: absolute;
	right: 0;
	bottom: 2px;
	left: 0;
	gap: 16px;
	margin: 0;
}

.beam-legacy .bl-sc_testimonials .bl-sc_testimonial_avatar {
	box-sizing: content-box;
}

.beam-legacy .bl-sc_testimonials .bl-sc_testimonial_avatar img {
	display: block;
	width: 75px;
	height: 75px;
	object-fit: cover;
}

/* News image box is exactly as tall as the text box (334px) on the 1.x site */
.beam-legacy .bl-sc_recent_news_style_news-announce .bl-post_featured img {
	display: block;
	width: 100%;
	height: 334px;
	object-fit: cover;
}

/* Posts grid geometry measured on the 1.x site (vc_basic_grid: square image zone, #f9f9f9 text zone) */
.beam-posts-grid__image img {
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
}

.beam-posts-grid__body {
	padding: 10px 10px 31.7px;
}

.beam-posts-grid__title {
	margin: 21.6px 0 25px;
	font-size: 18px;
	line-height: 23.4px;
}

.beam-posts-grid__excerpt {
	margin: 0 0 24.5px;
}

.beam-posts-grid__more {
	line-height: 20px;
	border-radius: 5px;
}
