/* Puente entre Elementor y el Design System MARKTSPOT.
   Permite usar widgets nativos (Título, Editor de texto, Botón, Menú, Pestañas anidadas)
   con las clases ms-* y que se vean igual que en el diseño. Generado: no lo edites a mano. */
body.ms-base:not(#ms-x) :where(.elementor-widget-html) :where(h1, h2, h3, h4, h5, h6, p, figure) {
margin: 0;
}
body.ms-base:not(#ms-x) :where(.elementor-widget-html) :where(ul.ms-icon-list, ol.ms-steps, ol.ms-carousel, ul.ms-carousel) {
padding: 0;
}
body.ms-base:not(#ms-x) .e-con.ms-section, body.ms-base:not(#ms-x) .e-con.ms-hero, body.ms-base:not(#ms-x) .e-con.cta-final, body.ms-base:not(#ms-x) .e-con.ms-footer, body.ms-base:not(#ms-x) .e-con.ms-nav {
--content-width: var(--container);
  --padding-left: var(--space-4); --padding-right: var(--space-4);
  --padding-inline-start: var(--space-4); --padding-inline-end: var(--space-4);
  padding-left: var(--space-4); padding-right: var(--space-4);
}
@media (min-width: 720px) {
body.ms-base:not(#ms-x) .e-con.ms-section, body.ms-base:not(#ms-x) .e-con.ms-hero, body.ms-base:not(#ms-x) .e-con.cta-final, body.ms-base:not(#ms-x) .e-con.ms-footer, body.ms-base:not(#ms-x) .e-con.ms-nav {
--padding-left: var(--space-6); --padding-right: var(--space-6);
    --padding-inline-start: var(--space-6); --padding-inline-end: var(--space-6);
    padding-left: var(--space-6); padding-right: var(--space-6);
}
}
body.ms-base:not(#ms-x) .e-con.ms-narrow {
--content-width: var(--container-narrow);
}
body.ms-base:not(#ms-x) .e-con.ms-nav {
padding-top: 0; padding-bottom: 0; min-height: 72px;
}
body.ms-base:not(#ms-x) .e-con.ms-nav > .e-con-inner {
min-height: 72px; align-items: center;
}
body.ms-base:not(#ms-x) .elementor-location-header {
position: sticky; top: 0; z-index: 30;
}
body.ms-base:not(#ms-x) .elementor-location-header .ms-nav {
position: relative;
}
body.ms-base:not(#ms-x) .elementor-widget-heading[class*="ms-"] .elementor-heading-title {
font: inherit; letter-spacing: inherit; line-height: inherit; color: inherit;
  text-transform: inherit; text-wrap: inherit; margin: 0;
}
body.ms-base:not(#ms-x) .elementor-widget-text-editor[class*="ms-"] p {
margin: 0;
}
body.ms-base:not(#ms-x) .elementor-widget-text-editor[class*="ms-"] p + p {
margin-top: .75em;
}
body.ms-base:not(#ms-x) [hidden] {
display: none !important;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--main .elementor-item {
color: var(--text); font: 500 .9375rem/1.2 var(--font-sans); padding-left: 12px; padding-right: 12px;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--main .elementor-item:hover, body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--main .elementor-item:focus-visible {
color: var(--cta);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--main .elementor-item.elementor-item-active {
color: var(--primary);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-menu-toggle {
color: var(--text); background: transparent;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--dropdown {
background: var(--surface); border-top: 1px solid var(--line);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--dropdown a {
color: var(--text); background: transparent; font: 500 1rem/1.4 var(--font-sans); min-height: 44px; border-bottom: 1px solid var(--line);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--dropdown a:hover, body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--dropdown a:focus-visible {
background: var(--spot-soft); color: var(--cta-hover);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-tabs .e-n-tabs-heading {
display: flex; flex-wrap: nowrap; width: max-content; max-width: 100%; margin: 0 auto var(--space-6);
  gap: 4px; padding: 4px; border-radius: var(--radius-pill); background: var(--surface-sunken); border: 0;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-tabs .e-n-tab-title {
display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; height: 44px; padding: 0 var(--space-5);
  border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--text-muted);
  font: 600 .9375rem/1 var(--font-sans); white-space: nowrap; box-shadow: none;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-tabs .e-n-tab-title .e-n-tab-title-text {
font: inherit; color: inherit;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-tabs .e-n-tab-title:hover {
background: transparent; color: var(--text);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-tabs .e-n-tab-title[aria-selected="true"] {
background: var(--surface); color: var(--text); box-shadow: var(--shadow-sm);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-tabs .e-n-tab-title[aria-selected="true"]::before {
content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--spot); flex: none;
}
@media (max-width: 640px) {
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-tabs .e-n-tab-title {
padding: 0 12px; font-size: clamp(11px, 3.4vw, 14px);
}
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-tabs .e-n-tabs-content > .e-con {
padding: 0; border: 0;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button {
--btn-h: 48px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: var(--btn-h); padding: 0 var(--space-5);
  font: 600 0.9375rem/1 var(--font-sans); letter-spacing: -0.005em; white-space: nowrap;
  border-radius: var(--radius-pill); border: 1.5px solid transparent; cursor: pointer; text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button svg {
width: 18px; height: 18px; flex: none; transition: transform var(--duration-base) var(--ease-arrive);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button:hover svg[data-ms-arrow] {
transform: translateX(3px);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button:active {
transform: translateY(1px);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--primary .elementor-button {
background: var(--cta); color: var(--on-cta);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--primary .elementor-button:hover {
background: var(--cta-hover); color: var(--on-cta);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--primary .elementor-button:visited, body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--primary .elementor-button:focus-visible, body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--primary .elementor-button:active {
color: var(--on-cta);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--secondary .elementor-button, body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--secondary .elementor-button:visited {
background: transparent; color: var(--text); border-color: var(--border);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--secondary .elementor-button:hover {
border-color: var(--cta); color: var(--cta);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--ghost .elementor-button {
background: transparent; color: var(--primary); padding-inline: var(--space-3);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--ghost .elementor-button:hover {
background: var(--spot-soft); color: var(--cta-hover);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--sm .elementor-button {
--btn-h: 38px; padding: 0 var(--space-4); font-size: 0.875rem;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--lg .elementor-button {
--btn-h: 56px; padding: 0 var(--space-6); font-size: 1rem;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button[disabled], body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button[aria-disabled="true"] {
opacity: .45; cursor: not-allowed; pointer-events: none;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button-content-wrapper {
display: inline-flex; align-items: center; gap: 10px;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button-icon {
display: inline-flex;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button-icon svg {
fill: currentColor;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button:hover .elementor-button-icon svg {
transform: translateX(3px);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn--block .elementor-button {
width: 100%;
}
/* Contenedores de sección: el espacio entre bloques lo dan los márgenes del sistema, no el espacio de Elementor */
body.ms-base:not(#ms-x) .e-con:is(.ms-section, .ms-hero, .cta-final, .ms-footer) > .e-con-inner {
gap: 0;
}
body.ms-base:not(#ms-x) .e-con.e-con-full:is(.ms-section, .ms-hero, .cta-final, .ms-footer) {
gap: 0;
}
/* Columnas sin clase dentro de ms-split / ms-row: separación de 16 px entre sus widgets */
body.ms-base:not(#ms-x) :where(.e-con.ms-split > .e-con) {
gap: var(--space-4);
}
/* Hero oscuro: el fondo del diseño viene del Design System, no de la pestaña Estilo */
body.ms-base:not(#ms-x) .e-con.ms-hero.ms-on-deep {
background-color: var(--surface-deep);
}
/* Filas del sistema dentro de contenedores de Elementor (que por defecto van en columna) */
body.ms-base:not(#ms-x) .e-con:is(.row-between, .ms-hero__actions, .ms-row) {
flex-direction: row;
}
/* Flecha del sistema en botones nativos: automática en los primarios grandes (ms-w-btn--primary + ms-w-btn--lg).
   Agregar en cualquier otro botón: ms-w-btn--flecha. Quitar: ms-w-btn--sin-flecha. */
body.ms-base:not(#ms-x):not(#ms-y) :is(.ms-w-btn--primary.ms-w-btn--lg, .ms-w-btn--flecha):not(.ms-w-btn--sin-flecha) .elementor-button-content-wrapper::after {
content: ""; width: 18px; height: 18px; flex: none; background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform var(--duration-base) var(--ease-arrive);
}
body.ms-base:not(#ms-x):not(#ms-y) :is(.ms-w-btn--primary.ms-w-btn--lg, .ms-w-btn--flecha):not(.ms-w-btn--sin-flecha) .elementor-button:hover .elementor-button-content-wrapper::after {
transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-btn .elementor-button-content-wrapper::after { transition: none; }
}
/* Alineación de las columnas de ms-split: por defecto la del sistema; si eliges "Alinear elementos" en Elementor, gana tu elección */
body.ms-base:not(#ms-x) .e-con.ms-split {
align-items: var(--align-items, center);
}
body.ms-base:not(#ms-x) .e-con.ms-split--form {
align-items: var(--align-items, start);
}
/* Encabezados dentro de filas y columnas: el margen inferior lo lleva la fila */
body.ms-base:not(#ms-x) .e-con:is(.row-between, .ms-split) > .sec-head {
margin-bottom: 0;
}
body.ms-base:not(#ms-x) .e-con.row-between {
margin-bottom: 40px;
}
/* Cifras del hero separadas del bloque principal, como en el diseño */
body.ms-base:not(#ms-x) .e-con.ms-hero .ms-stats {
margin-top: 56px;
}
/* Landing principal: en tableta y celular el header solo deja logo y menú (Cotiza y WhatsApp van en la barra inferior) */
@media (max-width: 1024px) {
body.ms-base.ms-has-mbar:not(#ms-x) .elementor-location-header :is(.elementor-widget-button.ms-w-btn, .elementor-widget-heading.ms-link) {
display: none;
}
}
/* Bloque centrado (Gracias, sección 1): clase ms-w-center en el contenedor */
body.ms-base:not(#ms-x) .e-con.ms-w-center, body.ms-base:not(#ms-x) .e-con.ms-w-center > .e-con-inner {
align-items: center; text-align: center;
}
/* Barra inferior y botón flotante viven en el footer oscuro: recuperan los colores claros del sistema */
body.ms-base:not(#ms-x) .ms-on-deep :is(.ms-mbar, .ms-fab) {
--text: var(--niebla-900); --text-muted: var(--niebla-600); --text-subtle: var(--niebla-500);
  --primary: var(--laguna-700); --primary-hover: var(--laguna-600); --on-primary: var(--white); --primary-soft: var(--laguna-100);
  --line: var(--niebla-200); --border: var(--niebla-400); --surface: var(--white); --focus: var(--cielo-500);
  --spot-text: var(--senal-700); --cta: var(--senal-700); --cta-hover: var(--senal-800); --on-cta: var(--white);
}
/* Formulario primero en tableta y celular aunque el widget no tenga la clase ms-split__main */
@media (max-width: 899px) {
body.ms-base:not(#ms-x) .e-con.ms-split--form > .elementor-widget:has(form) {
order: -1;
}
}
/* Gracias, sección 1: separación de 20 px entre ícono, antetítulo, título y textos (como en el diseño) */
body.ms-base:not(#ms-x) .e-con.ms-w-center > .e-con-inner, body.ms-base:not(#ms-x) .e-con.e-con-full.ms-w-center {
gap: 20px;
}
/* Header en tableta y celular: logo al inicio y hamburguesa a la derecha en una sola fila;
   el menú desplegable se abre debajo del header sin mover el logo */
@media (max-width: 1024px) {
body.ms-base:not(#ms-x) .e-con.ms-nav > .e-con-inner, body.ms-base:not(#ms-x) .e-con.e-con-full.ms-nav {
flex-wrap: nowrap; justify-content: space-between; align-items: center;
}
body.ms-base:not(#ms-x) .e-con.ms-nav .ms-nav__logo {
flex: none; align-self: center; margin-right: auto;
}
body.ms-base:not(#ms-x):not(#ms-y) .e-con.ms-nav .ms-w-nav {
position: static; flex: 0 0 auto; width: auto; max-width: none; margin-left: auto;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-nav .ms-w-nav .elementor-menu-toggle {
margin-left: auto; margin-right: 0;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-nav .ms-w-nav .elementor-nav-menu--dropdown {
position: absolute !important; top: 100%; left: 0 !important; right: 0; width: auto !important; margin-top: 0 !important; z-index: 31;
  box-shadow: var(--shadow-md);
}
}
/* Barra inferior y botón flotante: el footer oscuro pinta sus enlaces; aquí se restablecen los botones del diseño */
body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--primary, body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--primary:visited {
background: var(--cta); color: var(--on-cta); border-color: transparent;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--primary:hover, body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--primary:focus-visible, body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--primary:active {
background: var(--cta-hover); color: var(--on-cta);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--secondary, body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--secondary:visited {
background: transparent; color: var(--text); border-color: var(--text);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--secondary:hover, body.ms-base:not(#ms-x):not(#ms-y) .ms-mbar .ms-btn--secondary:focus-visible {
background: transparent; color: var(--cta); border-color: var(--cta);
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-fab, body.ms-base:not(#ms-x):not(#ms-y) .ms-fab:hover, body.ms-base:not(#ms-x):not(#ms-y) .ms-fab:visited {
background: var(--surface-deep); color: var(--text-on-deep);
}
/* Menú del header: sin barra ni subrayado de Elementor al pasar el cursor; solo cambia el color */
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-item::before, body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-item::after {
display: none !important; content: none !important;
}
/* Enlaces de texto hechos con el widget Título + clase ms-link: el subrayado vive en el enlace (no en el contenedor)
   y desaparece al pasar el cursor, igual que en el Design System */
body.ms-base:not(#ms-x):not(#ms-y) .elementor-widget-heading.ms-link {
text-decoration: none;
}
body.ms-base:not(#ms-x):not(#ms-y) .elementor-widget-heading.ms-link .elementor-heading-title a {
color: var(--primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: currentColor;
  transition: color var(--duration-fast) var(--ease-standard), text-decoration-color var(--duration-fast) var(--ease-standard);
}
body.ms-base:not(#ms-x):not(#ms-y) .elementor-widget-heading.ms-link .elementor-heading-title a:hover {
color: var(--primary-hover); text-decoration-color: transparent;
}
body.ms-base:not(#ms-x):not(#ms-y) .ms-nav .elementor-widget-heading.ms-link .elementor-heading-title a:hover {
color: var(--cta);
}
/* Etiquetas que son botones (industrias y ciudades): sin subrayado, naranja al pasar el cursor */
body.ms-base:not(#ms-x):not(#ms-y) a.ms-tag {
text-decoration: none; cursor: pointer; transition: color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}
body.ms-base:not(#ms-x):not(#ms-y) a.ms-tag:hover, body.ms-base:not(#ms-x):not(#ms-y) a.ms-tag:focus-visible {
color: var(--cta); box-shadow: inset 0 0 0 1px var(--cta);
}
/* Foto en widget Imagen (Registro): clase ms-w-foto → 4:3, recortada sin estirar y con esquinas redondeadas */
body.ms-base:not(#ms-x) .elementor-widget-image.ms-w-foto img {
display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-xl);
}
/* Elemento de menú solo para el menú móvil (Apariencia → Menús → Clases CSS: ms-solo-movil) */
body.ms-base:not(#ms-x):not(#ms-y) .ms-w-nav .elementor-nav-menu--main .ms-solo-movil {
display: none;
}
/* Espacio para la barra inferior fija en tableta y celular (solo en la landing principal) */
@media (max-width: 1024px) { body.ms-base.ms-has-mbar { padding-bottom: 84px; } }
body.ms-base.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.ms-base.admin-bar .elementor-location-header { top: 46px; } }
