/* Fallback de seguridad para escritorio: aun si el DOM contiene el menú,
   nunca debe aparecer como un bloque debajo del footer. */
#imn-overlay { display:none !important; }
#Top_bar .imn-prism-bars { display:none !important; }
@media screen and (min-width: 1240px) {
  body.imn-open { overflow: auto !important; }
}
/* Imprestar Mobile Menu Overlay 1.0.9 – responsive Classic BeTheme */
@media screen and (max-width: 1239px) {
  /* Mobile header: logo at left, custom visible 3-bar button at right */
  #Top_bar .top_bar_left {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 67px !important;
    width: 100% !important;
  }
  #Top_bar .logo {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }
  #Top_bar a#logo {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    height: 60px !important;
    padding: 0 !important;
    margin: 0 0 0 -6px !important;
    line-height: normal !important;
  }
  #Top_bar a#logo img.logo-main {
    width: auto !important;
    max-width: min(190px, calc(100vw - 108px)) !important;
    max-height: 53px !important;
    height: auto !important;
    margin: 0 !important;
  }
  #Top_bar .menu_wrapper {
    position: static !important;
    bottom: auto !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }
  #Top_bar a.responsive-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    line-height: normal !important;
    margin: 0 !important;
    padding: 9px !important;
    border-radius: 13px !important;
    background: transparent !important;
    box-sizing: border-box !important;
    z-index: 99 !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent;
  }
  #Top_bar a.responsive-menu-toggle:focus-visible {outline:2px solid #49a4bd!important;outline-offset:2px}
  #Top_bar a.responsive-menu-toggle > i {display:none!important}
  /* Cinco colores del isotipo, en tres TRAZOS HORIZONTALES. 
     Clases nuevas para evitar el CSS antiguo .imn-bars/.imn-bar. */
  #Top_bar a.responsive-menu-toggle > .imn-prism-bars {
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    flex:0 0 30px !important;
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:23px !important;
    min-height:23px !important;
    max-height:23px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  #Top_bar a.responsive-menu-toggle > .imn-prism-bars > .imn-prism-line {
    display:block !important;
    flex:0 0 3.5px !important;
    align-self:center !important;
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:3.5px !important;
    min-height:3.5px !important;
    max-height:3.5px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:3px !important;
    background-image:linear-gradient(100deg,#c95520 0%,#edba32 24%,#60aa51 49%,#559fb8 74%,#cc3585 100%) !important;
    background-size:220% 100% !important;
    background-position:0% 50%;
    box-shadow:0 1px 3px rgba(40,65,75,.12) !important;
    animation:imn-prism-flow 5s ease-in-out infinite alternate !important;
    transform-origin:center center;
    transition:transform .26s ease, opacity .18s ease !important;
  }
  #Top_bar .imn-prism-line::before,
  #Top_bar .imn-prism-line::after {content:none !important;display:none !important}
  #Top_bar a.responsive-menu-toggle > .imn-prism-bars > .imn-prism-line:nth-child(2){animation-delay:-1.3s!important}
  #Top_bar a.responsive-menu-toggle > .imn-prism-bars > .imn-prism-line:nth-child(3){animation-delay:-2.4s!important}
  body.imn-open #Top_bar a.responsive-menu-toggle .imn-prism-line:first-child {transform:translateY(9.75px) rotate(45deg)!important}
  body.imn-open #Top_bar a.responsive-menu-toggle .imn-prism-line:nth-child(2) {opacity:0!important}
  body.imn-open #Top_bar a.responsive-menu-toggle .imn-prism-line:last-child {transform:translateY(-9.75px) rotate(-45deg)!important}
  @keyframes imn-prism-flow {0%{background-position:0% 50%}100%{background-position:100% 50%}}

  /* The original Classic dropdown is never shown on mobile. The overlay below
     uses the SAME WordPress menu source, without moving the page or editing nav. */
  body.imn-ready #Top_bar #menu {display:none !important}
  body.imn-open {overflow:hidden!important;overscroll-behavior:none}
  body.imn-open #Wrapper {transform:none!important;left:auto!important}

  #imn-overlay {
    position: fixed;
    inset: 0;
    height: 100vh;
    height: 100dvh;
    width: 100%;
    background: #fff;
    color: #222;
    z-index: 2147483000;
    display: flex !important;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
    box-sizing: border-box;
    font-family: "Didact Gothic", Arial, sans-serif !important;
  }
  #imn-overlay * {box-sizing:border-box}
  #imn-overlay.imn-visible {opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  #imn-overlay:before {
    content:"";
    position:absolute;
    z-index:2;
    left:0;right:0;top:0;
    height:5px;
    background: linear-gradient(90deg, #d15b20 0%, #ebba32 22%, #62a950 48%, #579fc0 72%, #ce3486 100%);
    background-size: 200% 100%;
    animation: imn-color-flow 7s ease-in-out infinite alternate;
  }
  @keyframes imn-color-flow {from{background-position:0 0}to{background-position:100% 0}}
  /* Mismo alto y escala del header principal (64px / 176x45px).
     La franja de 5px se superpone arriba, sin agregar altura. */
  #imn-overlay .imn-top {
    flex:0 0 64px;
    height:64px;
    min-height:64px;
    max-height:64px;
    padding:7px 12px 6px 8px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#fff;
    border-bottom:1px solid #edf0f2;
  }
  #imn-overlay .imn-brand{display:flex;align-items:center;min-width:0;max-width:calc(100% - 60px);font-weight:700;color:#212121;text-decoration:none;font-size:20px}
  #imn-overlay .imn-brand-image{display:block;width:176px;max-width:100%;height:45px;max-height:45px;object-fit:contain;object-position:left center}
  /* Cierre: X sin caja, misma energía cromática de la hamburguesa. */
  #imn-overlay .imn-close {
    width:46px !important;height:46px !important;
    display:flex !important;align-items:center !important;justify-content:center !important;
    flex:0 0 46px !important;
    padding:0 !important;margin:0 !important;
    color:#253139 !important;
    background:transparent !important;border:0 !important;
    border-radius:0 !important;box-shadow:none !important;
    cursor:pointer !important;-webkit-tap-highlight-color:transparent;
    transition:transform .2s ease !important;
  }
  #imn-overlay .imn-close:hover {transform:rotate(90deg);background:transparent !important}
  #imn-overlay .imn-close:before,#imn-overlay .imn-close:after {content:none!important;display:none!important}
  #imn-overlay .imn-close-symbol {
    position:relative;display:block;width:30px;height:30px;flex:0 0 30px;
    background:transparent!important;border:0!important;box-shadow:none!important;
  }
  #imn-overlay .imn-close-symbol > span {
    position:absolute;top:13px;left:0;
    display:block;width:30px;height:4px;border-radius:4px;
    background-image:linear-gradient(100deg,#c95520 0%,#edba32 24%,#60aa51 49%,#559fb8 74%,#cc3585 100%)!important;
    background-size:220% 100%!important;
    box-shadow:0 1px 3px rgba(40,65,75,.12);
    animation:imn-prism-flow 5s ease-in-out infinite alternate!important;
  }
  #imn-overlay .imn-close-symbol > span:first-child {transform:rotate(45deg)}
  #imn-overlay .imn-close-symbol > span:last-child {transform:rotate(-45deg);animation-delay:-2.4s!important}
  #imn-overlay .imn-close:focus-visible, #imn-overlay .imn-expand:focus-visible, #imn-overlay .imn-link:focus-visible, #imn-overlay .imn-view-all:focus-visible {outline:2px solid #559fc0;outline-offset:-2px}
  #imn-overlay .imn-scroll{
    overflow-y:auto;
    overflow-x:hidden;
    flex:1 1 auto;
    min-height:0;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:19px 14px 104px;
    scrollbar-width:thin;
  }
  #imn-overlay .imn-overline {
    font-weight:700;
    color:#7c878f;
    text-transform:uppercase;
    letter-spacing:.115em;
    font-size:11px;
    padding:0 13px 10px;
  }
  #imn-overlay .imn-navigation {border:1px solid #eef0f3;border-radius:15px;overflow:hidden;box-shadow:0 6px 22px rgba(22,41,63,.035)}
  #imn-overlay ul.imn-list {margin:0!important;padding:0!important;list-style:none!important;width:100%!important;float:none!important;background:transparent!important;position:static!important}
  #imn-overlay .imn-item {display:block!important;float:none!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important;background:none!important}
  #imn-overlay .imn-row {display:block;width:100%;border-bottom:1px solid #eef0f3}
  #imn-overlay .imn-item:last-child > .imn-row {border-bottom:0}
  #imn-overlay .imn-link,#imn-overlay .imn-expand {
    display:flex!important;align-items:center;justify-content:space-between;
    gap:12px;width:100%;min-height:51px;
    border:0!important;background:#fff!important;
    color:#253139!important;
    text-decoration:none!important;
    padding:12px 15px!important;
    text-align:left;font-family:"Didact Gothic",Arial,sans-serif!important;font-size:17px!important;font-weight:400!important;line-height:1.45!important;
    letter-spacing:0;
    cursor:pointer;
  }
  #imn-overlay .imn-link:hover,#imn-overlay .imn-expand:hover {background:#f7f9fb!important}
  #imn-overlay .imn-expand .imn-name {flex:1;min-width:0}
  #imn-overlay .imn-chevron {color:#7f8b93;transition:transform .21s ease;flex:none}
  #imn-overlay .imn-expanded > .imn-row > .imn-expand .imn-chevron {transform:rotate(180deg);color:#539cb8}
  #imn-overlay .imn-expanded > .imn-row > .imn-expand {font-weight:600!important;color:#20292e!important}
  #imn-overlay .imn-branch > ul.imn-list {display:none!important}
  #imn-overlay .imn-branch.imn-expanded > ul.imn-list {display:block!important;animation:imn-reveal .25s ease-out}
  @keyframes imn-reveal {from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
  #imn-overlay .imn-level-1 {background:#f3f6f7!important}
  #imn-overlay .imn-level-2 {background:#eaf1f4!important}
  #imn-overlay .imn-level-3 {background:#e1edf2!important}
  #imn-overlay .imn-level-1 .imn-link,#imn-overlay .imn-level-1 .imn-expand {background:#f3f6f7!important;padding-left:25px!important;font-size:15.5px!important;min-height:46px}
  #imn-overlay .imn-level-2 .imn-link,#imn-overlay .imn-level-2 .imn-expand {background:#eaf1f4!important;padding-left:36px!important;font-size:15px!important;min-height:44px}
  #imn-overlay .imn-level-3 .imn-link,#imn-overlay .imn-level-3 .imn-expand {background:#e1edf2!important;padding-left:42px!important;font-size:14.5px!important;min-height:44px}
  #imn-overlay .imn-view-all-li {padding:0!important;margin:0!important}
  #imn-overlay .imn-view-all {display:block!important;padding:12px 16px 12px 25px!important;font-size:14px!important;color:#287b97!important;font-weight:500!important;text-decoration:none!important;border-bottom:1px solid #e2e9eb!important}
  #imn-overlay .imn-level-2 .imn-view-all{padding-left:36px!important}
  #imn-overlay .imn-bottom {padding:20px 12px 0;text-align:center}
  #imn-overlay .imn-follow {margin:0 0 11px!important;color:#77858d!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important}
  #imn-overlay .imn-social {display:flex;align-items:center;justify-content:center;gap:12px}
  /* Iconos de redes con el MISMO flujo cromático de la linea superior.
     El degradado se usa como borde fino, no como relleno intenso. */
  #imn-overlay .imn-social-button {
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;
    border-radius:13px;
    border:2px solid transparent !important;
    background:
      linear-gradient(#f9fafb,#f9fafb) padding-box,
      linear-gradient(100deg,#c95520 0%,#edba32 24%,#60aa51 49%,#559fb8 74%,#cc3585 100%) border-box;
    background-size:100% 100%,220% 100%;
    color:#303e44!important;
    text-decoration:none;
    box-shadow:0 3px 10px rgba(27,52,63,.07);
    animation:imn-social-shimmer 6s ease-in-out infinite alternate,imn-social-float 4.6s ease-in-out infinite;
    transition:box-shadow .22s ease,transform .22s ease;
  }
  #imn-overlay .imn-social-button:nth-child(2){animation-delay:-2s,-2.1s}
  #imn-overlay .imn-social-button svg{display:block;flex:none;width:20px;height:20px}
  #imn-overlay .imn-social-button:hover,
  #imn-overlay .imn-social-button:focus-visible {
    color:#1b3845!important;
    box-shadow:0 5px 18px rgba(39,142,175,.18);
    animation-play-state:paused;
    transform:translateY(-2px);
  }
  @keyframes imn-social-shimmer {from{background-position:0 0,0% 50%}to{background-position:0 0,100% 50%}}
  @keyframes imn-social-float {0%,100%{translate:0 0}50%{translate:0 -2px}}


  /* WhatsApp remains visibly ABOVE the new full-screen menu and stays clickable. */
  body.imn-open .wws-popup-container,
  body.imn-open #wws-layout-6 {z-index:2147483500!important;visibility:visible!important;pointer-events:auto!important}
}
@media screen and (max-width: 767px) {
  #Top_bar a#logo img.logo-main{max-width:min(190px,calc(100vw - 105px))!important}
}
@media (prefers-reduced-motion: reduce) {
  #imn-overlay,#imn-overlay *{animation:none!important;transition:none!important}
  #Top_bar .imn-prism-line{animation:none!important;transition:none!important}
}

@media screen and (max-width:1239px) {
 #imn-overlay .imn-top>.imn-brand {min-width:0!important;display:flex!important;align-items:center!important;flex:1 1 auto!important;}
 #imn-overlay .imn-top>.imn-brand>.imn-brand-image {display:block!important;opacity:1!important;visibility:visible!important;position:static!important;float:none!important;}
}

@media (prefers-reduced-motion:reduce) {
 #imn-overlay .imn-close-symbol>span{animation:none!important;}
 #imn-overlay .imn-close{transition:none!important;}
}

/* IMPRESTAR 1.0.8 — CABECERA COMPACTA SIN SALTOS
   Sustituye SOLO la imagen del encabezado en el rango móvil.
   Mantiene logo real de WordPress en el escritorio y navegación original. */
@media screen and (max-width:1239px) {
  html {scroll-padding-top:72px;}
  #Header_wrapper #Header {
    min-height:64px!important;
    height:64px!important;
  }
  #Header_wrapper #Top_bar,
  #Header_wrapper #Top_bar.is-sticky {
    position:fixed!important;
    inset:0 0 auto 0!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    min-height:64px!important;
    height:64px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid #e9ebed!important;
    background:#fff!important;
    background-image:none!important;
    box-shadow:0 2px 9px rgba(18,38,52,.075)!important;
    z-index:100000!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
    box-sizing:border-box!important;
  }
  #Header_wrapper #Top_bar > .container,
  #Header_wrapper #Top_bar > .container > .column.one {
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    box-sizing:border-box!important;
  }
  #Header_wrapper #Top_bar .top_bar_left {
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:64px!important;
    height:64px!important;
    max-height:64px!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    box-sizing:border-box!important;
  }
  /* Anclaje absoluto: evita sumar márgenes de BeTheme al ajuste del logo. */
  #Header_wrapper #Top_bar .logo {
    position:absolute!important;
    top:0!important;
    bottom:auto!important;
    left:calc(14px + var(--imn-logo-offset, -6px))!important;
    right:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    float:none!important;
    flex:none!important;
    width:176px!important;
    max-width:calc(100vw - 100px)!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  #Header_wrapper #Top_bar .logo a#logo,
  #Header_wrapper #Top_bar a#logo {
    position:relative!important;
    display:block!important;
    width:176px!important;
    max-width:calc(100vw - 100px)!important;
    min-width:0!important;
    height:45px!important;
    max-height:45px!important;
    min-height:45px!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    box-sizing:border-box!important;
    background:none!important;
    box-shadow:none!important;
    flex:0 1 auto!important;
  }
  /* Todas las cuatro variantes de BeTheme llevan placeholder 1x1 de Smush.
     No depender de ellas en la cabecera móvil elimina el cambio de tamaño. */
  #Header_wrapper #Top_bar a#logo > img,
  #Header_wrapper #Top_bar a#logo > img.lazyload,
  #Header_wrapper #Top_bar a#logo > img.lazyloaded {
    display:none!important;
  }
  #Header_wrapper #Top_bar a#logo::before {
    content:""!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    background-image:url('logo-imprestar.png')!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:left center!important;
    opacity:1!important;
  }
  #Header_wrapper #Top_bar a.responsive-menu-toggle,
  #Header_wrapper #Top_bar.is-sticky a.responsive-menu-toggle {
    position:absolute!important;
    top:50%!important;
    bottom:auto!important;
    right:13px!important;
    left:auto!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:7px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:translateY(-50%)!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:99!important;
    float:none!important;
  }
  #Header_wrapper #Top_bar a.responsive-menu-toggle>.imn-prism-bars {
    width:30px!important;
    height:23px!important;
  }
  #Content [id],#Subheader [id]{scroll-margin-top:72px;}
}
@media screen and (min-width:783px) and (max-width:1239px) {
  body.admin-bar #Header_wrapper #Top_bar {top:32px!important;}
}
@media screen and (max-width:782px) {
  body.admin-bar #Header_wrapper #Top_bar {top:46px!important;}
}

/* v1.0.9: Compacidad del panel ABIERTO, no modifica #Top_bar ni WhatsApp. */
@media screen and (max-width:1239px) {
  #imn-overlay .imn-top>.imn-brand>.imn-brand-image {
    width:176px !important;
    max-width:100% !important;
    height:45px !important;
    max-height:45px !important;
    object-fit:contain !important;
  }
}
