/* Menú siempre por encima */
#menu {
  position: relative !important;
  z-index: 2147483646 !important;
  overflow: visible !important;
}
#menu li { position: relative !important; }
#menu li ul {
  position: absolute !important;
  z-index: 2147483647 !important;
  display: none;
}
#menu li:hover > ul { display: block !important; }

/* Bajar el stacking del slider Nivo para que no tape el submenú */
#nivo-slider,
.nivoSlider {
  position: relative !important;
  z-index: 0 !important;
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
  perspective: none !important;
}

/* Elementos internos del Nivo que suelen tener z-index alto */
.nivo-slice,
.nivo-box,
.nivo-caption,
.nivo-directionNav a,
.nivo-controlNav a,
.nivo-controlNav a.active {
  z-index: 1 !important; /* por debajo del menú */
}

/* Nunca elevar el contenido general por encima del menú */
#contenedor,
.wrapper,
#main,
.row,
.col {
  overflow: visible !important;
  z-index: auto !important;
}

/* Persistencia de hover al pasar al submenú (evitar desaparición por gap) */
#menu li { position: relative !important; }
#menu li > a { display: block; } /* asegura área continua de hover sobre el padre */

/* El submenú aparece tanto si está activo el li como si se está sobre el ul */
#menu li:hover > ul,
#menu li ul:hover { display: block !important; }

/* Posicionar el submenú pegado al padre y sin “huecos” */
#menu li > ul {
  position: absolute !important;
  top: 100% !important;   /* justo debajo del item padre */
  left: 0 !important;
  z-index: 10000 !important;
  margin-top: -1px;       /* elimina micro huecos entre padre y submenu */
  padding-top: 1px;       /* mantiene continuidad del hover */
}


/* Elevar jerarquía del menú por encima del slider */
#arriba { position: relative !important; z-index: 9998 !important; }
#h-interior { position: relative !important; z-index: 9999 !important; }
#menu { position: relative !important; z-index: 10000 !important; }
#menu li { position: relative !important; }
#menu li ul {
  position: absolute !important;
  z-index: 10001 !important;
  display: none;
}
#menu li:hover > ul,
#menu li ul:hover { display: block !important; }

/* Bajar solo el stacking del slider Nivo y sus capas de UI */
.nivo-slider-wrapper,
#nivo-slider,
.nivoSlider {
  position: relative !important;
  z-index: 0 !important;
}
.nivo-caption,
.nivo-directionNav a,
.nivo-controlNav a,
.nivo-controlNav a.active,
.nivo-slice,
.nivo-box {
  z-index: 1 !important; /* siempre por debajo del menú */
}

/* Eliminar hueco superior inicial */
html, body { margin:0; padding:0; }

/* Evita margen colapsado del primer hijo del body */
body > *:first-child { margin-top: 0 !important; }

/* Header y wrappers sin margen superior */
#arriba, #h-interior, #contenedor, .wrapper { margin-top: 0 !important; }

/* Si algún bloque de héroe/slider trae margen superior, anularlo */
.nivo-slider-wrapper, .nivoSlider { margin-top: 0 !important; }

/* Por si un aviso de cookies estuviera reservando espacio arriba */
#cookies, #cookie-bar, #cookies-warning, .cookies-warning {
  position: fixed !important;
  top: auto !important;
  bottom: 0 !important;
  width: 100%;
  margin: 0 !important;
}
body, #pp-mieres { padding-top: 0 !important; }