/* Tech-Become: site-wide design refinements on top of the Techwix theme */

:root {
	--tb-blue: #0BA5EC;
	--tb-indigo: #4F46E5;
	--tb-radius: 16px;
	--tb-shadow: 0 10px 30px rgba(15, 23, 42, .08);
	--tb-shadow-hover: 0 18px 40px rgba(79, 70, 229, .16);
}

/* ---------- Service cards: equal height, button pinned to bottom ---------- */
.e-con-inner:has(> .elementor-widget-techwix-service-addons),
.e-con:has(> .elementor-widget-techwix-service-addons) {
	align-items: stretch;
}
.elementor-widget-techwix-service-addons,
.elementor-widget-techwix-service-addons > .elementor-widget-container {
	height: 100%;
}
.techwix-service {
	height: 100%;
	display: flex;
	flex-direction: column;
	border-radius: var(--tb-radius);
	box-shadow: var(--tb-shadow);
	transition: box-shadow .3s ease, transform .3s ease;
}
.techwix-service:hover {
	box-shadow: var(--tb-shadow-hover);
}
.techwix-service .service-content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}
.techwix-service .service-content .description {
	flex: 1 1 auto;
}
.techwix-service .read-more {
	margin-top: auto;
}

/* Crisp SVG icons at a consistent size */
.techwix-service .service-img img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}
.techwix-service .service-img {
	width: 84px;
	height: 84px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 20px;
	background: linear-gradient(135deg, rgba(11, 165, 236, .10), rgba(79, 70, 229, .10));
	margin-bottom: 24px;
}

/* Counter + contact icon images */
img[src*="/tb-icons/"] {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

/* ---------- Service detail pages: uniform hero image ---------- */
.elementor-element-183501c img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--tb-radius);
}

/* ---------- Case study cards: uniform image crop ---------- */
.elementor-widget-techwix-case-study-addons img {
	object-fit: cover;
}

/* ---------- Technology logos: calm grayscale, color on hover ---------- */
.elementor-image-carousel .swiper-slide-image {
	filter: grayscale(100%);
	opacity: .7;
	transition: filter .3s ease, opacity .3s ease;
}
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image {
	filter: none;
	opacity: 1;
}

/* ---------- Homepage hero H1: compact (max ~2 lines) ---------- */
.elementor-element-af935fd .dbl__title-wrapper {
	font-size: clamp(28px, 3vw, 44px) !important;
	line-height: 1.2 !important;
	max-width: 720px;
}
.elementor-element-af935fd .dbl__title-wrapper * {
	font-size: inherit !important;
	line-height: inherit !important;
}

/* ---------- Service lists in text blocks: brand check marks ---------- */
.elementor-widget-text-editor ul {
	list-style: none;
	padding-left: 0;
	margin: 0 0 1em;
}
.elementor-widget-text-editor ul li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 10px;
}
.elementor-widget-text-editor ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .35em;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--tb-blue), var(--tb-indigo));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12'/%3E%3C/svg%3E");
}
.elementor-widget-text-editor ul li::after {
	content: "";
	position: absolute;
	left: 6px;
	top: calc(.35em + 4px);
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.elementor-widget-text-editor a {
	color: var(--tb-indigo);
	font-weight: 500;
}

/* ---------- General polish ---------- */
.elementor-widget-image img {
	border-radius: 12px;
}
.techwix-button,
.techwix-btn,
.header-btn a {
	border-radius: 10px;
}
::selection {
	background: var(--tb-indigo);
	color: #fff;
}
