/*!
 * NavFlow Mobile Menu — Código SEO (https://codigoseo.es)
 * Las variables --csnf-* se generan desde los ajustes del plugin.
 */

.csnf-root{--csnf-ease:cubic-bezier(.22,.61,.36,1);--csnf-gap:calc(var(--csnf-icon) * .28);--csnf-bar:3px}
.csnf-root,.csnf-root *,.csnf-root *::before,.csnf-root *::after{box-sizing:border-box}
.csnf-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ------------------------------------------------------------ Botón */
.csnf-root .csnf-toggle{
	position:var(--csnf-btn-position,fixed);top:var(--csnf-btn-top);z-index:calc(var(--csnf-z) + 2);
	display:inline-flex;align-items:center;gap:10px;margin:0;padding:12px;min-width:0;min-height:0;
	border:0;border-radius:999px;background:var(--csnf-btn-bg);color:var(--csnf-btn-color);
	font-family:var(--csnf-font);font-size:var(--csnf-label-size);font-weight:600;line-height:1;letter-spacing:0;text-transform:none;
	cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;
	transition:background-color .25s,color .25s,transform .4s var(--csnf-ease),opacity .3s;
}
.csnf-root .csnf-toggle.csnf-pos-right{right:var(--csnf-btn-side);left:auto}
.csnf-root .csnf-toggle.csnf-pos-left{left:var(--csnf-btn-side);right:auto}
.csnf-root .csnf-toggle:hover,.csnf-root .csnf-toggle:focus{background:var(--csnf-btn-bg-hover);color:var(--csnf-btn-color);outline:0}
.csnf-root .csnf-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.csnf-root .csnf-toggle.is-active,.csnf-root .csnf-toggle.is-active:hover{background:var(--csnf-btn-bg-active);color:var(--csnf-btn-active)}
.csnf-root .csnf-toggle.csnf-shadow{box-shadow:0 6px 20px rgba(0,0,0,.28)}
.csnf-root .csnf-toggle.csnf-shadow.is-active{box-shadow:none}
.csnf-root .csnf-toggle.csnf-shape-rounded{border-radius:14px}
.csnf-root .csnf-toggle.csnf-shape-square{border-radius:0}
.csnf-root .csnf-toggle.csnf-shape-none,.csnf-root .csnf-toggle.csnf-shape-none:hover,.csnf-root .csnf-toggle.csnf-shape-none:focus{background:transparent;padding:6px}
.csnf-label{white-space:nowrap}
.csnf-root .csnf-toggle.csnf-has-label{padding-inline-end:18px}

/* Botón inteligente */
.csnf-root.csnf-btn-hidden:not(.is-open) .csnf-toggle{transform:translate3d(0,-160%,0);opacity:0;pointer-events:none}

/* Admin bar */
@media (min-width:783px){body.admin-bar .csnf-root .csnf-toggle{margin-top:32px}}
@media (max-width:782px){body.admin-bar .csnf-root .csnf-toggle{margin-top:46px}}
@media (max-width:600px){body.admin-bar .csnf-root .csnf-toggle{margin-top:0}}

/* Icono hamburguesa */
.csnf-burger{position:relative;display:block;flex:none;width:var(--csnf-icon);height:var(--csnf-icon);transition:transform .45s var(--csnf-ease)}
.csnf-burger span{position:absolute;left:0;display:block;width:100%;height:var(--csnf-bar);border-radius:var(--csnf-bar);background:currentColor;
	transition:transform .4s var(--csnf-ease),opacity .25s,width .3s,top .4s var(--csnf-ease)}
.csnf-style-thin{--csnf-bar:2px}
.csnf-style-bold{--csnf-bar:5px}
.csnf-burger span:nth-child(1){top:calc(50% - var(--csnf-bar) / 2 - var(--csnf-gap))}
.csnf-burger span:nth-child(2){top:calc(50% - var(--csnf-bar) / 2)}
.csnf-burger span:nth-child(3){top:calc(50% - var(--csnf-bar) / 2 + var(--csnf-gap))}
.csnf-style-short .csnf-burger span:nth-child(2){width:62%}
.csnf-style-short.csnf-pos-right .csnf-burger span:nth-child(2){left:auto;right:0}
.csnf-style-two .csnf-burger span:nth-child(1){top:calc(50% - var(--csnf-bar) / 2 - var(--csnf-gap) / 2)}
.csnf-style-two .csnf-burger span:nth-child(2){top:calc(50% - var(--csnf-bar) / 2 + var(--csnf-gap) / 2)}
.csnf-style-two .csnf-burger span:nth-child(3){display:none}

/* Animación a X */
.csnf-anim-cross.is-active .csnf-burger span:nth-child(1),
.csnf-anim-spin.is-active .csnf-burger span:nth-child(1){transform:translate3d(0,var(--csnf-gap),0) rotate(45deg)}
.csnf-anim-cross.is-active .csnf-burger span:nth-child(2),
.csnf-anim-spin.is-active .csnf-burger span:nth-child(2){opacity:0;transform:scaleX(0)}
.csnf-anim-cross.is-active .csnf-burger span:nth-child(3),
.csnf-anim-spin.is-active .csnf-burger span:nth-child(3){transform:translate3d(0,calc(var(--csnf-gap) * -1),0) rotate(-45deg)}
.csnf-anim-cross.csnf-style-two.is-active .csnf-burger span:nth-child(1),
.csnf-anim-spin.csnf-style-two.is-active .csnf-burger span:nth-child(1){transform:translate3d(0,calc(var(--csnf-gap) / 2),0) rotate(45deg)}
.csnf-anim-cross.csnf-style-two.is-active .csnf-burger span:nth-child(2),
.csnf-anim-spin.csnf-style-two.is-active .csnf-burger span:nth-child(2){opacity:1;transform:translate3d(0,calc(var(--csnf-gap) / -2),0) rotate(-45deg)}
.csnf-anim-spin.is-active .csnf-burger{transform:rotate(180deg)}
.csnf-style-short.is-active .csnf-burger span{width:100%}

/* ------------------------------------------------------------ Capa oscura */
.csnf-overlay{
	position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--csnf-z);
	background:var(--csnf-overlay);-webkit-backdrop-filter:blur(var(--csnf-overlay-blur));backdrop-filter:blur(var(--csnf-overlay-blur));
	opacity:0;visibility:hidden;touch-action:none;cursor:pointer;
	transition:opacity var(--csnf-speed) var(--csnf-ease),visibility 0s linear var(--csnf-speed);
}
.csnf-root.is-open .csnf-overlay{opacity:1;visibility:visible;transition-delay:0s}

/* ------------------------------------------------------------ Panel */
.csnf-panel{
	position:fixed;z-index:calc(var(--csnf-z) + 1);display:flex;flex-direction:column;max-width:100%;
	margin:0;padding:0;overflow:hidden;visibility:hidden;
	background:var(--csnf-panel-bg);color:var(--csnf-item);border-radius:var(--csnf-radius);
	-webkit-backdrop-filter:blur(var(--csnf-panel-blur));backdrop-filter:blur(var(--csnf-panel-blur));
	font-family:var(--csnf-font);text-align:var(--csnf-align);outline:0;
	transition:transform var(--csnf-speed) var(--csnf-ease),opacity var(--csnf-speed) var(--csnf-ease),visibility 0s linear var(--csnf-speed);
}
.csnf-root.is-open .csnf-panel{visibility:visible;transition-delay:0s}
.csnf-panel-shadow .csnf-panel{box-shadow:0 0 50px rgba(0,0,0,.35)}
.csnf-panel::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--csnf-bg-img);background-size:cover;background-position:center;opacity:var(--csnf-bg-img-op);pointer-events:none}

.csnf-from-right .csnf-panel{top:0;bottom:0;right:0;width:var(--csnf-panel-w);transform:translate3d(100%,0,0)}
.csnf-from-left .csnf-panel{top:0;bottom:0;left:0;width:var(--csnf-panel-w);transform:translate3d(-100%,0,0)}
.csnf-from-top .csnf-panel{top:0;left:0;right:0;height:var(--csnf-panel-h);transform:translate3d(0,-100%,0)}
.csnf-from-bottom .csnf-panel{bottom:0;left:0;right:0;height:var(--csnf-panel-h);transform:translate3d(0,100%,0)}
.csnf-from-fade .csnf-panel,.csnf-from-zoom .csnf-panel{top:50%;left:50%;width:var(--csnf-panel-w);max-height:calc(100% - 32px);opacity:0;transform:translate3d(-50%,-50%,0)}
.csnf-from-zoom .csnf-panel{transform:translate3d(-50%,-50%,0) scale(.88)}
.csnf-from-fade.csnf-fullscreen .csnf-panel,.csnf-from-zoom.csnf-fullscreen .csnf-panel{height:100%;max-height:none}

.csnf-root.is-open.csnf-from-right .csnf-panel,
.csnf-root.is-open.csnf-from-left .csnf-panel,
.csnf-root.is-open.csnf-from-top .csnf-panel,
.csnf-root.is-open.csnf-from-bottom .csnf-panel{transform:translate3d(0,0,0)}
.csnf-root.is-open.csnf-from-fade .csnf-panel,
.csnf-root.is-open.csnf-from-zoom .csnf-panel{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}

.csnf-fullscreen .csnf-panel{border-radius:0}
.csnf-fullscreen.csnf-from-top .csnf-panel,
.csnf-fullscreen.csnf-from-bottom .csnf-panel{height:100%}

/* Fondo degradado animado */
.csnf-grad-anim .csnf-panel{background-size:300% 300%;animation:csnf-grad 14s ease infinite}
@keyframes csnf-grad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* Contenedor interno con scroll */
.csnf-inner{position:relative;flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--csnf-pad)}
.csnf-reserve .csnf-inner{padding-top:var(--csnf-reserve)}
.csnf-body{flex:1 0 auto;display:flex;flex-direction:column;justify-content:var(--csnf-justify);width:100%}

/* Cabecera del panel */
.csnf-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.csnf-root .csnf-logo{display:inline-block;max-width:100%;color:var(--csnf-item);text-decoration:none;border:0}
.csnf-logo-img{display:block;width:var(--csnf-logo-w);max-width:100%;height:auto}
.csnf-logo-text{font-size:calc(var(--csnf-item-size) * 1.1);font-weight:700;line-height:1.2}
.csnf-root .csnf-close{position:relative;flex:none;width:44px;height:44px;margin:0 0 0 auto;padding:0;border:0;border-radius:50%;background:transparent;color:var(--csnf-item);cursor:pointer}
.csnf-root .csnf-close:hover,.csnf-root .csnf-close:focus{background:rgba(255,255,255,.1);color:var(--csnf-item)}
.csnf-close span,.csnf-close span::before{position:absolute;top:50%;left:50%;width:20px;height:2px;margin:-1px 0 0 -10px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.csnf-close span::before{content:"";top:0;left:0;margin:0;transform:rotate(90deg)}

/* ------------------------------------------------------------ Menú */
.csnf-nav{width:100%}
.csnf-root .csnf-menu,.csnf-root .csnf-sub{list-style:none;margin:0;padding:0}
.csnf-root .csnf-item{position:relative;margin:0;padding:0;list-style:none;background:none;border:0}
.csnf-root .csnf-item::before,.csnf-root .csnf-item::marker{content:none}
.csnf-divider .csnf-menu>.csnf-item{border-bottom:1px solid var(--csnf-divider)}
.csnf-divider .csnf-menu>.csnf-item:last-child{border-bottom-color:transparent}
.csnf-row{display:flex;align-items:center;justify-content:space-between}

.csnf-root a.csnf-link{
	flex:1 1 auto;display:block;margin:0;padding:var(--csnf-item-pad) 0;border:0;box-shadow:none;background:none;
	color:var(--csnf-item);font-family:var(--csnf-font);font-size:var(--csnf-item-size);font-weight:var(--csnf-item-weight);
	letter-spacing:var(--csnf-item-ls);text-transform:var(--csnf-item-tt);line-height:1.25;text-decoration:none;text-align:inherit;
	transition:color .2s,opacity .2s;
}
.csnf-root a.csnf-link:hover,.csnf-root a.csnf-link:focus-visible{color:var(--csnf-item-hover);text-decoration:none}
.csnf-root a.csnf-link:focus-visible{outline:2px solid var(--csnf-item-hover);outline-offset:2px;border-radius:4px}
.csnf-root .csnf-item.csnf-current>.csnf-row>a.csnf-link{color:var(--csnf-item-active)}
.csnf-desc{display:block;margin-top:3px;font-size:.62em;font-weight:400;letter-spacing:0;text-transform:none;opacity:.7;line-height:1.35}

/* Submenús (acordeón) */
.csnf-sub-wrap{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--csnf-speed) var(--csnf-ease),visibility 0s linear var(--csnf-speed)}
.csnf-item.is-open>.csnf-sub-wrap{grid-template-rows:1fr;visibility:visible;transition-delay:0s}
.csnf-sub{min-height:0;overflow:hidden;padding-inline-start:var(--csnf-sub-indent)!important}
.csnf-root .csnf-sub .csnf-item{border:0}
.csnf-root .csnf-sub a.csnf-link{padding:calc(var(--csnf-item-pad) * .6) 0;color:var(--csnf-sub-color);font-size:var(--csnf-sub-size);font-weight:400}
.csnf-root .csnf-sub .csnf-item.csnf-current>.csnf-row>a.csnf-link{color:var(--csnf-item-active)}
.csnf-align-center .csnf-sub{padding-inline-start:0!important}

.csnf-root button.csnf-arrow{
	flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;
	border:0;border-radius:50%;background:transparent;color:var(--csnf-item);opacity:.85;cursor:pointer;-webkit-tap-highlight-color:transparent;
	transition:color .2s,opacity .2s;
}
.csnf-root button.csnf-arrow:hover,.csnf-root button.csnf-arrow:focus{background:transparent;color:var(--csnf-item-hover);opacity:1}
.csnf-root button.csnf-arrow:focus-visible{outline:2px solid var(--csnf-item-hover);outline-offset:-2px}
.csnf-chev{display:block;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .35s var(--csnf-ease)}
.csnf-item.is-open>.csnf-row>.csnf-arrow .csnf-chev{transform:rotate(225deg) translate(-2px,-2px)}

/* Alineaciones */
.csnf-align-center .csnf-row{justify-content:center}
.csnf-align-center a.csnf-link{flex:0 1 auto}
.csnf-align-end .csnf-row{flex-direction:row-reverse}

/* Clases opcionales para elementos del menú */
.csnf-root .csnf-item.csnf-hide{display:none}
.csnf-root .csnf-item.csnf-btn>.csnf-row>a.csnf-link{display:inline-block;flex:0 1 auto;margin:10px 0;padding:12px 26px;border-radius:999px;background:var(--csnf-cta-bg);color:var(--csnf-cta-color);font-size:calc(var(--csnf-item-size) * .85);text-align:center}
.csnf-root .csnf-item.csnf-btn>.csnf-row>a.csnf-link:hover{color:var(--csnf-cta-color);opacity:.88}

/* Animación de entrada de los elementos */
.csnf-ia-fade-up .csnf-menu>.csnf-item,
.csnf-ia-slide .csnf-menu>.csnf-item,
.csnf-ia-zoom .csnf-menu>.csnf-item,
.csnf-ia-fade .csnf-menu>.csnf-item{opacity:0;transition:opacity .5s var(--csnf-ease),transform .5s var(--csnf-ease)}
.csnf-ia-fade-up .csnf-menu>.csnf-item{transform:translate3d(0,18px,0)}
.csnf-ia-slide .csnf-menu>.csnf-item{transform:translate3d(30px,0,0)}
.csnf-ia-slide.csnf-from-left .csnf-menu>.csnf-item{transform:translate3d(-30px,0,0)}
.csnf-ia-zoom .csnf-menu>.csnf-item{transform:scale(.9)}
.csnf-root.is-open[class*="csnf-ia-"] .csnf-menu>.csnf-item{opacity:1;transform:none;transition-delay:calc(var(--csnf-i,0) * var(--csnf-stagger) + 140ms)}

/* ------------------------------------------------------------ Extras */
.csnf-search{position:relative;display:flex;align-items:center;margin:0 0 22px}
.csnf-root .csnf-search input[type="search"]{
	flex:1;width:100%;height:46px;margin:0;padding:0 48px 0 18px;border:1px solid var(--csnf-divider);border-radius:999px;
	background:rgba(255,255,255,.07);color:var(--csnf-item);font:inherit;font-size:16px;box-shadow:none;-webkit-appearance:none;appearance:none;
}
.csnf-root .csnf-search input[type="search"]::placeholder{color:var(--csnf-item);opacity:.55}
.csnf-root .csnf-search input[type="search"]:focus{outline:0;border-color:var(--csnf-item-hover)}
.csnf-root .csnf-search button{position:absolute;top:0;right:4px;display:flex;align-items:center;justify-content:center;width:44px;height:46px;margin:0;padding:0;border:0;background:transparent;color:var(--csnf-item);cursor:pointer}
.csnf-root .csnf-search button:hover,.csnf-root .csnf-search button:focus{background:transparent;color:var(--csnf-item-hover)}

.csnf-root a.csnf-cta{display:block;margin:26px 0 0;padding:15px 24px;border:0;border-radius:999px;background:var(--csnf-cta-bg);color:var(--csnf-cta-color);font-size:16px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;transition:opacity .2s,transform .2s}
.csnf-root a.csnf-cta:hover{color:var(--csnf-cta-color);opacity:.9;transform:translateY(-1px)}

.csnf-extra{margin:24px 0 0;color:var(--csnf-sub-color);font-size:15px;line-height:1.6}
.csnf-extra-top{margin:0 0 20px}
.csnf-extra a{color:var(--csnf-item);text-decoration:underline}
.csnf-extra p{margin:0 0 .8em}
.csnf-widget-title{margin:0 0 8px;color:var(--csnf-item);font-size:15px;font-weight:700}
.csnf-notice{margin:0;padding:14px;border:1px dashed currentColor;border-radius:8px;font-size:14px;line-height:1.5;opacity:.85}

/* ------------------------------------------------------------ Bloqueo de scroll y efectos sobre el contenido */
html.csnf-lock,html.csnf-lock body{overflow:hidden}

.csnf-fx{transition:transform var(--csnf-speed) var(--csnf-ease),filter var(--csnf-speed) var(--csnf-ease)}
html.csnf-open.csnf-fx-blur .csnf-fx{filter:blur(var(--csnf-fx-blur))}
html.csnf-open.csnf-fx-scale .csnf-fx{transform:scale(var(--csnf-fx-scale))}
html.csnf-open.csnf-fx-push .csnf-fx{transform:var(--csnf-fx-push)}
html.csnf-open.csnf-fx-dim .csnf-fx{filter:brightness(var(--csnf-fx-dim))}

/* ------------------------------------------------------------ Accesibilidad e impresión */
@media (prefers-reduced-motion:reduce){
	.csnf-root *,.csnf-root *::before,.csnf-root *::after,.csnf-fx{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}
}
@media print{.csnf-root{display:none!important}}
