.elementor-20062 .elementor-element.elementor-element-35238ed .e-off-canvas__overlay{background-color:#17243F66;}.elementor-20062 .elementor-element.elementor-element-35238ed{--e-off-canvas-justify-content:flex-end;--e-off-canvas-width:469px;--e-off-canvas-height:100vh;--e-off-canvas-content-overflow:auto;--e-off-canvas-animation-duration:0.3s;--e-off-canvas-overlay-opacity:1;}.elementor-20062 .elementor-element.elementor-element-84d3f92{--display:flex;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:743px){.elementor-20062 .elementor-element.elementor-element-35238ed{--e-off-canvas-width:100%;}}/* Start custom CSS *//* El menú bloquea el scroll: sin esto la barra desaparece y toda la página salta 8 px al abrir y al cerrar */
html { scrollbar-gutter: stable; }

/* Menú lateral: el contenido se mueve 50 px al cambiar de panel (redesign.js); que no aparezca barra horizontal */
body:not(.elementor-editor-active) .e-off-canvas__content > .e-con { overflow-x: hidden; }

/* Apertura y cierre (300 ms, a petición de Patricia; el Figma tiene 200 ms): el panel recorre su propio ancho, no el de la pantalla, y el fondo se funde */
@keyframes vm-menu-panel { from { transform: translate3d(min(469px, 100%), 0, 0); } to { transform: none; } }
@keyframes vm-menu-contenido { from { opacity: 0; } to { opacity: 1; } }
@keyframes vm-menu-fondo-entra { from { opacity: 0; } to { opacity: 1; } }
@keyframes vm-menu-fondo-sale { from { opacity: 1; } to { opacity: 0; } }
.elementor-widget-off-canvas .e-off-canvas .e-off-canvas__main.animated.slideInRight {
	animation-name: vm-menu-panel;
	animation-timing-function: ease-in-out;
}
/* En el Figma el contenido está al 0 % con el menú cerrado: se funde mientras se desliza el panel blanco */
.elementor-widget-off-canvas .e-off-canvas__main.animated.slideInRight .e-off-canvas__content > .e-con > .vm-activo > * { animation: vm-menu-contenido 0.3s ease-in-out both; }
.elementor-widget-off-canvas .e-off-canvas__main.animated.reverse.slideInRight .e-off-canvas__content > .e-con > .vm-activo > * { animation-direction: reverse; }
.elementor-widget-off-canvas .e-off-canvas[aria-hidden="false"] .e-off-canvas__overlay { animation: vm-menu-fondo-entra 0.3s ease-in-out both; }
/* Elementor oculta el menú al empezar a cerrar: se mantiene visible mientras dura la animación de salida */
.elementor-widget-off-canvas .e-off-canvas[aria-hidden="true"]:has(.e-off-canvas__main.animated.reverse) { opacity: 1; visibility: visible; }
.elementor-widget-off-canvas .e-off-canvas:has(.e-off-canvas__main.animated.reverse) .e-off-canvas__overlay { animation: vm-menu-fondo-sale 0.3s ease-in-out both; }
@media (prefers-reduced-motion: reduce) {
	.elementor-widget-off-canvas .e-off-canvas .e-off-canvas__overlay { animation: none !important; }
	.elementor-widget-off-canvas .e-off-canvas__main.animated .vm-activo > * { animation: none !important; }
}
/* Cabecera fija al bajar. Va en el contenedor exterior porque el interno no tiene recorrido; z-index por encima del botón flotante (50), para que no tape el menú abierto. */
body .elementor-location-header { position: sticky; top: 0; z-index: 60; }
html { scroll-padding-top: 76px; }
@media (max-width: 743px) { html { scroll-padding-top: 71px; } }
/* Índice lateral de Precios: que quede bajo la cabecera */
.elementor [data-id="2f40cc12"], .elementor [data-id="23b303bf"] { top: 81px !important; }
/* Con sesión iniciada: que la barra de WordPress no tape la cabecera (fija hasta 600 px; por debajo se va con la página) */
body.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .elementor-location-header { top: 0; } }
/* Forma de la cabecera fija (Figma, header menu 1346:20448): sin esquinas redondeadas y, en escritorio, logo y botón centrados en los 61 px */
@keyframes cabecera-fija-forma { to { border-radius: 0; } }
@keyframes cabecera-fija-posicion { to { padding-top: 11px; padding-bottom: 11px; } }
.elementor [data-id="4faab578"] {
	animation-name: cabecera-fija-forma;
	animation-timing-function: linear;
	animation-fill-mode: both;
	animation-timeline: scroll(root);
	animation-range: 0 30px;
}
@media (min-width: 1025px) {
	.elementor [data-id="4faab578"] { animation-name: cabecera-fija-forma, cabecera-fija-posicion; }
}
@keyframes telon-carga { to { transform: translateY(-100%); visibility: hidden; } }
body::before { content: ""; position: fixed; top: 0; left: 0; right: 0; height: calc(100vh + 117px); z-index: 9999; pointer-events: none; background: linear-gradient(to bottom, #FBFAF5 calc(100% - 117px), rgba(251, 250, 245, 0)); animation: telon-carga 0.5s ease-in-out 3s both; }
@media (prefers-reduced-motion: reduce) { body::before { display: none; } }/* End custom CSS */