.flt-root{font-family:var(--flt-font);font-size:var(--flt-font-size);font-weight:var(--flt-weight);color:var(--flt-text);z-index:var(--flt-z);max-width:calc(100vw - 16px);box-sizing:border-box;line-height:1.35;isolation:isolate}
.flt-root *{box-sizing:border-box}.flt-root[hidden],.flt-root [hidden]{display:none!important}
.flt-root[data-position=fixed]{position:fixed}.flt-root[data-position=absolute]{position:absolute}.flt-root[data-position=relative]{position:relative}
.flt-root:not([data-position=relative]){left:var(--flt-left,auto);right:var(--flt-right,auto);top:var(--flt-top,auto);bottom:var(--flt-bottom,auto);transform:translate(var(--flt-tx,0),var(--flt-ty,0))}
.flt-panel,.flt-main-toggle,.flt-root .sub-menu{background:var(--flt-bg);border:var(--flt-border) solid var(--flt-border-color);border-radius:var(--flt-radius);box-shadow:0 10px 32px rgba(0,0,0,var(--flt-shadow));backdrop-filter:blur(var(--flt-blur))}
.flt-root ul,.flt-root li{list-style:none!important;margin:0!important;padding:0!important}.flt-root .flt-list{display:flex;flex-direction:column;gap:var(--flt-gap);padding:6px!important;min-width:min(var(--flt-width),calc(100vw - 28px))}
.flt-root[data-orientation=horizontal] .flt-list{flex-direction:row;flex-wrap:wrap}.flt-root li{position:relative;display:flex;align-items:stretch;flex-wrap:wrap;min-width:0}
.flt-root a,.flt-root button{font:inherit;color:var(--flt-text);text-decoration:none;border:0;background:transparent;box-shadow:none;text-transform:none;letter-spacing:normal;line-height:1.35;margin:0;cursor:pointer}
.flt-root li>a{display:flex;align-items:center;gap:10px;padding:var(--flt-pad-y) var(--flt-pad-x);border-radius:max(0px,calc(var(--flt-radius) - 5px));flex:1;min-width:0;overflow-wrap:anywhere}
.flt-root a:hover,.flt-root a:focus-visible,.flt-root button:hover,.flt-root button:focus-visible,.flt-root .current-menu-item>a,.flt-root .current-menu-ancestor>a{background:var(--flt-hover-bg);color:var(--flt-hover-text)}
.flt-root a:focus-visible,.flt-root button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.flt-root .flt-icon{font-size:var(--flt-icon-size);width:var(--flt-icon-size);height:auto;line-height:1;flex-shrink:0;text-align:center}
.flt-root .flt-sub-toggle{padding:8px;min-width:30px;border-radius:8px}.flt-sub-toggle[aria-expanded=true]>span{display:inline-block;transform:rotate(180deg)}
.flt-root .sub-menu{position:fixed;z-index:2;display:flex;flex-direction:column;gap:var(--flt-gap);padding:6px!important;background:var(--flt-sub-bg);width:max-content;min-width:170px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;transform:none}
.flt-root[data-sub-layout=horizontal] .sub-menu{flex-direction:row;flex-wrap:wrap}.flt-root .sub-menu li{flex-shrink:0;max-width:100%}
.flt-root .flt-main-toggle{background:var(--flt-bg);padding:10px 16px;margin-bottom:6px;display:flex;align-items:center;gap:8px;min-height:44px}
.flt-root[data-icons-only="1"] a:has(.flt-icon) .flt-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.flt-root.flt-mobile .flt-list{flex-direction:column;max-height:70dvh;overflow:auto}.flt-root.flt-mobile .flt-main-toggle{min-height:44px}.flt-root.flt-mobile li>a{min-height:44px}
.flt-root .flt-panel{max-height:calc(100dvh - 90px);overflow:auto}
/* Submenus are relocated to the root by JS; no clipping by scrolling panels. */
.elementor-editor-active .flt-root{position:relative!important;inset:auto!important;transform:none!important;display:block!important}
@media(prefers-reduced-motion:no-preference){.flt-root a,.flt-root button{transition:background-color .15s,color .15s}}

/* 1.0.2: Defensive positioning against theme and Elementor navigation rules. */
html body .flt-root[data-position="fixed"]{position:fixed!important;z-index:var(--flt-z,9990)!important;display:block;visibility:visible;float:none;clear:none;margin:0;max-width:calc(100vw - 16px);}
html body .flt-root[data-position="absolute"]{position:absolute!important;z-index:var(--flt-z,9990)!important;}
html body .flt-root[hidden],html body .flt-root [hidden]{display:none!important;}
html body .flt-root .flt-panel[hidden],html body .flt-root .sub-menu[hidden]{display:none!important;}
html body .flt-root .flt-panel:not([hidden]){display:block;}
html body .flt-root .flt-list{list-style:none!important;}
html body .flt-root .sub-menu:not([hidden]){display:flex;}
/* Keep the configured coordinates after moving fixed menus to body. */
html body .flt-root[data-position="fixed"]{left:var(--flt-left,auto)!important;right:var(--flt-right,auto)!important;top:var(--flt-top,auto)!important;bottom:var(--flt-bottom,auto)!important;transform:translate(var(--flt-tx,0),var(--flt-ty,0))!important;}
body.elementor-editor-active .flt-root[data-position="fixed"]{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;}

/* 1.0.3: fixed menus must never inherit footer layout/positioning. */
html body nav.flt-root[data-position="fixed"]{position:fixed!important;inset:auto;left:var(--flt-left,20px)!important;right:var(--flt-right,auto)!important;top:var(--flt-top,50%)!important;bottom:var(--flt-bottom,auto)!important;transform:translate(var(--flt-tx,0px),var(--flt-ty,-50%))!important;width:max-content!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px);z-index:var(--flt-z,9990)!important;}
html body nav.flt-root[data-position="fixed"] .flt-main-toggle{width:max-content;max-width:100%;}

/* 1.0.4: separacion real entre botones, sin fondo compartido. */
html body .flt-root[data-item-style="separate"] .flt-panel{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;border-radius:0!important;overflow:visible!important;max-height:none!important;}
html body .flt-root[data-item-style="separate"] .flt-list{gap:var(--flt-gap,20px)!important;padding:0!important;min-width:0!important;max-height:calc(100dvh - 90px);overflow:auto;scrollbar-width:thin;}
html body .flt-root[data-item-style="separate"] .flt-list > li{background:var(--flt-bg);border:var(--flt-border) solid var(--flt-border-color);border-radius:var(--flt-radius);box-shadow:0 10px 32px rgba(0,0,0,var(--flt-shadow));backdrop-filter:blur(var(--flt-blur));flex-shrink:0;overflow:hidden;}
html body .flt-root[data-item-style="separate"] .flt-list > li > a{border-radius:var(--flt-radius);}
html body .flt-root[data-item-style="separate"] .flt-sub-toggle{align-self:stretch;}
/* Los submenus también se pueden mostrar como elementos independientes. */
html body .flt-root[data-item-style="separate"] .sub-menu{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:3px!important;gap:var(--flt-gap,20px)!important;}
html body .flt-root[data-item-style="separate"] .sub-menu > li{background:var(--flt-sub-bg);border:var(--flt-border) solid var(--flt-border-color);border-radius:var(--flt-radius);box-shadow:0 6px 18px rgba(0,0,0,var(--flt-shadow));overflow:hidden;}
html body .flt-root[data-item-style="separate"] .sub-menu > li > a{border-radius:var(--flt-radius);}

/* 1.0.5 · Conectores entre botones independientes. El espacio se toma de --flt-gap.
   Cada conector une los bordes de dos elementos consecutivos, sin alterar enlaces ni clics. */
html body .flt-root[data-item-style="separate"][data-connector]:not([data-connector="none"]) .flt-list > li {overflow:visible;isolation:isolate;}
html body .flt-root[data-item-style="separate"][data-connector]:not([data-connector="none"]) .flt-list > li > a,
html body .flt-root[data-item-style="separate"][data-connector]:not([data-connector="none"]) .flt-list > li > .flt-sub-toggle {position:relative;z-index:1;}
/* El pseudo-elemento termina donde empieza el siguiente botón. */
html body .flt-root[data-item-style="separate"][data-connector]:not([data-connector="none"]) .flt-list > li:not(:last-child)::after {
 content:"";position:absolute;pointer-events:none;display:block!important;z-index:-1;box-sizing:border-box;
 left:calc(50% - var(--flt-connector-thickness)/2);top:100%;
 width:var(--flt-connector-thickness);height:var(--flt-gap);
 background:var(--flt-connector-color);border:0;border-radius:0;opacity:1;
}
/* Cada variante funciona en ambas direcciones. */
html body .flt-root[data-item-style="separate"][data-connector="dashed"] .flt-list > li:not(:last-child)::after {background:repeating-linear-gradient(to bottom,var(--flt-connector-color) 0 7px,transparent 7px 11px);}
html body .flt-root[data-item-style="separate"][data-connector="dotted"] .flt-list > li:not(:last-child)::after {background:radial-gradient(circle,var(--flt-connector-color) 55%,transparent 60%) center top / var(--flt-connector-thickness) 7px repeat-y;}
html body .flt-root[data-item-style="separate"][data-connector="double"] .flt-list > li:not(:last-child)::after {width:calc(var(--flt-connector-thickness)*3);left:calc(50% - var(--flt-connector-thickness)*1.5);background:linear-gradient(to right,var(--flt-connector-color) 0 30%,transparent 30% 70%,var(--flt-connector-color) 70% 100%);}
html body .flt-root[data-item-style="separate"][data-connector="arrow"] .flt-list > li:not(:last-child)::after {width:max(9px,calc(var(--flt-connector-thickness)*3));left:calc(50% - max(9px,var(--flt-connector-thickness)*3)/2);background:var(--flt-connector-color);clip-path:polygon(43% 0,57% 0,57% 60%,100% 60%,50% 100%,0 60%,43% 60%);}
/* Horizontal. En móvil se usa el eje vertical cuando el JS pasa a columna. */
html body .flt-root[data-orientation="horizontal"]:not(.flt-mobile)[data-item-style="separate"][data-connector]:not([data-connector="none"]) .flt-list > li:not(:last-child)::after {
 left:100%;top:calc(50% - var(--flt-connector-thickness)/2);width:var(--flt-gap);height:var(--flt-connector-thickness);
}
html body .flt-root[data-orientation="horizontal"]:not(.flt-mobile)[data-item-style="separate"][data-connector="dashed"] .flt-list > li:not(:last-child)::after {background:repeating-linear-gradient(to right,var(--flt-connector-color) 0 7px,transparent 7px 11px);}
html body .flt-root[data-orientation="horizontal"]:not(.flt-mobile)[data-item-style="separate"][data-connector="dotted"] .flt-list > li:not(:last-child)::after {background:radial-gradient(circle,var(--flt-connector-color) 55%,transparent 60%) left center / 7px var(--flt-connector-thickness) repeat-x;}
html body .flt-root[data-orientation="horizontal"]:not(.flt-mobile)[data-item-style="separate"][data-connector="double"] .flt-list > li:not(:last-child)::after {height:calc(var(--flt-connector-thickness)*3);top:calc(50% - var(--flt-connector-thickness)*1.5);background:linear-gradient(to bottom,var(--flt-connector-color) 0 30%,transparent 30% 70%,var(--flt-connector-color) 70% 100%);}
html body .flt-root[data-orientation="horizontal"]:not(.flt-mobile)[data-item-style="separate"][data-connector="arrow"] .flt-list > li:not(:last-child)::after {height:max(9px,calc(var(--flt-connector-thickness)*3));top:calc(50% - max(9px,var(--flt-connector-thickness)*3)/2);background:var(--flt-connector-color);clip-path:polygon(0 43%,60% 43%,60% 0,100% 50%,60% 100%,60% 57%,0 57%);}
/* Evitar líneas sueltas al saltar de fila en un menú horizontal que envuelve. */
html body .flt-root[data-orientation="horizontal"]:not(.flt-mobile)[data-item-style="separate"][data-connector]:not([data-connector="none"]) .flt-list{flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;}
/* Submenús: opcional, sin afectar el fondo de la lista. */
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-connector]:not([data-connector="none"]) .sub-menu > li {overflow:visible;}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-connector]:not([data-connector="none"]) .sub-menu > li:not(:last-child)::after {content:"";position:absolute;pointer-events:none;z-index:-1;left:calc(50% - var(--flt-connector-thickness)/2);top:100%;width:var(--flt-connector-thickness);height:var(--flt-gap);background:var(--flt-connector-color);}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-connector="dashed"] .sub-menu > li:not(:last-child)::after{background:repeating-linear-gradient(to bottom,var(--flt-connector-color) 0 7px,transparent 7px 11px);}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-connector="dotted"] .sub-menu > li:not(:last-child)::after{background:radial-gradient(circle,var(--flt-connector-color) 55%,transparent 60%) center top / var(--flt-connector-thickness) 7px repeat-y;}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-connector="double"] .sub-menu > li:not(:last-child)::after{width:calc(var(--flt-connector-thickness)*3);left:calc(50% - var(--flt-connector-thickness)*1.5);background:linear-gradient(to right,var(--flt-connector-color) 0 30%,transparent 30% 70%,var(--flt-connector-color) 70% 100%);}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-connector="arrow"] .sub-menu > li:not(:last-child)::after{width:max(9px,calc(var(--flt-connector-thickness)*3));left:calc(50% - max(9px,var(--flt-connector-thickness)*3)/2);clip-path:polygon(43% 0,57% 0,57% 60%,100% 60%,50% 100%,0 60%,43% 60%);}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-sub-layout="horizontal"][data-connector]:not([data-connector="none"]) .sub-menu > li:not(:last-child)::after{left:100%;top:calc(50% - var(--flt-connector-thickness)/2);width:var(--flt-gap);height:var(--flt-connector-thickness);}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-sub-layout="horizontal"][data-connector="dashed"] .sub-menu > li:not(:last-child)::after{background:repeating-linear-gradient(to right,var(--flt-connector-color) 0 7px,transparent 7px 11px);}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-sub-layout="horizontal"][data-connector="dotted"] .sub-menu > li:not(:last-child)::after{background:radial-gradient(circle,var(--flt-connector-color) 55%,transparent 60%) left center / 7px var(--flt-connector-thickness) repeat-x;}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-sub-layout="horizontal"][data-connector="double"] .sub-menu > li:not(:last-child)::after{height:calc(var(--flt-connector-thickness)*3);top:calc(50% - var(--flt-connector-thickness)*1.5);background:linear-gradient(to bottom,var(--flt-connector-color) 0 30%,transparent 30% 70%,var(--flt-connector-color) 70% 100%);}
html body .flt-root[data-item-style="separate"][data-connector-submenus="1"][data-sub-layout="horizontal"][data-connector="arrow"] .sub-menu > li:not(:last-child)::after{height:max(9px,calc(var(--flt-connector-thickness)*3));top:calc(50% - max(9px,var(--flt-connector-thickness)*3)/2);clip-path:polygon(0 43%,60% 43%,60% 0,100% 50%,60% 100%,60% 57%,0 57%);}

/* 1.0.7: dimensiones de submenus, salto de linea y boton principal configurable. */
html body .flt-root .sub-menu{max-width:min(calc(100vw - 16px),var(--flt-sub-max-width,300px))!important;width:max-content;min-width:0;overflow-wrap:anywhere;}
html body .flt-root .sub-menu li>a{min-width:0;max-width:100%;}
html body .flt-root[data-sub-wrap="1"] .sub-menu .flt-label{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;}
html body .flt-root[data-sub-wrap="0"] .sub-menu .flt-label{white-space:nowrap;}
html body .flt-root .flt-main-toggle{color:var(--flt-text)!important;background:var(--flt-bg)!important;font-size:var(--flt-font-size)!important;font-weight:var(--flt-weight)!important;padding:var(--flt-pad-y) var(--flt-pad-x)!important;border:var(--flt-border) solid var(--flt-border-color)!important;border-radius:var(--flt-radius)!important;box-shadow:0 10px 32px rgba(0,0,0,var(--flt-shadow))!important;backdrop-filter:blur(var(--flt-blur));}
html body .flt-root[data-main-inherit="0"] .flt-main-toggle{background:var(--flt-main-bg)!important;color:var(--flt-main-text)!important;font-size:var(--flt-main-font-size)!important;padding:var(--flt-main-pad-y) var(--flt-main-pad-x)!important;}
html body .flt-root .flt-main-toggle:hover,html body .flt-root .flt-main-toggle:focus-visible,html body .flt-root .flt-main-toggle[aria-expanded="true"]:not(:hover){background:var(--flt-hover-bg)!important;color:var(--flt-hover-text)!important;}
