/**
 * Elementor homepage presentation for Technorama Modern.
 * Every rule is scoped to classes stored in the importable Elementor template.
 */

.technorama-modern .tm-home-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 15% 20%, rgba(90, 148, 207, 0.20), transparent 34%),
		linear-gradient(135deg, #eef7fb 0%, #e8f0f9 48%, #f8fbfd 100%);
	border-block-end: 1px solid #dce8f3;
}

.technorama-modern .tm-home-hero::before {
	position: absolute;
	inset-block-start: -180px;
	inset-inline-end: -160px;
	width: 430px;
	height: 430px;
	border: 74px solid rgba(16, 60, 115, 0.05);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.technorama-modern .tm-home-hero .elementor-container {
	position: relative;
	z-index: 1;
}

.technorama-modern .tm-home-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 12px;
	border: 1px solid #c9def3;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	color: #245f9b;
	font-size: 13px;
	font-weight: 800;
}

.technorama-modern .tm-home-hero-title .elementor-heading-title {
	max-width: 690px;
	margin: 0;
	color: var(--tm-primary-strong);
	font-size: clamp(36px, 5vw, 66px);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.045em;
}

.technorama-modern .tm-home-hero-copy {
	max-width: 650px;
	color: #435870;
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.75;
}

.technorama-modern .tm-home-hero .elementor-button,
.technorama-modern .tm-home-cta .elementor-button,
.technorama-modern .tm-home-spotlight .elementor-button {
	min-height: 50px;
	padding: 14px 24px;
	border-radius: 12px;
	font-weight: 800;
	box-shadow: 0 10px 24px rgba(16, 60, 115, 0.13);
}

.technorama-modern .tm-home-button-primary .elementor-button {
	background: var(--tm-primary);
	color: #fff;
}

.technorama-modern .tm-home-button-action .elementor-button {
	background: var(--tm-action);
	color: #fff;
}

.technorama-modern .tm-home-button-primary .elementor-button:hover {
	background: var(--tm-primary-strong);
}

.technorama-modern .tm-home-button-action .elementor-button:hover {
	background: var(--tm-action-strong);
}

.technorama-modern .tm-home-hero-image img {
	width: 100%;
	border: 1px solid rgba(16, 60, 115, 0.10);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 28px 64px rgba(14, 44, 79, 0.18);
}

.technorama-modern .tm-home-section-heading .elementor-heading-title {
	color: var(--tm-ink);
	font-size: clamp(29px, 3.8vw, 46px);
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: -0.035em;
}

.technorama-modern .tm-home-section-lead {
	max-width: 720px;
	margin-inline: auto;
	color: var(--tm-muted);
	font-size: 17px;
	line-height: 1.7;
}

.technorama-modern .tm-home-category-row .elementor-column > .elementor-widget-wrap {
	height: 100%;
	margin: 8px;
	padding: 18px !important;
	overflow: hidden;
	border: 1px solid var(--tm-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--tm-shadow-sm);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.technorama-modern .tm-home-category-row .elementor-column:hover > .elementor-widget-wrap {
	transform: translateY(-5px);
	border-color: #bfd4e8;
	box-shadow: var(--tm-shadow);
}

.technorama-modern .tm-home-category-card .elementor-image-box-img {
	width: 100% !important;
	margin: 0 0 16px !important;
}

.technorama-modern .tm-home-category-card .elementor-image-box-img img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	padding: 12px;
	border-radius: 13px;
	background: #f7f9fc;
}

.technorama-modern .tm-home-category-card .elementor-image-box-title {
	margin: 0 0 7px;
	color: var(--tm-ink);
	font-size: 18px;
	font-weight: 850;
	line-height: 1.35;
}

.technorama-modern .tm-home-category-card .elementor-image-box-description {
	margin: 0;
	color: var(--tm-muted);
	font-size: 13px;
	line-height: 1.55;
}

.technorama-modern .tm-home-promos {
	overflow: hidden;
	background: #fff;
}

.technorama-modern .tm-home-promos img {
	border-radius: 18px;
}

.technorama-modern .tm-home-products {
	background: #f4f7fb;
}

.technorama-modern .tm-home-products :where(.woocommerce, .mf-products-deals-grid) ul.products,
.technorama-modern .tm-home-products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 22px;
	margin: 0 !important;
	padding: 0 !important;
}

.technorama-modern .tm-home-products ul.products::before,
.technorama-modern .tm-home-products ul.products::after {
	display: none !important;
}

.technorama-modern .tm-home-products ul.products li.product {
	display: flex;
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

.technorama-modern .tm-home-products ul.products li.product .product-inner {
	display: flex;
	width: 100%;
	height: 100%;
	min-height: 100%;
	flex-direction: column;
}

.technorama-modern .tm-home-products .product-inner > :not(.mf-product-thumbnail):not(.product-thumbnail):not(.mf-product-details):not(.woo-loop-product__title):not(.woocommerce-loop-product__title):not(.star-rating):not(.price):not(.tm-loop-purchase) {
	order: 3;
}

.technorama-modern .tm-home-products .product-inner > .mf-product-thumbnail,
.technorama-modern .tm-home-products .product-inner > .product-thumbnail {
	order: 1;
	flex: 0 0 auto;
}

.technorama-modern .tm-home-products .product-inner > .mf-product-details,
.technorama-modern .tm-home-products .product-inner > .woo-loop-product__title,
.technorama-modern .tm-home-products .product-inner > .woocommerce-loop-product__title {
	order: 2;
}

.technorama-modern .tm-home-products .product-inner > .star-rating {
	order: 3;
}

.technorama-modern .tm-home-products .product-inner > .price {
	order: 4;
}

.technorama-modern .tm-home-products .product-inner > .tm-loop-purchase {
	order: 5;
}

.technorama-modern .tm-home-products .mf-product-details,
.technorama-modern .tm-home-products .mf-product-content {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
}

.technorama-modern .tm-home-products .woocommerce-loop-product__title,
.technorama-modern .tm-home-products .woo-loop-product__title,
.technorama-modern .tm-home-products h2,
.technorama-modern .tm-home-products h3 {
	display: -webkit-box;
	height: 4.25em;
	min-height: 4.25em;
	max-height: 4.25em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.technorama-modern .tm-home-products .price {
	min-height: 54px;
}

.technorama-modern .tm-home-products .mf-product-details-hover {
	display: none !important;
}

.technorama-modern .tm-home-products .tm-loop-purchase {
	width: 100%;
	margin-block-start: auto;
}

.technorama-modern .tm-home-products .mf-products-deals-grid .cat-header,
.technorama-modern .tm-home-products .mf-products-deals-grid .products-tabs {
	margin-block-end: 24px;
}

.technorama-modern .tm-home-spotlight {
	overflow: hidden;
	background: linear-gradient(135deg, #0a315d 0%, #103c73 58%, #18608d 100%);
}

.technorama-modern .tm-home-spotlight .elementor-heading-title,
.technorama-modern .tm-home-spotlight .elementor-widget-text-editor {
	color: #fff;
}

.technorama-modern .tm-home-spotlight-image img {
	width: 100%;
	border-radius: 20px;
	box-shadow: 0 25px 55px rgba(0, 0, 0, 0.23);
}

.technorama-modern .tm-home-reviews {
	background: #fff;
}

.technorama-modern .tm-home-cta {
	background:
		radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.12), transparent 35%),
		linear-gradient(125deg, var(--tm-primary-strong), var(--tm-primary));
}

.technorama-modern .tm-home-cta .elementor-heading-title,
.technorama-modern .tm-home-cta .elementor-widget-text-editor {
	color: #fff;
}

@media (max-width: 991px) {
	.technorama-modern .tm-home-products :where(.woocommerce, .mf-products-deals-grid) ul.products,
	.technorama-modern .tm-home-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.technorama-modern .tm-home-hero-title .elementor-heading-title {
		font-size: clamp(36px, 8vw, 54px);
	}
}

@media (max-width: 599px) {
	.technorama-modern .tm-home-products :where(.woocommerce, .mf-products-deals-grid) ul.products,
	.technorama-modern .tm-home-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.technorama-modern .tm-home-products .woocommerce-loop-product__title,
	.technorama-modern .tm-home-products .woo-loop-product__title,
	.technorama-modern .tm-home-products h2,
	.technorama-modern .tm-home-products h3 {
		height: 5.1em;
		min-height: 5.1em;
		max-height: 5.1em;
	}

	.technorama-modern .tm-home-products .tm-loop-purchase {
		padding: 0 8px 10px;
	}

	.technorama-modern .tm-home-category-row .elementor-column > .elementor-widget-wrap {
		margin: 6px 0;
	}

	.technorama-modern .tm-home-hero .elementor-button,
	.technorama-modern .tm-home-cta .elementor-button,
	.technorama-modern .tm-home-spotlight .elementor-button {
		width: 100%;
	}
}
