/*
 * Medicales – Compatibilidad sin Elementor Pro (Raibco S.A.S)
 * Estilos base para efectos de movimiento y el widget Call to Action (aspecto clásico).
 */

/* ---------- Efectos de movimiento ---------- */
.elementor-motion-effects-element,
.elementor-motion-effects-layer {
	transition-property: transform, opacity;
	transition-timing-function: cubic-bezier(0, .33, .07, 1.03);
	transition-duration: 1s;
}
.elementor-motion-effects-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.elementor-motion-effects-layer {
	position: absolute;
	top: 0;
	left: 0;
	background-repeat: no-repeat;
	background-size: cover;
}
.elementor-motion-effects-perspective {
	perspective: 1200px;
}
@media (prefers-reduced-motion: reduce) {
	.elementor-motion-effects-element,
	.elementor-motion-effects-layer {
		transition: none;
	}
}

/* ---------- Call to Action ---------- */
.elementor-widget-call-to-action .elementor-widget-container,
.elementor-cta {
	overflow: hidden;
}
.elementor-cta {
	position: relative;
	display: flex;
	transition: .5s;
}
.elementor-cta--skin-classic .elementor-cta,
.elementor-cta--layout-image-above .elementor-cta {
	flex-wrap: wrap;
}
.elementor-cta--skin-classic .elementor-cta__bg-wrapper {
	position: relative;
	min-height: 200px;
	width: 100%;
}
.elementor-cta--layout-image-above .elementor-cta__bg-wrapper {
	width: 100%;
}
.elementor-cta__bg-wrapper {
	z-index: 1;
	overflow: hidden;
}
.elementor-cta__bg,
.elementor-cta__bg-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: all .4s;
}
.elementor-cta__bg {
	z-index: 1;
	background-size: cover;
	background-position: 50%;
}
.elementor-cta__bg-overlay {
	z-index: 2;
}
.elementor-cta:hover .elementor-cta__bg-overlay {
	background-color: rgba(0, 0, 0, .3);
}
.elementor-cta__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	width: 100%;
	padding: 35px;
	overflow: hidden;
	color: #fff;
	transition: .5s;
}
.elementor-cta--skin-classic .elementor-cta__content {
	width: 100%;
	background-color: #f9fafa;
	transition: all .4s;
}
.elementor-cta--valign-middle .elementor-cta__content {
	align-content: center;
	align-items: center;
}
.elementor-cta--valign-top .elementor-cta__content {
	align-content: flex-start;
	align-items: flex-start;
}
.elementor-cta--valign-bottom .elementor-cta__content {
	align-content: flex-end;
	align-items: flex-end;
}
.elementor-cta__content-item {
	position: relative;
	width: 100%;
	margin: 0;
	color: #fff;
	transition: .5s;
}
.elementor-cta__content-item:not(:last-child) {
	margin-bottom: 15px;
}
.elementor-cta--skin-classic .elementor-cta__content-item {
	color: #3a3f45;
	border-color: #3a3f45;
	fill: #3a3f45;
}
.elementor-cta__button.elementor-button {
	align-self: center;
	margin-right: auto;
	margin-left: auto;
	border: 2px solid #fff;
	background: transparent;
	cursor: pointer;
}
.elementor-cta__button.elementor-button:hover {
	background: transparent;
	text-decoration: none;
}
.elementor-cta--skin-classic .elementor-cta__button.elementor-button {
	color: #3a3f45;
	border-color: #3a3f45;
}
.elementor-animated-content {
	--translate: 0, 0;
}
.elementor-bg-transform .elementor-bg {
	will-change: transform;
}
.elementor-bg-transform-zoom-in:hover .elementor-bg,
.elementor-bg-transform-zoom-out .elementor-bg {
	transform: scale(1.2);
}
.elementor-bg-transform-zoom-out:hover .elementor-bg {
	transform: scale(1);
}
@media (max-width: 1024px) {
	.elementor-cta--tablet-layout-image-above .elementor-cta {
		flex-wrap: wrap;
	}
	.elementor-cta--tablet-layout-image-above .elementor-cta__bg-wrapper {
		width: 100%;
	}
}
@media (max-width: 767px) {
	.elementor-cta--mobile-layout-image-above .elementor-cta {
		flex-wrap: wrap;
	}
	.elementor-cta--mobile-layout-image-above .elementor-cta__bg-wrapper {
		width: 100%;
	}
}
@media (max-device-width: 1024px) {
	.elementor-cta {
		cursor: pointer;
	}
}
