.elementor-kit-35{--e-global-color-primary:#FF0000;--e-global-color-secondary:#FF0000;--e-global-color-text:#FF0000;--e-global-color-accent:#FF0000;--e-global-color-el_color_7:#212121;--e-global-color-el_color_7_1:#757575;--e-global-color-el_color_7_2:#9E9E9E;--e-global-color-el_color_1_3:#34582F;--e-global-color-el_color_1_2:#518E48;--e-global-color-el_color_1:#67AD5C;--e-global-color-el_color_1_4:#80C675;--e-global-color-el_color_1_5:#EEF5EC;--e-global-color-el_color_1_6:#67AD5C80;--e-global-color-el_color_4:#F44336;--e-global-color-el_color_5:#FFC107;--e-global-color-el_color_5_1:#DBDBDB;--e-global-color-el_color_6:#212121;--e-global-color-el_color_7_6:#F4F4F4;--e-global-color-el_color_7_3:#BDBDBD;--e-global-color-el_color_7_4:#E1E1E1;--e-global-color-el_0:#ffffff;--e-global-color-el_0_1:#FFFFFF80;--e-global-color-el_color_6_4:#00000040;--e-global-color-ems_navy:#0F1B3D;--e-global-color-ems_navy2:#16275A;--e-global-color-ems_blue:#2B3F96;--e-global-color-ems_sky:#72BDDC;--e-global-color-ems_orange:#F48F1B;--e-global-color-ems_green:#5CA532;--e-global-color-ems_yellow:#F9EB19;--e-global-color-ems_ink:#14213D;--e-global-color-ems_muted:#4A5672;--e-global-color-ems_surface:#F4F6FA;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:700;--e-global-typography-el_title_1-font-family:"Noto Sans";--e-global-typography-el_title_1-font-size:48px;--e-global-typography-el_title_1-font-weight:600;--e-global-typography-el_title_1-text-transform:none;--e-global-typography-el_title_1-line-height:1.2em;--e-global-typography-el_title_2-font-family:"Noto Sans";--e-global-typography-el_title_2-font-size:38px;--e-global-typography-el_title_2-font-weight:600;--e-global-typography-el_title_2-text-transform:none;--e-global-typography-el_title_2-line-height:1.3em;--e-global-typography-el_title_3-font-family:"Noto Sans";--e-global-typography-el_title_3-font-size:30px;--e-global-typography-el_title_3-font-weight:600;--e-global-typography-el_title_3-text-transform:none;--e-global-typography-el_title_3-line-height:1.4em;--e-global-typography-el_title_4-font-family:"Noto Sans";--e-global-typography-el_title_4-font-size:25px;--e-global-typography-el_title_4-font-weight:600;--e-global-typography-el_title_4-text-transform:none;--e-global-typography-el_title_4-line-height:1.4em;--e-global-typography-el_title_5-font-family:"Noto Sans";--e-global-typography-el_title_5-font-size:20px;--e-global-typography-el_title_5-font-weight:600;--e-global-typography-el_title_5-text-transform:none;--e-global-typography-el_title_5-line-height:1.4em;--e-global-typography-el_title_6-font-family:"Noto Sans";--e-global-typography-el_title_6-font-size:16px;--e-global-typography-el_title_6-font-weight:600;--e-global-typography-el_title_6-text-transform:none;--e-global-typography-el_title_6-line-height:1.4em;--e-global-typography-el_content_5-font-family:"Noto Sans";--e-global-typography-el_content_5-font-size:23px;--e-global-typography-el_content_5-font-weight:400;--e-global-typography-el_content_5-line-height:1.5em;--e-global-typography-el_content_4-font-family:"Noto Sans";--e-global-typography-el_content_4-font-size:18px;--e-global-typography-el_content_4-font-weight:400;--e-global-typography-el_content_4-line-height:1.7em;--e-global-typography-el_content_1-font-family:"Noto Sans";--e-global-typography-el_content_1-font-size:16px;--e-global-typography-el_content_1-font-weight:400;--e-global-typography-el_content_1-text-transform:none;--e-global-typography-el_content_1-line-height:1.7em;--e-global-typography-el_content_2-font-family:"Noto Sans";--e-global-typography-el_content_2-font-size:15px;--e-global-typography-el_content_2-font-weight:400;--e-global-typography-el_content_2-text-transform:none;--e-global-typography-el_content_2-line-height:1.7em;--e-global-typography-el_content_3-font-family:"Noto Sans";--e-global-typography-el_content_3-font-size:14px;--e-global-typography-el_content_3-font-weight:400;--e-global-typography-el_content_3-text-transform:none;--e-global-typography-el_content_3-line-height:1.5em;--e-global-typography-el_product_title_1-font-family:"Noto Sans";--e-global-typography-el_product_title_1-font-size:16px;--e-global-typography-el_product_title_1-font-weight:600;--e-global-typography-el_product_title_1-text-transform:none;--e-global-typography-el_product_title_1-line-height:1.2em;--e-global-typography-el_product_content_1-font-family:"Noto Sans";--e-global-typography-el_product_content_1-font-size:15px;--e-global-typography-el_product_content_1-font-weight:400;--e-global-typography-el_product_content_1-text-transform:none;--e-global-typography-el_product_content_1-font-style:normal;--e-global-typography-el_product_content_1-text-decoration:none;--e-global-typography-el_product_content_1-line-height:1.4em;--e-global-typography-el_product_price_1-font-family:"Noto Sans";--e-global-typography-el_product_price_1-font-size:15px;--e-global-typography-el_product_price_1-font-weight:400;--e-global-typography-el_product_price_1-text-transform:none;--e-global-typography-el_product_price_1-font-style:normal;--e-global-typography-el_product_price_1-text-decoration:none;--e-global-typography-el_product_price_1-line-height:1.2em;--e-global-typography-el_product_sale_1-font-family:"Noto Sans";--e-global-typography-el_product_sale_1-font-size:12px;--e-global-typography-el_product_sale_1-font-weight:600;--e-global-typography-el_product_sale_1-text-transform:uppercase;--e-global-typography-el_product_sale_1-font-style:normal;--e-global-typography-el_product_sale_1-text-decoration:none;--e-global-typography-el_product_sale_1-line-height:1.2em;--e-global-typography-el_product_button_1-font-family:"Noto Sans";--e-global-typography-el_product_button_1-font-size:12px;--e-global-typography-el_product_button_1-font-weight:500;--e-global-typography-el_product_button_1-font-style:normal;--e-global-typography-el_product_button_1-text-decoration:none;--e-global-typography-el_product_button_1-line-height:1.2em;--e-global-typography-el_quote_1-font-family:"Noto Sans";--e-global-typography-el_quote_1-font-size:20px;--e-global-typography-el_quote_1-font-weight:400;--e-global-typography-el_quote_1-text-transform:none;--e-global-typography-el_quote_1-font-style:italic;--e-global-typography-el_quote_1-text-decoration:none;--e-global-typography-el_quote_1-line-height:1.7em;--e-global-typography-el_breadcrumbs_1-font-family:"Noto Sans";--e-global-typography-el_breadcrumbs_1-font-size:13px;--e-global-typography-el_breadcrumbs_1-font-weight:400;--e-global-typography-el_breadcrumbs_1-text-transform:none;--e-global-typography-el_breadcrumbs_1-font-style:normal;--e-global-typography-el_breadcrumbs_1-text-decoration:none;--e-global-typography-el_breadcrumbs_1-line-height:1.2em;--e-global-typography-el_list_1-font-size:16px;--e-global-typography-el_list_1-font-weight:500;--e-global-typography-el_list_1-text-transform:none;--e-global-typography-el_list_1-font-style:normal;--e-global-typography-el_list_1-text-decoration:none;--e-global-typography-el_list_1-line-height:1.4em;}.elementor-kit-35 e-page-transition{background-color:#FFBC7D;}.elementor-kit-35 p{margin-block-end:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-35{--e-global-typography-el_content_5-font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-35{--e-global-typography-el_title_1-font-size:30px;--e-global-typography-el_title_2-font-size:30px;--e-global-typography-el_title_3-font-size:25px;--e-global-typography-el_title_4-font-size:22px;--e-global-typography-el_title_5-font-size:18px;--e-global-typography-el_content_5-font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;}}/* Start custom CSS */#the7-dashboard .notice {
  display: none;
}
#billing_country_field {
	display: none;
}
/* EMS-INICIO */
/* EMS — estilos globales del rediseño (va en Elementor › Ajustes del sitio › CSS personalizado).
   Tokens del logo + componentes con prefijo ems-. Los ajustes hechos en el panel de Elementor ganan
   sobre estas reglas, así el contenido sigue siendo editable. */

:root {
  --ems-ink: #14213D;
  --ems-muted: #4A5672;
  --ems-navy: #0F1B3D;
  --ems-navy2: #16275A;
  --ems-blue: #2B3F96;
  --ems-sky: #72BDDC;
  --ems-orange: #F48F1B;
  --ems-cta: #BF5108;       /* naranja profundo: texto blanco 4,78:1 (AA) */
  --ems-cta-hover: #A24507; /* 6,19:1 */
  --ems-green: #5CA532;
  --ems-green-d: #2F6618;
  --ems-yellow: #F9EB19;
  --ems-surface: #F4F6FA;
  --ems-line: #DCE2EC;
  --ems-line2: #E3E8F0;
  --ems-field: #7A869E;
  --ems-field-dark: #6E7FB0;
  --ems-on-navy: #C9D3EA;
  --ems-on-navy2: #DCE3F5;
  --ems-font-head: 'Poppins', system-ui, sans-serif;
  --ems-font-body: 'Inter', system-ui, sans-serif;
}

html body, html body button, html body input, html body select, html body textarea { font-family: var(--ems-font-body); }
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6 { font-family: var(--ems-font-head); }
html body { color: var(--ems-ink); }

/* ---------- Tipografía de componentes ---------- */
.ems-h1 .elementor-heading-title { font-family: var(--ems-font-head); font-weight: 800; font-size: 52px; line-height: 1.08; letter-spacing: -0.02em; color: var(--ems-ink); }
.ems-h2 .elementor-heading-title { font-family: var(--ems-font-head); font-weight: 700; font-size: 36px; line-height: 1.15; letter-spacing: -0.01em; color: var(--ems-ink); }
.ems-h3 .elementor-heading-title { font-family: var(--ems-font-head); font-weight: 700; font-size: 22px; line-height: 1.25; color: var(--ems-ink); }
.ems-on-dark .ems-h2 .elementor-heading-title, .ems-h2.ems-light .elementor-heading-title { color: #FFFFFF; }
.ems-h1 .ems-h1-kw { display: block; margin-bottom: 16px; font-family: var(--ems-font-body); font-size: 17px; font-weight: 600; line-height: 1.45; letter-spacing: 0; color: var(--ems-blue); }
.elementor-widget-html.ems-hidden { display: none; }
.ems-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ems-blue); }
.ems-on-dark .ems-eyebrow, .ems-eyebrow.ems-yellow { color: var(--ems-yellow); }
.ems-lead, .ems-lead p { font-size: 18px; line-height: 1.6; color: var(--ems-muted); margin: 0; }
.ems-body, .ems-body p { font-size: 16px; line-height: 1.6; color: var(--ems-muted); margin: 0; }
.ems-on-dark .ems-body, .ems-on-dark .ems-body p, .ems-on-dark .ems-lead p { color: var(--ems-on-navy); }
.ems-small, .ems-small p { font-size: 13px; line-height: 1.5; color: var(--ems-muted); margin: 0; }
.ems-pill { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px; border-radius: 999px; background: #FFFFFF; border: 1px solid var(--ems-line); font-size: 13px; font-weight: 600; color: var(--ems-navy2); }
.ems-tag { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.ems-tag-green { background: #EAF5E3; color: var(--ems-green-d); }
.ems-tag-blue { background: #E6EBF7; color: var(--ems-blue); }
.ems-tag-orange { background: #FEF0DF; color: #8F4400; }

/* ---------- Botones ---------- */
.ems-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px; border-radius: 12px; font-family: var(--ems-font-body); font-size: 16px; font-weight: 700; line-height: 1.2; text-decoration: none; transition: filter .15s ease, background-color .15s ease; }
.ems-btn-primary .elementor-button { background: var(--ems-cta); color: #FFFFFF; border: 0; }
.ems-btn-primary .elementor-button:hover, .ems-btn-primary .elementor-button:focus-visible { background: var(--ems-cta-hover); color: #FFFFFF; }
.ems-btn-dark .elementor-button { background: var(--ems-navy2); color: #FFFFFF; border: 0; }
.ems-btn-dark .elementor-button:hover { background: var(--ems-navy); color: #FFFFFF; }
.ems-btn-outline .elementor-button { background: #FFFFFF; color: var(--ems-navy2); border: 1.5px solid var(--ems-navy2); }
.ems-btn-outline .elementor-button:hover { background: var(--ems-surface); color: var(--ems-navy2); }
.ems-btn-outline-dark .elementor-button { background: transparent; color: #FFFFFF; border: 1.5px solid #8494C4; }
.ems-btn-sm .elementor-button { min-height: 46px; padding: 0 20px; font-size: 15px; }
.ems-btn-block, .ems-btn-block .elementor-button { width: 100%; }
.ems-link .elementor-button { background: transparent; border: 0; padding: 0; min-height: 0; color: var(--ems-blue); font-weight: 700; font-size: 15px; }
.ems-link .elementor-button:hover { color: var(--ems-navy2); text-decoration: underline; }
.elementor-button:focus-visible, .ems a:focus-visible { outline: 3px solid var(--ems-blue); outline-offset: 2px; }

/* ---------- Header ---------- */
.ems-strip { display: flex; height: 4px; }
.ems-strip i { flex: 1; display: block; }
.ems-strip i:nth-child(1) { background: var(--ems-green); }
.ems-strip i:nth-child(2) { background: var(--ems-orange); }
.ems-strip i:nth-child(3) { background: var(--ems-yellow); }
.ems-strip i:nth-child(4) { background: var(--ems-blue); }
.ems-topbar .elementor-icon-list-text { color: var(--ems-on-navy2); font-size: 13px; }
.ems-topbar .elementor-icon-list-icon svg { fill: var(--ems-yellow); width: 14px; height: 14px; }
.ems-topbar a:hover .elementor-icon-list-text { color: #FFFFFF; }
.ems-logo a { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ems-ink); }
.ems-logo img { width: 44px; height: 44px; display: block; }
.ems-logo .ems-logo-t { display: flex; flex-direction: column; line-height: 1; }
.ems-logo .ems-logo-a { font-family: var(--ems-font-head); font-weight: 800; font-size: 26px; letter-spacing: -0.01em; }
.ems-logo .ems-logo-b { font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ems-muted); margin-top: 3px; }
.ems-logo.ems-logo-dark a { color: #FFFFFF; }
.ems-logo.ems-logo-dark .ems-logo-b { color: #9FB0D6; }
.ems-logo.ems-logo-dark .ems-logo-mark { background: #FFFFFF; border-radius: 10px; padding: 5px; display: block; }
.ems-logo.ems-logo-dark img { width: 38px; height: 38px; }
.ems-search .e-search-input, .ems-search input[type="search"] { border: 1.5px solid var(--ems-field) !important; border-radius: 12px !important; background: #FFFFFF !important; min-height: 48px; font-size: 15px; color: var(--ems-ink); }
.ems-wa { text-decoration: none; }
.ems-wa .elementor-icon-box-wrapper { display: flex; align-items: center; gap: 10px; }
.ems-wa .elementor-icon-box-icon { margin: 0 !important; }
.ems-wa .elementor-icon { width: 40px; height: 40px; border-radius: 999px; background: #EAF5E3; display: grid; place-items: center; }
.ems-wa .elementor-icon svg { width: 20px; height: 20px; fill: var(--ems-green-d); }
.ems-wa .elementor-icon-box-title { margin: 0; font-family: var(--ems-font-body); font-size: 15px; font-weight: 700; color: var(--ems-ink); order: 2; }
.ems-wa .elementor-icon-box-description { margin: 0; font-size: 12px; color: var(--ems-muted); order: 1; }
.ems-wa .elementor-icon-box-content { display: flex; flex-direction: column; line-height: 1.2; }
.ems-iconlink { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; color: var(--ems-ink); }
.ems-iconlink:hover { background: var(--ems-surface); color: var(--ems-ink); }
.ems-iconlink svg { width: 22px; height: 22px; }
.ems-nav .elementor-nav-menu--main .elementor-item { font-family: var(--ems-font-body); font-size: 15px; font-weight: 600; color: var(--ems-ink); padding: 0 12px; line-height: 52px; }
.ems-nav .elementor-nav-menu--main .elementor-item:hover, .ems-nav .elementor-nav-menu--main .elementor-item.highlighted { color: var(--ems-blue); }
.ems-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--ems-ink); }
.ems-nav .elementor-nav-menu--dropdown { background: #FFFFFF; border: 1px solid var(--ems-line2); border-radius: 0 0 14px 14px; box-shadow: 0 24px 48px rgba(15, 27, 61, .16); }
.ems-nav .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children:first-child > .sub-menu { column-count: 3; column-gap: 8px; padding: 16px; width: 680px !important; max-width: 680px !important; }
.ems-nav .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children:first-child > .sub-menu > li { break-inside: avoid; }
.ems-topbar .elementor-icon-list-items { flex-wrap: nowrap; }
.ems-topbar .elementor-icon-list-item { white-space: nowrap; }
.ems-nav .elementor-nav-menu--dropdown a, .ems-nav .sub-menu .elementor-sub-item { font-size: 14px; color: var(--ems-muted); padding: 10px 14px; border-radius: 8px; }
.ems-nav .sub-menu .elementor-sub-item:hover { background: var(--ems-surface); color: var(--ems-ink); }
.ems-nav-mob .elementor-menu-toggle { background: transparent; color: var(--ems-ink); width: 44px; height: 44px; }
.ems-nav-mob .elementor-menu-toggle svg { fill: var(--ems-ink); }
.ems-nav-mob .elementor-nav-menu--dropdown a { font-size: 16px; font-weight: 600; color: var(--ems-ink); padding: 14px 16px; border-bottom: 1px solid #EEF1F6; }
.ems-nav-mob .elementor-nav-menu--dropdown .sub-menu a { font-weight: 500; color: var(--ems-muted); padding-left: 28px; }

/* ---------- Tarjetas y grillas ---------- */
.e-con.ems-card { background: #FFFFFF; border: 1px solid var(--ems-line); border-radius: 18px; overflow: hidden; }
.e-con.ems-card-soft { background: var(--ems-surface); border: 1px solid var(--ems-line2); border-radius: 18px; text-decoration: none; color: var(--ems-ink); transition: border-color .15s ease, box-shadow .15s ease; }
a.e-con.ems-card:hover, a.e-con.ems-card-soft:hover { border-color: #B8C2D6; box-shadow: 0 12px 28px rgba(15, 27, 61, .08); }
.ems-card-text h3, .ems-card-text .ems-t { margin: 0 0 8px; font-family: var(--ems-font-head); font-weight: 700; font-size: 20px; line-height: 1.3; color: var(--ems-ink); }
.ems-card-text p { margin: 0 0 8px; font-size: 15px; line-height: 1.55; color: var(--ems-muted); }
.ems-card-text .ems-more { display: inline-block; margin-top: 4px; font-size: 15px; font-weight: 700; color: var(--ems-blue); }
.ems-card-text .ems-tag { margin-bottom: 10px; }
.ems-cat-img img { width: 100%; height: 180px; object-fit: contain; mix-blend-mode: multiply; }
.ems-cover img { width: 100%; height: 220px; object-fit: cover; display: block; }
.ems-chip { text-decoration: none; }
.ems-chip .elementor-icon-box-wrapper { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 0 18px; border: 1px solid var(--ems-line); border-radius: 14px; background: #FFFFFF; }
.ems-chip .elementor-icon-box-icon { margin: 0 !important; }
.ems-chip .elementor-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; }
.ems-chip .elementor-icon svg { width: 20px; height: 20px; }
.ems-chip .elementor-icon-box-title { margin: 0; font-family: var(--ems-font-body); font-size: 15px; font-weight: 600; color: var(--ems-ink); }
.ems-chip .elementor-icon-box-title a { color: inherit; }

/* Tintes de íconos: uno por cuadrante del logo */
.ems-tint-blue .elementor-icon { background: #E6EBF7; } .ems-tint-blue .elementor-icon svg { fill: var(--ems-blue); }
.ems-tint-orange .elementor-icon { background: #FEF0DF; } .ems-tint-orange .elementor-icon svg { fill: #B35500; }
.ems-tint-green .elementor-icon { background: #EAF5E3; } .ems-tint-green .elementor-icon svg { fill: var(--ems-green-d); }
.ems-tint-yellow .elementor-icon { background: #FDF9D2; } .ems-tint-yellow .elementor-icon svg { fill: #6B5D00; }

/* Credenciales */
.ems-cred .elementor-icon-box-wrapper { display: flex; gap: 14px; align-items: flex-start; text-align: left; }
.ems-cred .elementor-icon-box-icon { margin: 0 !important; }
.ems-cred .elementor-icon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; }
.ems-cred .elementor-icon svg { width: 24px; height: 24px; }
.ems-cred .elementor-icon-box-title { margin: 0 0 4px; font-family: var(--ems-font-body); font-size: 16px; font-weight: 700; color: var(--ems-ink); }
.ems-cred .elementor-icon-box-description { margin: 0; font-size: 14px; line-height: 1.45; color: var(--ems-muted); }
.ems-feat .elementor-icon { background: #FFFFFF; border: 1px solid var(--ems-line); }
.ems-feat.elementor-widget-icon-box .elementor-icon-box-wrapper { display: flex !important; flex-direction: column; align-items: flex-start !important; text-align: left !important; gap: 12px; }
.ems-feat .elementor-icon-box-title { font-size: 16px; }
.ems-feat .elementor-icon-box-description { font-size: 15px; line-height: 1.55; }
.ems-chip .elementor-icon-box-content { display: flex; align-items: center; }
.ems-chip .elementor-icon-box-title { line-height: 1.3; }

/* Listas con check y pasos */
.ems-checks .elementor-icon-list-icon svg { fill: var(--ems-green-d); width: 16px; height: 16px; }
.ems-checks .elementor-icon-list-text { font-size: 14px; color: var(--ems-muted); }
ul.ems-ticks { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
ul.ems-ticks li { position: relative; padding-left: 30px; font-size: 15px; line-height: 1.5; color: var(--ems-ink); }
ul.ems-ticks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; background: no-repeat center / 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6618' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E"); }
ul.ems-ticks li.ems-warn { color: var(--ems-muted); }
ul.ems-ticks li.ems-warn::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5672' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E"); }
ol.ems-steps { list-style: none; counter-reset: ems; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
ol.ems-steps li { counter-increment: ems; position: relative; padding: 4px 0 0 44px; min-height: 30px; font-size: 15px; line-height: 1.55; color: var(--ems-ink); }
ol.ems-steps li::before { content: counter(ems); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 999px; background: var(--ems-navy2); color: #FFFFFF; font-weight: 700; font-size: 14px; display: grid; place-items: center; }

/* Encabezados de sección y anchos automáticos en filas */
.e-con.ems-auto { --width: auto; flex: 1 1 auto; }
.e-con.ems-head { max-width: 760px; }
.e-con.ems-head.ems-head-c { margin-left: auto; margin-right: auto; text-align: center; }

/* Hero */
.ems-hero-media { position: relative; }
.ems-hero-media > .elementor-widget-html { position: absolute; top: 18px; left: 18px; z-index: 2; width: auto; }
.ems-hero-media > .elementor-widget-html .ems-hero-chip { position: static; }
.ems-hero-img img { width: 100%; height: auto; aspect-ratio: 1000 / 690; object-fit: cover; border-radius: 22px; display: block; }
.ems-hero-chip { position: absolute; top: 18px; left: 18px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 10px; background: var(--ems-navy); color: #FFFFFF; font-size: 13px; font-weight: 600; }
.e-con.ems-hero-card { position: absolute; right: 18px; bottom: -28px; z-index: 2; width: 300px; background: #FFFFFF; border-radius: 16px; box-shadow: 0 18px 40px rgba(15, 27, 61, .18); }
.ems-hero-card p { margin: 0 0 10px; font-family: var(--ems-font-head); font-weight: 700; font-size: 15px; color: var(--ems-ink); }
.ems-hero-card ul.ems-ticks { margin: 0; gap: 8px; }
.ems-hero-card ul.ems-ticks li { font-size: 14px; }

/* Sistemas */
.e-con.ems-sys { border-top: 6px solid var(--ems-green); }
.e-con.ems-sys.ems-sys-blue { border-top-color: var(--ems-blue); }
.e-con.ems-sys.ems-sys-orange { border-top-color: var(--ems-orange); }
.ems-diag { display: flex; align-items: flex-start; gap: 4px; padding: 14px 10px; border-radius: 12px; background: var(--ems-surface); margin: 4px 0 6px; }
.ems-diag span { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; color: var(--ems-muted); text-align: center; }
.ems-diag svg { width: 26px; height: 26px; flex: none; }
.ems-diag .ems-arr { width: 14px; height: 26px; }

/* Calculadora */
.ems-calc { display: flex; flex-direction: column; gap: 20px; max-width: 520px; }
.ems-calc label, .ems-calc legend { font-size: 14px; font-weight: 600; color: #FFFFFF; padding: 0; margin: 0 0 8px; display: block; }
.ems-calc select, .ems-calc .ems-calc-num { width: 100%; height: 50px; border-radius: 12px; border: 1.5px solid #FFFFFF; background: #FFFFFF; color: var(--ems-ink); font-size: 15px; padding: 0 14px; box-sizing: border-box; }
.ems-calc .ems-calc-num { display: flex; align-items: center; gap: 8px; }
.ems-calc .ems-calc-num input { flex: 1; min-width: 0; border: 0; height: 46px; font-size: 15px; color: var(--ems-ink); outline: none; background: transparent; padding: 0; }
.ems-calc .ems-calc-num span { font-size: 14px; font-weight: 600; color: var(--ems-muted); }
.ems-calc .ems-help { font-size: 13px; line-height: 1.5; color: var(--ems-on-navy); margin-top: 8px; }
.ems-calc fieldset { border: 0; padding: 0; margin: 0; }
.ems-seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ems-seg button { min-height: 48px; border-radius: 12px; font-size: 14px; font-weight: 600; cursor: pointer; background: transparent; color: #FFFFFF; border: 1.5px solid var(--ems-field-dark); padding: 6px 8px; line-height: 1.25; }
.ems-seg button[aria-pressed="true"] { background: #FFFFFF; color: var(--ems-navy); border-color: #FFFFFF; }
.ems-calc .ems-go { min-height: 54px; border: 0; border-radius: 12px; background: var(--ems-cta); color: #FFFFFF; font-size: 16px; font-weight: 700; cursor: pointer; }
.ems-calc .ems-go:hover, .ems-calc .ems-go:focus-visible { background: var(--ems-cta-hover); }
.ems-res { background: #FFFFFF; color: var(--ems-ink); border-radius: 22px; padding: 32px; display: flex; flex-direction: column; gap: 20px; }
.ems-res .ems-tag { align-self: flex-start; text-transform: uppercase; letter-spacing: 0.04em; }
.ems-res .ems-res-k { font-size: 14px; color: var(--ems-muted); }
.ems-res .ems-res-v { font-family: var(--ems-font-head); font-weight: 800; font-size: 34px; line-height: 1.1; margin-top: 2px; }
.ems-res .ems-res-n { margin: 6px 0 0; font-size: 15px; line-height: 1.55; color: var(--ems-muted); }
.ems-res dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ems-res dl div { border: 1px solid var(--ems-line); border-radius: 14px; padding: 14px 16px; }
.ems-res dt { font-size: 13px; color: var(--ems-muted); }
.ems-res dd { margin: 6px 0 0; font-family: var(--ems-font-head); font-weight: 700; font-size: 20px; color: var(--ems-ink); }
.ems-res .ems-res-box { background: var(--ems-surface); border-radius: 14px; padding: 16px 18px; font-size: 14px; line-height: 1.6; color: var(--ems-muted); }
.ems-res .ems-res-box strong { color: var(--ems-ink); }
.ems-res .ems-res-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ems-res .ems-res-actions a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; border-radius: 12px; font-weight: 700; font-size: 15px; text-decoration: none; }
.ems-res .ems-a-dark { background: var(--ems-navy2); color: #FFFFFF; }
.ems-res .ems-a-out { border: 1.5px solid var(--ems-navy2); color: var(--ems-navy2); }

/* Productos destacados (loop) */
.e-con.ems-prod { background: #FFFFFF; border: 1px solid var(--ems-line); border-radius: 18px; overflow: hidden; height: 100%; }
.ems-prod-img img { width: 100%; height: 200px; object-fit: contain; mix-blend-mode: multiply; }
.ems-prod-title .elementor-heading-title { font-family: var(--ems-font-head); font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--ems-ink); }
.ems-prod-title .elementor-heading-title a { color: inherit; }
.ems-prod-price, .ems-prod-price p, .ems-prod-price .amount { font-family: var(--ems-font-head); font-weight: 700; font-size: 22px; color: var(--ems-ink); margin: 0; }
.ems-prod-price del { font-size: 15px; color: var(--ems-muted); font-weight: 500; }
.ems-loop .elementor-loop-container { gap: 24px; }

/* Ingeniería: figuras */
.ems-fig figure { margin: 0; }
.ems-fig img { width: 100%; aspect-ratio: 1 / 1.25; object-fit: cover; border-radius: 16px; display: block; }
.ems-fig figcaption, .ems-fig .widget-image-caption { margin-top: 10px; font-size: 13px; line-height: 1.45; color: var(--ems-muted); text-align: left; }

/* Proyectos (tarjeta horizontal) */
a.e-con.ems-srv { text-decoration: none; color: var(--ems-ink); }
.ems-srv-img img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; display: block; }

/* Marcas */
.e-con.ems-logo-tile { background: #FFFFFF; border-radius: 12px; min-height: 72px; justify-content: center; align-items: center; }
.ems-brand img { max-height: 40px; width: auto; max-width: 100%; object-fit: contain; }
.ems-h-small .elementor-heading-title { font-family: var(--ems-font-body); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ems-muted); text-align: center; }

/* FAQ */
.ems-faq .e-n-accordion { background: #FFFFFF; border: 1px solid var(--ems-line); border-radius: 18px; padding: 4px 28px; }
.ems-faq .e-n-accordion-item + .e-n-accordion-item { border-top: 1px solid var(--ems-line); }
.ems-faq .e-n-accordion-item-title { padding: 20px 0 !important; min-height: 64px; border: 0 !important; background: transparent !important; flex-direction: row !important; justify-content: space-between !important; text-align: left; }
.ems-faq .e-n-accordion-item-title-header { flex: 1 1 auto; justify-content: flex-start !important; }
.ems-faq .e-n-accordion-item-title-header { order: 1; }
.ems-faq .e-n-accordion-item-title-icon { order: 2; margin-left: 16px; }
.ems-faq .e-n-accordion-item > .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 20px; --padding-left: 0px; border: 0 !important; }
.ems-small-dark, .ems-small-dark p { color: var(--ems-on-navy) !important; }
.ems-faq .e-n-accordion-item-title-text { font-family: var(--ems-font-head); font-weight: 600; font-size: 17px; color: var(--ems-ink); }
.ems-faq .e-n-accordion-item-title-icon svg { fill: var(--ems-ink); }
.ems-faq .e-n-accordion-item > .e-con { padding: 0 0 20px; border: 0; }
.ems-faq .e-n-accordion-item .elementor-widget-text-editor p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--ems-muted); max-width: 640px; }

/* CTA visita técnica */
.e-con.ems-cta { background: var(--ems-navy2); border-radius: 28px; }
.ems-cta .elementor-icon-list-text { color: var(--ems-on-navy); font-size: 15px; }
.ems-cta .elementor-icon-list-icon svg { fill: var(--ems-sky); }
.ems-form { background: #FFFFFF; border-radius: 20px; padding: 28px; }
.ems-form .elementor-field-group > label { font-size: 14px; font-weight: 600; color: var(--ems-ink); margin-bottom: 6px; }
.ems-form .elementor-field-textual, .ems-form select { border: 1.5px solid var(--ems-field) !important; border-radius: 10px !important; min-height: 46px; font-size: 15px; color: var(--ems-ink); background: #FFFFFF; }
.ems-form .elementor-button { background: var(--ems-cta) !important; color: #FFFFFF !important; border-radius: 12px; min-height: 52px; font-size: 16px; font-weight: 700; width: 100%; }
.ems-form .elementor-button:hover, .ems-footer .ems-news .elementor-button:hover { background: var(--ems-cta-hover) !important; }
.ems-form .elementor-button .elementor-button-text, .ems-news .elementor-button .elementor-button-text { color: #FFFFFF !important; }
/* Captación por segmento: .elementor-kit-35 Persona natural / Empresa y un formulario para cada uno */
.ems-who { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 6px; border: 1px solid var(--ems-field-dark); border-radius: 14px; background: var(--ems-navy); }
.ems-who button { min-height: 46px; border: 0; border-radius: 10px; background: transparent; color: #FFFFFF; font-family: var(--ems-font-body); font-size: 15px; font-weight: 700; cursor: pointer; }
.ems-who button[aria-pressed="true"] { background: #FFFFFF; color: var(--ems-navy); }
.ems-who button:focus-visible { outline: 3px solid var(--ems-sky); outline-offset: 2px; }
.ems-cta-forms:not(.is-empresa) .ems-form-empresa, .ems-cta-forms.is-empresa .ems-form-persona { display: none; }
.ems-form .elementor-message { font-size: 14px; }

/* ---------- Footer ---------- */
.e-con.ems-footer { background: var(--ems-navy); }
.ems-footer .ems-body p, .ems-footer .elementor-icon-list-text { color: var(--ems-on-navy2); font-size: 14px; }
.ems-footer a .elementor-icon-list-text:hover { color: #FFFFFF; }
.ems-footer .elementor-icon-list-icon svg { fill: var(--ems-sky); }
.ems-ft-title .elementor-heading-title { font-family: var(--ems-font-head); font-weight: 600; font-size: 15px; color: #FFFFFF; }
.ems-footer .ems-news .elementor-field-textual { background: var(--ems-navy2) !important; border: 1.5px solid var(--ems-field-dark) !important; color: #FFFFFF !important; border-radius: 10px !important; min-height: 46px; }
.ems-footer .ems-news .elementor-field-textual::placeholder { color: #B9C4DE; }
.ems-footer .ems-news .elementor-button { background: var(--ems-cta) !important; color: #FFFFFF !important; font-weight: 700; border-radius: 10px; min-height: 46px; }
.ems-social .elementor-social-icon { background: transparent; border: 1.5px solid var(--ems-field-dark); border-radius: 12px; width: 44px; height: 44px; display: inline-grid; place-items: center; }
.ems-social .elementor-social-icon svg { fill: var(--ems-on-navy2); width: 20px; height: 20px; }
.ems-ft-bottom { border-top: 1px solid #24325E; }
.ems-ft-bottom, .ems-ft-bottom p { font-size: 13px; color: #9FB0D6; margin: 0; }
.ems-ft-bottom a { color: var(--ems-on-navy2); text-decoration: underline; }
.ems-paypills { display: flex; gap: 8px; }
.ems-paypills span { padding: 4px 10px; border-radius: 6px; border: 1px solid var(--ems-field-dark); color: var(--ems-on-navy2); font-weight: 600; font-size: 13px; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .ems-h1 .elementor-heading-title { font-size: 44px; }
  .ems-nav .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children:first-child > .sub-menu { grid-template-columns: repeat(2, minmax(180px, 1fr)); min-width: 440px; }
}
@media (max-width: 767px) {
  .ems-h1 .elementor-heading-title { font-size: 33px; line-height: 1.12; }
  .ems-h1 .ems-h1-kw { font-size: 15px; margin-bottom: 12px; }
  .ems-h2 .elementor-heading-title { font-size: 26px; }
  .ems-lead, .ems-lead p { font-size: 16px; }
  .ems-btn .elementor-button { width: 100%; }
  .e-con.ems-hero-card { position: static; width: auto; margin-top: 12px; box-shadow: none; border: 1px solid var(--ems-line); }
  .ems-cat-img img { height: 110px; }
  .ems-cover img { height: 160px; }
  .ems-res { padding: 20px; }
  .ems-res dl { grid-template-columns: minmax(0, 1fr); }
  .ems-seg { grid-template-columns: minmax(0, 1fr); }
  .ems-loop .elementor-loop-container { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px; }
  .ems-loop .elementor-loop-container > .e-loop-item { flex: 0 0 78%; scroll-snap-align: start; }
  .ems-faq .e-n-accordion { padding: 0 18px; }
  .ems-faq .e-n-accordion-item-title-text { font-size: 15px; }
  .ems-form { padding: 20px; }
  .ems-pill { font-size: 12px; line-height: 1.3; padding: 6px 12px; }
  /* Carruseles horizontales en móvil (sistemas y guías) */
  .e-con.ems-scroll-m { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px !important; }
  .e-con.ems-scroll-m > .e-con { flex: 0 0 86%; scroll-snap-align: start; }
  /* Proyectos: tarjeta horizontal compacta */
  a.e-con.ems-srv { flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch; }
  .ems-srv > .ems-card-text { flex: 1 1 auto; min-width: 0; width: auto !important; }
  .ems-srv > .ems-srv-img { width: 104px !important; flex: 0 0 104px; }
  .ems-srv-img img { height: 100%; min-height: 120px; }
  .ems-srv .ems-card-text { --padding-top: 14px; padding: 14px !important; }
  .ems-srv .ems-card-text h3 { font-size: 16px; margin-bottom: 4px; }
  .ems-srv .ems-card-text p { font-size: 13px; margin-bottom: 4px; }
  .ems-srv .ems-card-text .ems-more { font-size: 13px; }
  /* Credenciales compactas */
  .ems-cred.elementor-widget-icon-box .elementor-icon-box-wrapper { display: flex !important; flex-direction: column; align-items: flex-start !important; text-align: left !important; gap: 8px; }
  .ems-cred:not(.ems-feat) .elementor-icon-box-description { display: none; }
  .ems-cred .elementor-icon-box-title { font-size: 14px; line-height: 1.3; }
  .ems-feat.elementor-widget-icon-box .elementor-icon-box-wrapper { flex-direction: row; gap: 12px; }
  /* Chips en fila */
  .ems-chip.elementor-widget-icon-box .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: center !important; text-align: left !important; min-height: 52px; padding: 0 12px; }
  .ems-chip .elementor-icon-box-title { font-size: 14px; }
  .ems-card-text h3, .ems-card-text .ems-t { font-size: 18px; }
  /* Compactación móvil */
  .ems-srv .ems-card-text p, .ems-card-soft .ems-card-text p { display: none; }
  .ems-card-soft .ems-card-text .ems-t { font-size: 16px; margin-bottom: 4px; }
  .ems-res:not(.is-on) { display: none; }
  .ems-res .ems-res-actions a { width: 100%; justify-content: center; text-align: center; }
  .ems-cover img { height: 120px; }
  .ems-card .ems-small { display: none; }
  .ems-cta .elementor-widget-icon-list { display: none; }
  .ems-ft > .e-con:first-child, .ems-ft > .e-con:last-child { grid-column: 1 / -1; }
  .ems-footer .elementor-icon-list-text { font-size: 13px; }
}

/* EMS-FIN *//* End custom CSS */