/* ============================================================
   INLINE STYLES - Cars And Cars
   Estilos extraídos de index.html para mejor organización
   ============================================================ */

/* ============================================================
   MO HERO CSS
   ============================================================ */
.mo-hero {
	position: relative;
	min-height: 462px !important;
	display: flex;
	align-items: center;
	background-image: url('../images/sistema/Home1-4.jpg');
	background-size: cover;
	background-position: center;
}

.mo-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(270deg, var(--smi-black-alpha-70) 25%, var(--smi-black-alpha-30) 100%);
	pointer-events: none;
}

.mo-hero__inner {
	position: relative;
	width: 100%;
	max-width: 1350px;
	margin: 0 auto;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 40px;
}

.mo-hero__panel {
	flex: 1;
	max-width: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: linear-gradient(135deg, var(--color-primary-dynamic-20) 0%, var(--color-primary-dynamic-80) 100%);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	padding: 25px 35px;
	border-radius: 12px;
	border: 1px solid var(--smi-white-alpha-30);
	box-shadow: 0 15px 35px var(--smi-black-alpha-30);
}

.mo-hero__kicker {
	margin: 0 0 10px;
	font-family: 'Inter', sans-serif;
	font-size: 20px;
	color: var(--smi-white);
	opacity: 0.95;
}

.mo-hero__title {
	margin: 0 0 12px;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px !important;
	font-weight: 600;
	line-height: 1.2;
	color: var(--smi-white);
}

.mo-hero__desc {
	margin: 0 0 20px;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	color: var(--smi-white);
	opacity: 0.95;
}

.mo-hero__cta {
	display: inline-block;
	padding: 22px 50px;
	border-radius: 50px;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
	color: var(--smi-white) !important;
	text-decoration: none !important;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 18px;
	text-align: center;
	border: 2px solid var(--smi-white-alpha-80);
	transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	box-shadow: 0 12px 30px var(--smi-black-alpha-30);
	margin-top: 25px;
	width: fit-content;
}

.mo-hero__cta:hover,
.mo-hero__cta:focus {
	background: var(--smi-white);
	color: var(--color-primary-dark) !important;
	transform: scale(1.08) translateY(-5px);
	box-shadow: 0 15px 40px var(--smi-black-alpha-50);
	border-color: var(--color-primary);
}

.mo-hero__media {
	flex: 0 0 40%;
	max-width: none;
	aspect-ratio: 16 / 9;
	display: flex;
}

.mo-hero__media iframe,
.mo-hero__media video {
	width: 100%;
	height: 100%;
	border-radius: 10px;
	border: none;
	box-shadow: 0 10px 30px var(--smi-black-alpha-30);
	display: block;
	object-fit: cover;
}

@media (max-width: 767px) {
	.mo-hero__inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
		padding: 20px 15px;
	}

	.mo-hero__panel {
		max-width: 100%;
	}

	.mo-hero__media {
		display: none;
	}
}

/* ============================================================
   ABOUT SECTION STYLES
   ============================================================ */
.elementor-element-92a7106 {
	padding-top: 40px !important;
	padding-bottom: 40px !important;
	min-height: auto !important;
}

.elementor-element-92a7106>.e-con-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	align-items: flex-start !important;
}

.elementor-element-53e73580 {
	margin-bottom: 0px !important;
}

.mo-about-kicker {
	color: var(--color-primary-dark);
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 2px;
	display: block;
	line-height: 1.2;
}

.mo-about-p {
	font-family: 'Inter', sans-serif;
	font-size: 17px;
	line-height: 1.4;
	color: var(--smi-gray-800);
	margin-top: 0;
	margin-bottom: 15px;
	font-weight: 500;
}

.mo-pillar-list {
	list-style: none;
	padding: 0;
	margin: 15px 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mo-pillar-item {
	display: grid;
	grid-template-columns: 6px 1fr;
	align-items: center;
	background: var(--smi-white);
	border-radius: 6px;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px var(--shadow-xs);
	overflow: hidden;
	border: 1px solid var(--border-light);
}

.mo-pillar-item:hover {
	transform: translateX(10px);
	box-shadow: 0 10px 30px var(--color-primary-dynamic-30);
	border-color: var(--color-primary);
	background: var(--bg-card);
}

.mo-pillar-item::before {
	content: '';
	height: 100%;
	background: var(--color-primary-dark);
}

.mo-pillar-item:hover::before {
	background: var(--color-primary);
}

.mo-pillar-content {
	padding: 10px 18px 5px;
}

.mo-pillar-name {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	color: var(--color-primary-dark);
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 0px;
	display: block;
	text-align: left;
	line-height: 1.2;
}

.mo-pillar-text {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.4;
	color: var(--smi-gray-600);
	text-align: left;
	margin: 0 !important;
	padding: 0 !important;
}

.mo-about-footer {
	margin-top: 15px;
	font-family: 'Inter', sans-serif;
	font-size: 17px;
	font-weight: 500;
	color: var(--smi-gray-800);
	line-height: 1.6;
	font-style: normal;
}

@media (max-width: 900px) {
	.mo-pillar-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.mo-about-title {
		font-size: 30px;
	}
}

/* ============================================================
   SERVICES COLUMN GRID
   ============================================================ */
#dynamic-home-services {
	width: 100% !important;
	display: block !important;
	padding: 0 !important;
}

.mo-services-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	width: 100%;
	margin: 40px 0;
	box-sizing: border-box;
}

.mo-service-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.mo-service-title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	color: var(--color-primary-dark);
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 25px;
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mo-service-icons {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 22px;
	align-items: center;
}

.mo-service-item {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.mo-service-item:hover {
	transform: translateY(-4px);
}

.mo-service-item img {
	width: 100%;
	border-radius: 8px;
	box-shadow: 0 4px 12px var(--shadow-sm);
	display: block;
	transition: box-shadow 0.25s ease;
}

.mo-service-item:hover img {
	box-shadow: 0 8px 20px var(--color-primary-dynamic-30);
}

.mo-service-label {
	font-family: 'Montserrat', 'Inter', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--smi-black);
	line-height: 1.3;
	letter-spacing: -0.2px;
	margin-top: 12px;
	text-align: center;
	transition: color 0.25s ease;
	padding: 0 4px;
	min-height: 48px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.mo-service-item:hover .mo-service-label {
	color: var(--color-primary);
}

@media (max-width: 1024px) {
	.mo-services-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
}

@media (max-width: 768px) {
	.mo-services-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 16px !important;
	}

	.mo-services-grid .mo-service-col:nth-child(n+3) {
		display: none !important;
	}

	.mo-service-title {
		font-size: 14px !important;
		margin-bottom: 14px !important;
	}

	.mo-service-label {
		font-size: 14px !important;
		min-height: 40px !important;
	}
}

/* ============================================================
   CUSTOM BLUE GRADIENT SECTION
   ============================================================ */
.mo-services-cta,
.mo-services-cta .elementor-background-overlay,
.mo-services-cta::before {
	background: radial-gradient(ellipse at center, var(--smi-green-950) 0%, var(--color-primary-dark) 45%, var(--smi-green-200) 100%) !important;
	background-image: radial-gradient(ellipse at center, var(--smi-green-950) 0%, var(--color-primary-dark) 45%, var(--smi-green-200) 100%) !important;
	color: var(--smi-white) !important;
	opacity: 1 !important;
}

.mo-services-cta h3 {
	color: var(--smi-white) !important;
	text-align: center !important;
}

.mo-services-cta .elementor-widget-heading {
	text-align: center !important;
}

.mo-services-cta .elementor-widget-button,
.mo-services-cta .elementor-button-wrapper {
	text-align: center !important;
	display: flex !important;
	justify-content: center !important;
}

.mo-services-cta .e-con-inner {
	background: radial-gradient(ellipse at center, var(--smi-green-950) 0%, var(--color-primary-dark) 45%, var(--smi-green-200) 100%) !important;
	max-width: 100% !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.mo-services-cta .elementor-button {
	background-color: var(--smi-white) !important;
	color: var(--color-primary-dark) !important;
	border-radius: 50px !important;
	font-weight: 800 !important;
	transition: all 0.3s ease !important;
}

.mo-services-cta .elementor-button:hover {
	transform: scale(1.05) !important;
	box-shadow: 0 10px 20px var(--smi-black-alpha-30) !important;
	background-color: var(--color-primary-light) !important;
}

/* ============================================================
   CLIENTS CAROUSEL
   ============================================================ */
.clients-carousel-section {
	padding: 80px 0;
	background-color: var(--smi-white);
	overflow: hidden;
}

.clients-section-header {
	text-align: center;
	margin-bottom: 50px;
}

.clients-section-header h2 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	color: var(--color-primary-dark);
	font-size: 32px;
	margin-bottom: 15px;
	text-transform: uppercase;
}

.clients-section-header p {
	color: var(--smi-gray-500);
	font-size: 14px;
	letter-spacing: 2px;
	font-weight: 500;
}

.carousel-container {
	width: 100%;
	overflow: hidden;
	position: relative;
	padding: 20px 0;
}

.carousel-track {
	display: flex;
	gap: 80px;
	width: max-content;
	animation: scroll 40s linear infinite;
}

.client-logo {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
}

.mb-40 {
	margin-bottom: 40px;
}

.client-logo img {
	max-height: 135px;
	max-width: 304px;
	filter: grayscale(100%);
	opacity: 0.6;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.client-logo img:hover {
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.1);
}

@keyframes scroll {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 768px) {
	.clients-section-header h2 {
		font-size: 24px;
	}

	.carousel-track {
		gap: 40px;
	}

	.client-logo {
		width: 150px;
	}

	.client-logo img {
		max-height: 80px;
		max-width: 180px;
	}
}

/* ============================================================
   SMI CONTACT OVERRIDES
   ============================================================ */
.elementor-element-3f2ba4a1 .elementor-icon,
.elementor-element-3f2ba4a1 .elementor-icon i,
.elementor-element-3f2ba4a1 .elementor-icon svg {
	color: var(--color-primary) !important;
	fill: var(--color-primary) !important;
	transition: color var(--transition-base), transform var(--transition-base);
}

.elementor-element-3f2ba4a1 .elementor-icon:hover i,
.elementor-element-3f2ba4a1 .elementor-icon:hover svg {
	color: var(--color-primary-hover) !important;
	fill: var(--color-primary-hover) !important;
	transform: scale(1.12);
}

.elementor-element-3f2ba4a1 .elementor-icon-box-title,
.elementor-element-3f2ba4a1 .elementor-icon-box-title a {
	color: var(--text-headings) !important;
}

.elementor-element-3f2ba4a1 .elementor-icon-box-description {
	color: var(--text-muted) !important;
}

.elementor-element-3a35240f {
	border-right: 2px solid var(--border-divider);
	padding-right: 2.5rem !important;
}

.smi-contact-section-label {
	display: block;
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-wider);
	text-transform: uppercase;
	color: var(--color-primary);
	margin-bottom: 1rem;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid var(--border-card-hover);
}

.elementor-element-1b276b1 {
	background: var(--bg-green-tint);
	border: 1px solid var(--border-card-hover);
	border-radius: var(--radius-lg);
	padding: 1.25rem 1.5rem !important;
	margin-bottom: 1.25rem !important;
}

.elementor-element-b3d9dd2 {
	background: var(--bg-subtle);
	border: 1px solid var(--border-light);
	border-radius: var(--radius-lg);
	padding: 1.25rem 1.5rem !important;
}

.elementor-element-64273dbb .elementor-heading-title {
	color: var(--color-primary) !important;
	font-size: var(--font-size-sm) !important;
	font-weight: var(--font-weight-semibold) !important;
	letter-spacing: var(--letter-spacing-wider) !important;
	text-transform: uppercase !important;
	margin-bottom: 1.5rem !important;
}

.elementor-element-64273dbb .elementor-field-textual,
.elementor-element-64273dbb textarea.elementor-field-textual {
	background: var(--input-bg) !important;
	border-color: var(--input-border) !important;
	color: var(--input-text) !important;
	border-radius: var(--radius-md) !important;
	transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.elementor-element-64273dbb .elementor-field-textual:focus,
.elementor-element-64273dbb textarea.elementor-field-textual:focus {
	border-color: var(--input-border-focus) !important;
	box-shadow: 0 0 0 3px var(--border-focus-ring) !important;
	outline: none !important;
	background: var(--input-bg-focus) !important;
}

.elementor-element-64273dbb .elementor-field-textual::placeholder {
	color: var(--input-placeholder) !important;
}

.elementor-element-b45b149 .elementor-button[type="submit"],
.elementor-element-b45b149 .e-form__buttons button {
	background: var(--btn-primary-bg) !important;
	color: var(--btn-primary-text) !important;
	border: 2px solid var(--btn-primary-border) !important;
	border-radius: var(--radius-md) !important;
	font-weight: var(--font-weight-semibold) !important;
	letter-spacing: var(--letter-spacing-wide) !important;
	text-transform: uppercase !important;
	box-shadow: var(--btn-primary-shadow) !important;
	transition: background var(--transition-base),
		transform var(--transition-fast),
		box-shadow var(--transition-base) !important;
}

.elementor-element-b45b149 .elementor-button[type="submit"]:hover,
.elementor-element-b45b149 .e-form__buttons button:hover {
	background: var(--btn-primary-bg-hover) !important;
	border-color: var(--btn-primary-bg-hover) !important;
	transform: translateY(-2px) !important;
	box-shadow: var(--shadow-green-lg) !important;
}

.elementor-element-b45b149 .elementor-button[type="submit"]:active,
.elementor-element-b45b149 .e-form__buttons button:active {
	background: var(--btn-primary-bg-active) !important;
	transform: translateY(0) !important;
	box-shadow: var(--shadow-sm) !important;
}

@media (max-width: 768px) {
	.elementor-element-3a35240f {
		border-right: none !important;
		border-bottom: 2px solid var(--border-divider) !important;
		padding-right: 0 !important;
		padding-bottom: 2rem !important;
		margin-bottom: 2rem !important;
	}
}

/* ============================================================
   SMI LAYOUT RESET
   ============================================================ */
.site-content,
#content {
	position: relative !important;
	overflow: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.elementor-theme-builder-content-area {
	display: none !important;
	height: 0 !important;
}

.entry-header,
.ast-header-without-markup {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	display: none !important;
}

.site-content>.ast-container,
.ast-container {
	margin: 0 !important;
	padding: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

#primary,
.content-area,
.content-area.primary,
.site-main,
article.ast-article-single,
.entry-content {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-location-header {
	position: relative !important;
	z-index: 1000 !important;
	width: 100% !important;
	background-color: #ffffff !important;
}

html,
body,
#page,
.site {
	background-color: #ffffff !important;
}

.site-content,
#content {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 100% !important;
	align-items: start !important;
	overflow: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: #ffffff !important;
	transform: none !important;
	z-index: 1 !important;
}

.elementor-location-footer {
	position: relative !important;
	z-index: 10 !important;
	width: 100% !important;
}

.smi-app-section {
	display: none !important;
	grid-area: 1 / 1 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: #ffffff !important;
	box-sizing: border-box !important;
}

.smi-app-section>.ast-container {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.smi-app-section.smi-app-section--active {
	display: block !important;
	position: relative !important;
	grid-area: 1 / 1 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 2 !important;
	background-color: #ffffff !important;
}

.smi-app-section.smi-section--exiting {
	display: block !important;
	position: relative !important;
	grid-area: 1 / 1 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 3 !important;
	pointer-events: none !important;
	background-color: #ffffff !important;
}

.smi-app-section.smi-section--exiting,
.smi-app-section.smi-app-section--active {
	will-change: transform, opacity;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.smi-app-section.smi-section--exiting.smi-fade-exit-left {
	animation: smiExitLeft 0.65s cubic-bezier(0.4, 0, 0.2, 1) both !important;
}

.smi-app-section.smi-app-section--active.smi-fade-enter-right {
	animation: smiEnterRight 0.65s cubic-bezier(0.4, 0, 0.2, 1) both !important;
}

.smi-app-section.smi-section--exiting.smi-fade-exit-right {
	animation: smiExitRight 0.65s cubic-bezier(0.4, 0, 0.2, 1) both !important;
}

.smi-app-section.smi-app-section--active.smi-fade-enter-left {
	animation: smiEnterLeft 0.65s cubic-bezier(0.4, 0, 0.2, 1) both !important;
}

@keyframes smiExitLeft {
	0% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	100% {
		opacity: 0;
		transform: translate3d(-80px, 0, 0);
	}
}

@keyframes smiEnterRight {
	0% {
		opacity: 0;
		transform: translate3d(80px, 0, 0);
	}

	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes smiExitRight {
	0% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	100% {
		opacity: 0;
		transform: translate3d(80px, 0, 0);
	}
}

@keyframes smiEnterLeft {
	0% {
		opacity: 0;
		transform: translate3d(-80px, 0, 0);
	}

	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.smi-app-section .mo-hero {
	margin-top: 0 !important;
	width: 100% !important;
}

.elementor-location-header .elementor-container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 60px !important;
	max-width: 1300px !important;
	margin: 0 auto !important;
	padding: 10px 30px !important;
}

.elementor-location-header .elementor-element-361fdcd8 {
	width: auto !important;
	flex: 0 0 auto !important;
	margin-right: 20px !important;
}

.elementor-location-header .elementor-element-2f8e038c {
	width: auto !important;
	flex: 0 1 auto !important;
}

.elementor-location-header .elementor-nav-menu {
	justify-content: center !important;
	gap: 25px !important;
}

.mo-hero .mo-hero__text-area {
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
	flex: 1 !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
	padding: 20px 40px !important;
}

.mo-hero .mo-hero__title {
	text-align: center !important;
}

.mo-hero .mo-hero__desc {
	text-align: center !important;
	max-width: 85% !important;
	margin: 0 auto !important;
}

.mo-hero .mo-hero__cta {
	background: var(--background-color-primary) !important;
	color: var(--color-primary) !important;
	border-radius: 50px !important;
	font-weight: 800 !important;
	border: 1.5px solid var(--background-color-primary) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease !important;
	padding: 15px 40px !important;
	font-size: 15px !important;
	letter-spacing: 0.5px !important;
	margin: 10px auto 0 !important;
	box-sizing: border-box !important;
	will-change: transform;
}

.mo-hero .mo-hero__cta:hover,
.mo-hero .mo-hero__cta:focus {
	transform: translateY(-3px) !important;
	box-shadow: 0 10px 28px color-mix(in srgb, var(--color-primary) 25%, transparent), 0 6px 14px rgba(0, 0, 0, 0.1) !important;
	background: var(--background-color-primary) !important;
	color: var(--color-primary) !important;
	border: 1.5px solid var(--color-primary) !important;
}

@media (max-width: 768px) {
	.elementor-location-header .elementor-container {
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 15px !important;
		padding: 15px 10px 10px !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.elementor-location-header .elementor-element-361fdcd8 {
		width: 100% !important;
		display: flex !important;
		justify-content: center !important;
		margin-right: 0 !important;
		text-align: center !important;
	}

	.elementor-location-header .elementor-element-361fdcd8 a {
		justify-content: center !important;
		width: 100% !important;
		display: flex !important;
	}

	.elementor-location-header .elementor-element-361fdcd8 img {
		width: 60% !important;
		max-width: 340px !important;
		height: auto !important;
		max-height: none !important;
		object-fit: contain !important;
		margin: 5px auto !important;
	}

	.elementor-location-header .elementor-element-2f8e038c {
		width: 100% !important;
		display: block !important;
	}

	.elementor-location-header .elementor-menu-toggle {
		display: none !important;
	}

	.elementor-location-header .elementor-nav-menu--main {
		display: block !important;
		width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding-bottom: 6px !important;
	}

	.elementor-location-header .elementor-nav-menu--main::-webkit-scrollbar {
		height: 4px !important;
		display: block !important;
	}

	.elementor-location-header .elementor-nav-menu--main::-webkit-scrollbar-track {
		background: #f1f5f9 !important;
		border-radius: 10px !important;
	}

	.elementor-location-header .elementor-nav-menu--main::-webkit-scrollbar-thumb {
		background: var(--color-primary, #00875a) !important;
		border-radius: 10px !important;
	}

	.elementor-location-header .elementor-nav-menu {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 10px !important;
		width: max-content !important;
		padding: 0 5px !important;
		margin: 0 !important;
	}

	.elementor-location-header .elementor-nav-menu .menu-item {
		white-space: nowrap !important;
		flex-shrink: 0 !important;
	}

	.elementor-location-header .elementor-nav-menu .elementor-item {
		font-size: 11px !important;
		font-weight: 700 !important;
		letter-spacing: 0.5px !important;
		text-transform: uppercase !important;
		padding: 4px 8px !important;
	}

	.mo-hero {
		padding: 20px 0 !important;
		min-height: auto !important;
	}

	.mo-hero .mo-hero__text-area {
		padding: 20px 15px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.mo-hero .mo-hero__title {
		font-size: clamp(16px, 4.2vw, 22px) !important;
		line-height: 1.25 !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
		max-width: 100% !important;
	}

	.mo-hero .mo-hero__title span {
		white-space: normal !important;
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
		display: inline !important;
	}

	.mo-hero .mo-hero__desc {
		font-size: 14px !important;
		line-height: 1.5 !important;
		max-width: 100% !important;
	}

	.mo-hero .mo-hero__cta {
		padding: 12px 28px !important;
		font-size: 13px !important;
		width: 90% !important;
		max-width: 320px !important;
		box-sizing: border-box !important;
	}

	.elementor-element-92a7106 {
		padding-left: 15px !important;
		padding-right: 15px !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.elementor-element-dbdbbc {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.elementor-element-dbdbbc>div:first-child {
		padding: 15px 16px !important;
		margin-bottom: 20px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.elementor-element-dbdbbc>div:first-child p {
		font-size: clamp(14px, 4vw, 17px) !important;
		line-height: 1.5 !important;
	}

	.elementor-element-dbdbbc>div:nth-child(2) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.elementor-element-dbdbbc>div:nth-child(2)>div {
		padding: 16px 12px !important;
		box-sizing: border-box !important;
	}

	.elementor-element-dbdbbc>div:nth-child(2) h4 {
		font-size: 14px !important;
	}

	.elementor-element-dbdbbc>div:nth-child(2) p {
		font-size: 12px !important;
		line-height: 1.4 !important;
	}
}

@media (max-width: 400px) {
	.elementor-element-dbdbbc>div:nth-child(2) {
		grid-template-columns: 1fr !important;
	}
}

/* ============================================================
   ACCORDION ANIMADO – Productos y Servicios
   ============================================================ */
.e-n-accordion-item summary {
	list-style: none !important;
	cursor: pointer;
	user-select: none;
}

.e-n-accordion-item summary::-webkit-details-marker {
	display: none !important;
}

.e-n-accordion-item-content {
	overflow: hidden !important;
	max-height: 0 !important;
	opacity: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	transition:
		max-height 0.42s cubic-bezier(0.4, 0, 0.2, 1),
		opacity 0.30s ease,
		padding 0.30s ease !important;
}

.e-n-accordion-item.smi-open .e-n-accordion-item-content {
	max-height: 600px !important;
	opacity: 1 !important;
	padding-top: 12px !important;
	padding-bottom: 20px !important;
}

.e-n-accordion-item {
	transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
	border-radius: 10px !important;
	overflow: hidden !important;
}

.e-n-accordion-item.smi-open {
	box-shadow: 0 6px 24px rgba(0, 108, 62, 0.14) !important;
	border-color: var(--color-primary, #006c3e) !important;
}

.e-n-accordion-item .e-n-accordion-item-title {
	transition: background-color 0.25s ease, color 0.25s ease !important;
}

.e-n-accordion-item-title-icon svg {
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.e-n-accordion-item.smi-open .e-n-accordion-item-title-icon svg {
	transform: rotate(45deg) !important;
}
