
/* =========================================================
   ENCABEZADO PRINCIPAL LIMPIO
   ========================================================= */

@media (min-width: 1025px) {
  /* Encabezado de ancho completo */
  #header,
  #elementor-header-top,
  #elementor-header-top-sticky {
    width: 100%;
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Elimina la apariencia de tarjeta exterior */
  #elementor-header-top > .elementor > .e-con.e-parent,
  #elementor-header-top-sticky > .elementor > .e-con.e-parent {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 32px !important;

    background-color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Centra el contenido sin cortar el fondo */
  #elementor-header-top > .elementor > .e-con.e-parent > .e-con-inner,
  #elementor-header-top-sticky > .elementor > .e-con.e-parent > .e-con-inner {
    width: 100% !important;
    max-width: 1440px !important;
    min-height: 104px;
    margin: 0 auto !important;
    padding: 0 !important;

    align-items: center;
  }

  /* Contenedor interno principal */
  #elementor-header-top [data-id="25092da"],
  #elementor-header-top-sticky [data-id="c0cf96e"] {
    width: 100% !important;
    max-width: none !important;

    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Logo */
  #elementor-header-top .site-brand img,
  #elementor-header-top-sticky .site-brand img {
    display: block;
    width: auto;
    max-width: 190px;
    height: auto;
  }

  /* Elimina la cápsula gris del menú */
  #elementor-header-top [data-id="488e562"],
  #elementor-header-top-sticky [data-id="3f88a54"],
  #elementor-header-top .menuzord,
  #elementor-header-top-sticky .menuzord,
  #elementor-header-top .menuzord-menu,
  #elementor-header-top-sticky .menuzord-menu {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Distribución del menú */
  #elementor-header-top .menuzord-menu,
  #elementor-header-top-sticky .menuzord-menu {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  /* Enlaces principales */
  #elementor-header-top .menuzord-menu > li > a,
  #elementor-header-top-sticky .menuzord-menu > li > a {
    position: relative;

    display: flex;
    min-height: 72px;
    padding: 0 16px !important;

    align-items: center;
    justify-content: center;

    color: #00308d !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-size: 15px;
    font-weight: 600;
    text-decoration: none;

    transition: color 160ms ease;
  }

  /* Elimina decoraciones anteriores del tema */
  #elementor-header-top .menuzord-menu > li > a::before,
  #elementor-header-top-sticky .menuzord-menu > li > a::before {
    display: none !important;
    content: none !important;
  }

  /* Línea verde debajo del menú */
  #elementor-header-top .menuzord-menu > li > a::after,
  #elementor-header-top-sticky .menuzord-menu > li > a::after {
    position: absolute;
    right: 16px;
    bottom: 14px;
    left: 16px;

    height: 3px;

    background-color: #66b533;
    border-radius: 999px;

    content: "";
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;

    transition:
      opacity 160ms ease,
      transform 160ms ease;
  }

  /* Texto verde al pasar el mouse */
  #elementor-header-top .menuzord-menu > li:hover > a,
  #elementor-header-top .menuzord-menu > li > a:focus-visible,
  #elementor-header-top-sticky .menuzord-menu > li:hover > a,
  #elementor-header-top-sticky .menuzord-menu > li > a:focus-visible {
    color: #66b533 !important;
    outline: none;
  }

  /* Página seleccionada */
  #elementor-header-top .menuzord-menu > li.active > a,
  #elementor-header-top .menuzord-menu > li.current-menu-item > a,
  #elementor-header-top .menuzord-menu > li.current-page-item > a,
  #elementor-header-top .menuzord-menu > li.current-menu-parent > a,
  #elementor-header-top .menuzord-menu > li.current-menu-ancestor > a,
  #elementor-header-top-sticky .menuzord-menu > li.active > a,
  #elementor-header-top-sticky .menuzord-menu > li.current-menu-item > a,
  #elementor-header-top-sticky .menuzord-menu > li.current-page-item > a,
  #elementor-header-top-sticky .menuzord-menu > li.current-menu-parent > a,
  #elementor-header-top-sticky .menuzord-menu > li.current-menu-ancestor > a {
    color: #66b533 !important;
  }

  /* Muestra la línea en hover y en la página activa */
  #elementor-header-top .menuzord-menu > li:hover > a::after,
  #elementor-header-top .menuzord-menu > li > a:focus-visible::after,
  #elementor-header-top .menuzord-menu > li.active > a::after,
  #elementor-header-top .menuzord-menu > li.current-menu-item > a::after,
  #elementor-header-top .menuzord-menu > li.current-page-item > a::after,
  #elementor-header-top .menuzord-menu > li.current-menu-parent > a::after,
  #elementor-header-top .menuzord-menu > li.current-menu-ancestor > a::after,
  #elementor-header-top-sticky .menuzord-menu > li:hover > a::after,
  #elementor-header-top-sticky .menuzord-menu > li > a:focus-visible::after,
  #elementor-header-top-sticky .menuzord-menu > li.active > a::after,
  #elementor-header-top-sticky .menuzord-menu > li.current-menu-item > a::after,
  #elementor-header-top-sticky .menuzord-menu > li.current-page-item > a::after,
  #elementor-header-top-sticky .menuzord-menu > li.current-menu-parent > a::after,
  #elementor-header-top-sticky .menuzord-menu > li.current-menu-ancestor > a::after {
    opacity: 1;
    transform: scaleX(1);
  }

#elementor-header-top .menuzord-menu .dropdown,
#elementor-header-top-sticky .menuzord-menu .dropdown {
  background-color: #ffffff;
  border: 1px solid rgba(0, 48, 141, 0.1);
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(0, 48, 141, 0.12);

  /* Permite que aparezca el segundo nivel */
  overflow: visible;
}

/* Segundo nivel: opciones de Manejo Respiratorio */
#elementor-header-top
  .menuzord-menu
  .dropdown
  .dropdown,
#elementor-header-top-sticky
  .menuzord-menu
  .dropdown
  .dropdown {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(0, 48, 141, 0.14);
  z-index: 99999;
}



/* Oculta la selección anterior al abrir otra opción */
#elementor-header-top
  .menuzord-menu:hover
  > li.active:not(:hover)
  > a,
#elementor-header-top
  .menuzord-menu:hover
  > li.current-menu-item:not(:hover)
  > a,
#elementor-header-top-sticky
  .menuzord-menu:hover
  > li.active:not(:hover)
  > a,
#elementor-header-top-sticky
  .menuzord-menu:hover
  > li.current-menu-item:not(:hover)
  > a {
  color: #00308d !important;
}

#elementor-header-top
  .menuzord-menu:hover
  > li.active:not(:hover)
  > a::after,
#elementor-header-top
  .menuzord-menu:hover
  > li.current-menu-item:not(:hover)
  > a::after,
#elementor-header-top-sticky
  .menuzord-menu:hover
  > li.active:not(:hover)
  > a::after,
#elementor-header-top-sticky
  .menuzord-menu:hover
  > li.current-menu-item:not(:hover)
  > a::after {
  opacity: 0;
  transform: scaleX(0);
}

/* Reemplaza el signo + por una flecha */
#elementor-header-top
  .menuzord-menu
  .dropdown
  > li.menu-item-has-children
  > a
  .indicator,
#elementor-header-top-sticky
  .menuzord-menu
  .dropdown
  > li.menu-item-has-children
  > a
  .indicator {
  display: flex;
  width: 36px;
  height: 100%;

  position: absolute;
  top: 0;
  right: 10px;

  align-items: center;
  justify-content: center;

  color: transparent;
  font-size: 0;
  line-height: 1;
}

/* Dibuja la flecha */
#elementor-header-top
  .menuzord-menu
  .dropdown
  > li.menu-item-has-children
  > a
  .indicator::before,
#elementor-header-top-sticky
  .menuzord-menu
  .dropdown
  > li.menu-item-has-children
  > a
  .indicator::before {
  width: 8px;
  height: 8px;

  border-right: 2px solid #00308d;
  border-bottom: 2px solid #00308d;

  content: "";
  transform: rotate(-45deg);

  transition:
    border-color 160ms ease,
    transform 160ms ease;
}

/* Posiciona la flecha en el centro del enlace */
#elementor-header-top
  .menuzord-menu
  .dropdown
  > li.menu-item-has-children
  > a
  .indicator,
#elementor-header-top-sticky
  .menuzord-menu
  .dropdown
  > li.menu-item-has-children
  > a
  .indicator {
  display: flex;
  width: 28px;
  height: 28px;

  position: absolute;
  top: 50%;
  right: 14px;

  align-items: center;
  justify-content: center;

  color: transparent;
  font-size: 0;
  line-height: 1;

  transform: translateY(-50%);
}

  /* Call Center integrado en el encabezado */
  #elementor-header-top .contact-call-center,
  #elementor-header-top-sticky .contact-call-center {
    padding: 6px 0 6px 20px;

    background: transparent !important;
    border: none;
    border-left: 1px solid rgba(0, 48, 141, 0.15);
    border-radius: 0;
    box-shadow: none !important;
  }

  #elementor-header-top .contact-call-center .icon-box-wrapper,
  #elementor-header-top-sticky .contact-call-center .icon-box-wrapper {
    gap: 10px;
  }

  #elementor-header-top .contact-call-center .icon,
  #elementor-header-top-sticky .contact-call-center .icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;

    background-color: #00308d !important;

    transition:
      background-color 160ms ease,
      transform 160ms ease;
  }

  #elementor-header-top .contact-call-center .icon-box-title,
  #elementor-header-top-sticky .contact-call-center .icon-box-title {
    color: #15213a;
    font-size: 15px;
  }

  #elementor-header-top .contact-call-center .contact-availability,
  #elementor-header-top-sticky .contact-call-center .contact-availability {
    color: #687386;
    font-size: 11px;
  }

  #elementor-header-top .contact-call-center .content a,
  #elementor-header-top-sticky .contact-call-center .content a {
    color: #00308d;
    font-size: 13px;
  }

  #elementor-header-top .contact-call-center:hover,
  #elementor-header-top .contact-call-center:focus-visible,
  #elementor-header-top-sticky .contact-call-center:hover,
  #elementor-header-top-sticky .contact-call-center:focus-visible {
    background: transparent !important;
    border-left-color: #66b533;
    box-shadow: none !important;
    transform: none;
  }

  #elementor-header-top .contact-call-center:hover .icon,
  #elementor-header-top .contact-call-center:focus-visible .icon,
  #elementor-header-top-sticky .contact-call-center:hover .icon,
  #elementor-header-top-sticky .contact-call-center:focus-visible .icon {
    background-color: #66b533 !important;
    transform: scale(1.04);
  }
}


/* =========================================================
   ENCABEZADO COMPACTO AL HACER SCROLL
   ========================================================= */

@media (min-width: 1025px) {
  /* Barra fija */
  #elementor-header-top-sticky {
    background-color: #ffffff !important;
    border-bottom: 1px solid rgba(0, 48, 141, 0.08) !important;
    box-shadow: 0 6px 20px rgba(0, 48, 141, 0.08) !important;
  }

  /* Reduce la altura general */
  #elementor-header-top-sticky
    > .elementor
    > .e-con.e-parent
    > .e-con-inner {
    min-height: 70px !important;
  }

  #elementor-header-top-sticky
    > .elementor
    > .e-con.e-parent {
    padding-right: 32px !important;
    padding-left: 32px !important;
  }

  /* Logo más pequeño */
  #elementor-header-top-sticky .site-brand img {
    width: auto !important;
    max-width: 130px !important;
    max-height: 52px !important;
  }

  /* Menú más compacto */
  #elementor-header-top-sticky .menuzord-menu {
    gap: 6px;
  }

  #elementor-header-top-sticky .menuzord-menu > li > a {
    min-height: 62px;
    padding-right: 13px !important;
    padding-left: 13px !important;

    font-size: 14px;
  }

  /* Acerca la línea verde al texto */
  #elementor-header-top-sticky
    .menuzord-menu
    > li
    > a::after {
    right: 13px;
    bottom: 7px;
    left: 13px;

    height: 2px;
  }

  /* Call Center compacto */
  #elementor-header-top-sticky .contact-call-center {
    padding: 4px 0 4px 16px;

    border-left: 1px solid rgba(0, 48, 141, 0.15);
  }

  #elementor-header-top-sticky
    .contact-call-center
    .icon-box-wrapper {
    gap: 8px;
  }

  /* Icono telefónico más pequeño */
  #elementor-header-top-sticky .contact-call-center .icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;

    font-size: 16px !important;
  }

  #elementor-header-top-sticky .contact-call-center .icon i {
    font-size: 16px !important;
  }

  /* Oculta Call Center y el horario */
  #elementor-header-top-sticky
    .contact-call-center
    .icon-box-title,
  #elementor-header-top-sticky
    .contact-call-center
    .contact-availability {
    display: none !important;
  }

  /* Mantiene únicamente el número */
  #elementor-header-top-sticky .contact-call-center .icon-text {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #elementor-header-top-sticky .contact-call-center .content,
  #elementor-header-top-sticky .contact-call-center .content p {
    margin: 0 !important;
    padding: 0 !important;
  }

  #elementor-header-top-sticky
    .contact-call-center
    .content
    a {
    color: #00308d;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
  }

  #elementor-header-top-sticky
    .contact-call-center:hover
    .content
    a,
  #elementor-header-top-sticky
    .contact-call-center:focus-visible
    .content
    a {
    color: #66b533;
  }
}

/* Franjas verdes de todos los niveles del desplegable */
@media (min-width: 1025px) {
  .menuzord-menu ul.dropdown li > a {
    border-left: 6px solid transparent !important;
    box-shadow: none !important;
  }

  .menuzord-menu ul.dropdown li > a::before,
  .menuzord-menu ul.dropdown li > a::after {
    display: none !important;
    content: none !important;
  }

  .menuzord-menu ul.dropdown li:hover > a,
  .menuzord-menu ul.dropdown li:focus-within > a,
  .menuzord-menu ul.dropdown li.is-submenu-open > a,
  .menuzord-menu ul.dropdown li.current-menu-item > a,
  .menuzord-menu ul.dropdown li > a.is-current {
    color: #333 !important;
    background: #f7f7f7 !important;
    border-left-color: #66b533 !important;
  }

  /* Si se señala otra opción, se oculta temporalmente la franja de la
     página actual. Así nunca se ven dos selecciones en el mismo nivel. */
  .menuzord-menu ul.dropdown:hover
    > li.current-menu-item:not(:hover):not(:focus-within)
    > a,
  .menuzord-menu ul.dropdown:hover
    > li:not(:hover):not(:focus-within)
    > a.is-current {
    background: #fff !important;
    border-left-color: transparent !important;
  }

  /* Al entrar al segundo nivel, el elemento padre también conserva :hover.
     Se apaga su franja para que solo quede marcada la opción interna. */
  .menuzord-menu ul.dropdown
    > li.menu-item-has-children:has(> ul.dropdown:hover)
    > a,
  .menuzord-menu ul.dropdown
    > li.menu-item-has-children:has(> ul.dropdown li:focus-within)
    > a {
    background: #fff !important;
    border-left-color: transparent !important;
  }
}

/* Ninguna página queda seleccionada manualmente */
.menuzord-menu > li > a::after {
  transform: scaleX(0) !important;
}

/* Solamente la página detectada por JavaScript */
.menuzord-menu > li.active > a::after,
.menuzord-menu > li > a.is-current::after {
  transform: scaleX(1) !important;
}

.menuzord-menu > li.active > a,
.menuzord-menu > li > a.is-current {
  color: #66b533 !important;
}

/* =========================================================
   NAVEGACIÓN PARA TABLET Y CELULAR
   Independiente de Elementor: conserva el HTML compartido,
   pero controla por completo la apertura y el aspecto móvil.
   ========================================================= */

@media (max-width: 1024px) {
  body.mobile-menu-lock {
    overflow: hidden !important;
  }

  #elementor-header-top,
  #elementor-header-top-sticky {
    display: none !important;
  }

  #elementor-header-top-mobile,
  #tm-header-mobile,
  #tm-header-mobile #tm-header-main,
  #tm-header-mobile #tm-header-main > .container-fluid,
  #tm-header-mobile #tm-header-main > .container-fluid > .row {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fbf7f2 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #elementor-header-top-mobile {
    position: relative !important;
    z-index: 10020 !important;
  }

  #tm-header-mobile #tm-header-main {
    position: relative !important;
    height: 82px !important;
    border-bottom: 1px solid rgba(0, 48, 141, 0.09) !important;
  }

  #tm-header-mobile .tm-header-branding {
    position: absolute !important;
    top: 50% !important;
    left: clamp(18px, 5vw, 34px) !important;
    display: flex !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
  }

  #tm-header-mobile .tm-header-branding .site-brand,
  #tm-header-mobile .tm-header-branding img {
    display: block !important;
  }

  #tm-header-mobile .tm-header-branding .logo-default {
    width: 132px !important;
    max-width: 32vw !important;
    height: auto !important;
    margin: 0 !important;
  }

  #tm-header-mobile .tm-header-branding .logo-mobile-version {
    display: none !important;
  }

  #tm-header-mobile #tm-nav-mobile {
    position: absolute !important;
    top: 50% !important;
    right: clamp(14px, 4vw, 28px) !important;
    display: block !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 10024 !important;
  }

  #tm-header-mobile .tm-nav-mobile-button {
    position: relative !important;
    display: block !important;
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    cursor: pointer !important;
    background: #edf4e8 !important;
    border: 1px solid rgba(102, 181, 51, 0.24) !important;
    border-radius: 50% !important;
  }

  #tm-header-mobile .tm-nav-mobile-button::before,
  #tm-header-mobile .tm-nav-mobile-button::after,
  #tm-header-mobile .tm-nav-mobile-button > span {
    position: absolute !important;
    left: 14px !important;
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    margin: 0 !important;
    background: #00308d !important;
    border-radius: 999px !important;
    content: "" !important;
    transition: transform 180ms ease, opacity 180ms ease, top 180ms ease !important;
  }

  #tm-header-mobile .tm-nav-mobile-button::before { top: 16px !important; }
  #tm-header-mobile .tm-nav-mobile-button > span { top: 23px !important; }
  #tm-header-mobile .tm-nav-mobile-button::after { top: 30px !important; }

  #tm-header-mobile.is-mobile-menu-open .tm-nav-mobile-button::before {
    top: 23px !important;
    transform: rotate(45deg) !important;
  }

  #tm-header-mobile.is-mobile-menu-open .tm-nav-mobile-button > span {
    opacity: 0 !important;
  }

  #tm-header-mobile.is-mobile-menu-open .tm-nav-mobile-button::after {
    top: 23px !important;
    transform: rotate(-45deg) !important;
  }

  #tm-header-mobile .tm-header-menu {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    display: block !important;
    visibility: visible !important;
    width: min(390px, 92vw) !important;
    max-width: none !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    background: #fbf7f2 !important;
    border: 0 !important;
    box-shadow: -18px 0 44px rgba(0, 32, 92, 0.2) !important;
    overflow: hidden !important;
    transform: translateX(105%) !important;
    transition: transform 220ms ease !important;
    z-index: 10022 !important;
  }

  #tm-header-mobile.is-mobile-menu-open .tm-header-menu {
    transform: translateX(0) !important;
  }

  #tm-header-mobile .tm-header-menu-backdrop {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    visibility: hidden !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    opacity: 0 !important;
    background: rgba(0, 24, 70, 0.48) !important;
    transition: opacity 180ms ease, visibility 180ms ease !important;
    z-index: 10021 !important;
  }

  #tm-header-mobile.is-mobile-menu-open .tm-header-menu-backdrop {
    visibility: visible !important;
    opacity: 1 !important;
  }

  #tm-header-mobile .tm-header-menu-scroll {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 76px 18px 22px !important;
    flex-direction: column !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  #tm-header-mobile .tm-menu-close {
    display: none !important;
  }

  #tm-header-mobile .elementor,
  #tm-header-mobile .elementor-element,
  #tm-header-mobile .elementor-widget-container,
  #tm-header-mobile .e-con-inner,
  #tm-header-mobile .tm-sc-simple-nav-menu {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #tm-header-mobile [data-id="b4c60aa"] {
    display: block !important;
    margin: 0 0 22px !important;
    padding: 0 8px 18px !important;
    border-bottom: 1px solid rgba(0, 48, 141, 0.1) !important;
  }

  #tm-header-mobile [data-id="b4c60aa"] img {
    display: block !important;
    width: 144px !important;
    max-width: 48vw !important;
    height: auto !important;
  }

  #tm-header-mobile #menu-principal,
  #tm-header-mobile #menu-principal ul {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #tm-header-mobile #menu-principal li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  #tm-header-mobile #menu-principal a {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 0 5px !important;
    padding: 12px 46px 12px 15px !important;
    align-items: center !important;
    color: #00308d !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
  }

  #tm-header-mobile #menu-principal a:hover,
  #tm-header-mobile #menu-principal a:focus-visible,
  #tm-header-mobile #menu-principal a.is-current {
    color: #00308d !important;
    background: #edf4e8 !important;
    outline: none !important;
  }

  #tm-header-mobile #menu-principal a.is-current::before {
    position: absolute !important;
    top: 12px !important;
    bottom: 12px !important;
    left: 0 !important;
    width: 4px !important;
    background: #66b533 !important;
    border-radius: 999px !important;
    content: "" !important;
  }

  #tm-header-mobile #menu-principal .tm-nav-arrow-icon {
    display: none !important;
  }

  #tm-header-mobile #menu-principal .menu-item-has-children > a::after {
    position: absolute !important;
    top: 50% !important;
    right: 17px !important;
    width: 9px !important;
    height: 9px !important;
    border-right: 2px solid #66b533 !important;
    border-bottom: 2px solid #66b533 !important;
    content: "" !important;
    transform: translateY(-70%) rotate(45deg) !important;
    transition: transform 160ms ease !important;
  }

  #tm-header-mobile #menu-principal .menu-item-has-children.is-submenu-open > a::after {
    transform: translateY(-30%) rotate(225deg) !important;
  }

  #tm-header-mobile #menu-principal .sub-menu {
    display: none !important;
    margin: 4px 0 8px !important;
    padding: 6px 0 6px 12px !important;
    border-left: 1px solid rgba(102, 181, 51, 0.28) !important;
  }

  #tm-header-mobile #menu-principal .is-submenu-open > .sub-menu {
    display: block !important;
  }

  #tm-header-mobile #menu-principal .sub-menu a {
    min-height: 45px !important;
    margin-bottom: 2px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: 14px !important;
    font-weight: 550 !important;
  }

  #tm-header-mobile #menu-principal .sub-menu .sub-menu a {
    color: #33425c !important;
    font-size: 13px !important;
  }

  #tm-header-mobile .mobile-menu-call-center {
    display: flex !important;
    width: 100% !important;
    margin: auto 0 0 !important;
    padding: 18px !important;
    flex-direction: column !important;
    background: #eef5e9 !important;
    border: 1px solid rgba(102, 181, 51, 0.25) !important;
    border-radius: 18px !important;
  }

  #tm-header-mobile .mobile-menu-call-center__eyebrow {
    margin-bottom: 5px !important;
    color: #4f9228 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  #tm-header-mobile .mobile-menu-call-center strong {
    color: #00308d !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  #tm-header-mobile .mobile-menu-call-center small {
    margin: 5px 0 14px !important;
    color: #5b5b5b !important;
    font-size: 12px !important;
  }

  #tm-header-mobile .mobile-menu-call-center > a {
    display: flex !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 10px 14px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    color: #fff !important;
    background: #00308d !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    text-align: center !important;
    text-decoration: none !important;
  }
}

@media (max-width: 480px) {
  #tm-header-mobile .tm-header-menu {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #tm-header-mobile .tm-header-menu,
  #tm-header-mobile .tm-header-menu-backdrop,
  #tm-header-mobile .tm-nav-mobile-button::before,
  #tm-header-mobile .tm-nav-mobile-button::after,
  #tm-header-mobile .tm-nav-mobile-button > span {
    transition: none !important;
  }
}

@media (max-width: 1024px) {
  #tm-header-mobile .tm-nav-mobile-button {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}