/* Client artwork: 75.732px white capsule, 29.748px private-area button at 16px/rem. */
.menu-superior .cabecera {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-block: 0 !important;
    border: 0 !important;
    overflow: visible;
}
.menu-superior .cabecera > .e-con-inner {
    min-height: 4.75rem;
    height: auto !important;
    padding-block: .5625rem !important;
    max-width: none !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.5625rem;
}
.menu-superior .elementor-element-ff1ec86 {
    width: 14.9375rem !important;
    flex: 0 0 14.9375rem !important;
}
.menu-superior .elementor-element-0aa4aeb {
    width: auto !important;
    min-width: 0;
    /* Elementor's generic container flex rule can arrive after this stylesheet
       on archive/single templates. Keep the shared header layout independent
       of that load order, just as its explicit widths and padding already are. */
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding-left: clamp(2.5rem, 7vw, 8.5rem) !important;
}
.menu-superior .elementor-element-a8a5820 {
    width: auto !important;
    flex: 0 0 auto !important;
}
.menu-superior .elementor-element-a2fd2e0 { width: 100% !important; }
.menu-superior .pfti-header-navigation {
    display: flex;
    width: 100%;
    align-items: center;
    gap: clamp(3rem, 9.5vw, 12rem);
}
.menu-superior .pfti-header-navigation > .wcf__nav-menu { flex: 1 1 auto; min-width: 0; }
.menu-superior .pfti-header-navigation > .desktop-menu-active .wcf-nav-menu-container,
.menu-superior .pfti-header-navigation > .desktop-menu-active .wcf-nav-menu-nav { width: 100%; }
.menu-superior .desktop-menu-active .wcf-nav-menu-nav {
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between !important;
    gap: 1rem;
}
.menu-superior .desktop-menu-active .wcf-nav-menu-nav > li { flex: 0 0 auto !important; }
.menu-superior .desktop-menu-active .wcf-nav-menu-nav > li > a {
    padding: .5rem 0 !important;
    font-size: 1rem !important;
    font-weight: 400;
    line-height: 1.25 !important;
    white-space: nowrap;
}
.menu-superior .desktop-menu-active .wcf-nav-menu-nav > li > a .wcf-submenu-indicator { display: none; }
.menu-superior .elementor-element-c571d94 .desktop-menu-active .wcf-nav-menu-nav > li > a {
    min-height: 1.875rem;
    padding: .3125rem 1rem !important;
    border-radius: 999px;
    background: #283172;
    color: #fff !important;
    justify-content: center;
}
.menu-superior .elementor-element-c571d94 .desktop-menu-active .wcf-nav-menu-nav > li > a::after { display: none; }
.menu-superior .elementor-element-c571d94 .desktop-menu-active .sub-menu {
    /* Keep the original transparent dropdown and its shared vertical spacing.
       Align its text with the pill's padded label, not the panel's right edge. */
    left: 1rem !important;
    right: auto !important;
    min-width: 0 !important;
    width: max-content !important;
    top: calc(2.2rem - .1875rem) !important;
    margin: 0 !important;
    padding: 3rem 0 0 !important;
    background: transparent !important;
    border-radius: 0;
    box-shadow: none;
}
.menu-superior .elementor-element-c571d94 .desktop-menu-active .sub-menu > li > a {
    justify-content: flex-start !important;
}
.menu-superior .pfti-language-link {
    display: flex;
    flex: 0 0 4.25rem;
    width: 4.25rem;
    height: 2.75rem;
    min-height: 44px;
    position: relative;
    align-items: center;
    justify-content: flex-end;
    border: 0;
    border-radius: 999px;
    text-decoration: none;
}
.menu-superior .pfti-language-link::before {
    content: '';
    position: absolute;
    inset-inline: 0;
    top: 50%;
    height: 1.875rem;
    transform: translateY(-50%);
    border-radius: inherit;
    background: #ededed;
}
.menu-superior .pfti-language-link--es { justify-content: flex-start; }
.menu-superior .pfti-language-flag {
    display: block;
    position: relative;
    width: 1.625rem;
    height: 1.625rem;
    margin-inline: .125rem;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 1px 2px #0002;
}
.menu-superior .pfti-language-flag img { display: block; width: 100%; height: 100%; }
.menu-superior a:focus-visible,
.menu-superior button:focus-visible { outline: 2px solid #283172; outline-offset: 4px; }
.menu-superior .elementor-element-c571d94 .desktop-menu-active .wcf-nav-menu-nav > li > a:focus-visible { outline-color: #283172; }
.menu-superior .desktop-menu-active .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.menu-superior .desktop-menu-active .menu-item-has-children.pfti-submenu-dismissed > .sub-menu {
    opacity: 0;
    visibility: hidden;
}
@media (max-width: 1399px) and (min-width: 1025px) {
    .menu-superior .cabecera { padding-inline: 1.75rem !important; }
    .menu-superior .cabecera > .e-con-inner { gap: 1rem; }
    .menu-superior .elementor-element-ff1ec86 { width: 12rem !important; flex-basis: 12rem !important; }
    .menu-superior .desktop-menu-active .wcf-nav-menu-nav { gap: .75rem; }
    .menu-superior .desktop-menu-active .wcf-nav-menu-nav > li > a { font-size: .9375rem !important; }
}
@media (max-width: 1024px) {
    .menu-superior .cabecera { padding-inline: 1.125rem !important; }
    .menu-superior .cabecera > .e-con-inner { min-height: 4.25rem; padding-block: .5rem !important; gap: .75rem; }
    .menu-superior .elementor-element-ff1ec86 { width: clamp(7.5rem, 38vw, 11rem) !important; flex-basis: auto !important; }
    .menu-superior .elementor-element-0aa4aeb { padding-left: 0 !important; }
    .menu-superior .elementor-element-a8a5820 { display: none !important; }
    .menu-superior .pfti-header-navigation { justify-content: flex-end; gap: .75rem; }
    .menu-superior .pfti-header-navigation > .wcf__nav-menu { flex: 0 0 auto; order: 2; }
    .menu-superior .pfti-language-link { order: 1; }
    .menu-superior .wcf-menu-hamburger { min-width: 44px; min-height: 44px; }
}
@media (max-width: 359px) {
    .menu-superior .cabecera { padding-inline: .875rem !important; }
    .menu-superior .pfti-header-navigation { gap: .375rem; }
    .menu-superior .pfti-language-link { flex-basis: 3.75rem; width: 3.75rem; }
}
@media (prefers-reduced-motion: reduce) {
    .menu-superior .sub-menu { transition: none !important; }
}
