.jesp-whatsapp-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 999999;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,.2);
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}
.jesp-whatsapp-float:hover { color:#fff; transform:translateY(-2px) scale(1.03); box-shadow:0 16px 36px rgba(0,0,0,.24); }
.jesp-whatsapp-float .fa-whatsapp { font-size:32px; line-height:1; }
@media (max-width: 782px) {
    .jesp-whatsapp-float { right:16px; bottom:16px; width:54px; height:54px; }
}

/* JESP Builder 1.1.0 — Menús de wp_nav_menu() generados con jesp_render_primary_menu().
 * Los estilos se limitan a esta clase; los headers antiguos no se rediseñan. */
.jesp-primary-menu .menu-item-has-children { position:relative; }
.jesp-primary-menu .menu-item-has-children > a { display:inline-flex; align-items:center; }
.jesp-primary-menu .jesp-submenu-toggle {
    appearance:none; display:inline-flex; align-items:center; justify-content:center;
    vertical-align:middle; width:30px; height:30px; margin:0 0 0 3px;
    padding:0; background:transparent; border:0; border-radius:0;
    color:inherit; font:inherit; cursor:pointer;
}
.jesp-primary-menu .jesp-submenu-toggle::after {
    content:""; width:6px; height:6px; display:block;
    border-right:1.7px solid currentColor; border-bottom:1.7px solid currentColor;
    transform:translateY(-2px) rotate(45deg); transition:transform .2s;
}
.jesp-primary-menu .menu-item-has-children.is-submenu-open > .jesp-submenu-toggle::after { transform:translateY(2px) rotate(225deg); }
.jesp-primary-menu .sub-menu {
    display:none; position:absolute; top:100%; left:0; z-index:9999;
    min-width:210px; width:max-content; max-width:min(340px,90vw);
    margin:0; padding:7px 0; list-style:none; background:#fff;
    box-shadow:0 12px 34px rgba(0,0,0,.14); border:1px solid #e9e9e9;
    border-radius:0; text-align:left;
}
.jesp-primary-menu .sub-menu li { display:block; position:relative; margin:0; padding:0; width:100%; }
.jesp-primary-menu .sub-menu a { display:inline-flex; align-items:center; padding:11px 15px; color:#181818; line-height:1.35; text-decoration:none; white-space:normal; }
.jesp-primary-menu .sub-menu a:hover, .jesp-primary-menu .sub-menu a:focus-visible { color:#111; text-decoration:underline; }
.jesp-primary-menu .sub-menu .sub-menu { top:0; left:100%; }
@media (min-width:992px) {
    .jesp-primary-menu .menu-item-has-children:hover > .sub-menu,
    .jesp-primary-menu .menu-item-has-children:focus-within > .sub-menu,
    .jesp-primary-menu .menu-item-has-children.is-submenu-open > .sub-menu { display:block; }
}
@media (max-width:991px) {
    .jesp-primary-menu .menu-item-has-children { display:flex; flex-wrap:wrap; align-items:center; }
    .jesp-primary-menu .menu-item-has-children > a { flex:1 1 auto; min-width:0; }
    .jesp-primary-menu .jesp-submenu-toggle { flex:0 0 36px; width:36px; height:36px; margin-left:auto; }
    .jesp-primary-menu .sub-menu { display:none; position:static; flex:0 0 100%; width:100%; min-width:0; max-width:none; padding:3px 0 3px 12px; margin:0; border:0; border-left:2px solid currentColor; background:transparent; box-shadow:none; }
    .jesp-primary-menu .menu-item-has-children.is-submenu-open > .sub-menu { display:block; }
    .jesp-primary-menu .sub-menu a { color:inherit; }
}
